wee 0.9.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +36 -0
- data/Rakefile +11 -0
- data/examples/og-test.rb +17 -8
- data/examples/test.rb +1 -1
- data/lib/wee.rb +2 -2
- data/lib/wee/adaptors/nitro.rb +2 -2
- data/lib/wee/adaptors/rails.rb +2 -2
- data/lib/wee/application.rb +2 -2
- data/lib/wee/databases/og/scaffolder.rb +59 -21
- data/lib/wee/idgen/{simple.rb → sequential.rb} +1 -1
- data/lib/wee/pageless/session.rb +1 -1
- data/lib/wee/renderer/html/brushes.rb +115 -85
- data/lib/wee/renderer/html/canvas.rb +4 -0
- data/lib/wee/session.rb +2 -2
- metadata +89 -92
- data/lib/wee/page.rb +0 -1
data/ChangeLog
CHANGED
@@ -1,3 +1,39 @@
|
|
1
|
+
Mon Jul 25 16:56:53 CEST 2005 Michael Neumann <mneumann@ntecs.de>
|
2
|
+
|
3
|
+
* lib/wee/databases/og/scaffolder.rb: Now works again with Og >= 0.21.0.
|
4
|
+
Enhanced for password input fields and for validation.
|
5
|
+
|
6
|
+
* lib/wee/renderer/html/brushes.rb, lib/wee/renderer/html/canvas.rb:
|
7
|
+
|
8
|
+
- Fixed bug in SelectListTag#selected where you could not pre-select
|
9
|
+
from [true, false] the false item.
|
10
|
+
- Added class PasswordInputTag and method HtmlCanvasRenderer#password_input
|
11
|
+
|
12
|
+
* examples/og-test.rb: Works now with 0g 0.21.0. Enhanced.
|
13
|
+
|
14
|
+
* lib/wee.rb: Version 0.10.0
|
15
|
+
|
16
|
+
Mon Jul 25 14:59:14 CEST 2005 Michael Neumann <mneumann@ntecs.de>
|
17
|
+
|
18
|
+
* lib/wee/renderer/html/brushes.rb:
|
19
|
+
|
20
|
+
- Refactored method html_attr (removed bool_attr) and all classes that use it.
|
21
|
+
|
22
|
+
- removed methods GenericTagBrush#css_class_for and ImageTag#src_for.
|
23
|
+
|
24
|
+
Tue Jul 19 15:57:51 CEST 2005 Michael Neumann <mneumann@ntecs.de>
|
25
|
+
|
26
|
+
* lib/wee/session.rb, lib/wee/idgen/simple.rb, lib/wee/pageless/session.rb,
|
27
|
+
lib/wee/application.rb, lib/wee/renderer/html/brushes.rb,
|
28
|
+
lib/wee/adaptors/rails.rb, lib/wee/adaptors/nitro.rb, lib/wee.rb,
|
29
|
+
examples/test.rb:
|
30
|
+
Renamed Wee::SimpleIdGenerator to Wee::SequentialIdGenerator.
|
31
|
+
|
32
|
+
* lib/wee/page.rb: removed as it is not used anymore (we have
|
33
|
+
wee/core/page.rb instead).
|
34
|
+
|
35
|
+
* Rakefile: added target 'tag'
|
36
|
+
|
1
37
|
--------------------------------------------------------------------
|
2
38
|
TAGGED 0.9.1
|
3
39
|
--------------------------------------------------------------------
|
data/Rakefile
CHANGED
@@ -30,6 +30,17 @@ task :install do
|
|
30
30
|
ruby 'install.rb'
|
31
31
|
end
|
32
32
|
|
33
|
+
task :tag do
|
34
|
+
if File.read('lib/wee.rb') =~ /Version\s+=\s+"(\d+\.\d+\.\d+)"/
|
35
|
+
version = $1
|
36
|
+
else
|
37
|
+
raise "no version"
|
38
|
+
end
|
39
|
+
baseurl = "svn+ssh://ntecs.de/data/projects/svn/public/Wee"
|
40
|
+
|
41
|
+
sh "svn cp -m 'tagged #{ version }' #{ baseurl }/trunk #{ baseurl }/tags/wee-#{ version }"
|
42
|
+
end
|
43
|
+
|
33
44
|
task :clean => [:clobber_rdoc]
|
34
45
|
|
35
46
|
task :default => [:test, :rdoc, :clean]
|
data/examples/og-test.rb
CHANGED
@@ -2,12 +2,20 @@
|
|
2
2
|
# The datamodel
|
3
3
|
# -----------------------------------------
|
4
4
|
|
5
|
-
require '
|
5
|
+
require 'rubygems'
|
6
|
+
require_gem 'og', '>= 0.21.0'
|
6
7
|
|
7
|
-
class Customer
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
class Customer < Og::Entity
|
9
|
+
property :address, String, :sql => 'VARCHAR(100) NOT NULL'
|
10
|
+
property :email, String, :sql => 'VARCHAR(50) NOT NULL'
|
11
|
+
property :password, String, :sql => 'VARCHAR(10) NOT NULL', :ui => :password
|
12
|
+
|
13
|
+
property :birth_date, Date, :label => 'Date of Birth'
|
14
|
+
property :active, TrueClass
|
15
|
+
|
16
|
+
validate_value :address
|
17
|
+
validate_value :email
|
18
|
+
validate_value :password
|
11
19
|
end
|
12
20
|
|
13
21
|
# -----------------------------------------
|
@@ -38,14 +46,15 @@ if __FILE__ == $0
|
|
38
46
|
|
39
47
|
DB_CONFIG = {
|
40
48
|
:address => "localhost",
|
41
|
-
:
|
42
|
-
:
|
49
|
+
:name => "mneumann",
|
50
|
+
:store => "psql",
|
43
51
|
:user => "mneumann",
|
44
52
|
:password => "",
|
53
|
+
#:destroy => true,
|
45
54
|
:connection_count => 10
|
46
55
|
}
|
47
56
|
|
48
57
|
app = Wee::Utils.app_for(CustomerList, :application => OgApplication, :session => OgSession)
|
49
|
-
app.db = Og
|
58
|
+
app.db = Og.setup(DB_CONFIG)
|
50
59
|
Wee::WEBrickAdaptor.register('/app' => app).start
|
51
60
|
end
|
data/examples/test.rb
CHANGED
@@ -32,7 +32,7 @@ if __FILE__ == $0
|
|
32
32
|
require 'wee/adaptors/webrick'
|
33
33
|
app = Wee::Application.new {|app|
|
34
34
|
app.default_request_handler { MySession.new }
|
35
|
-
app.id_generator = Wee::
|
35
|
+
app.id_generator = Wee::SequentialIdGenerator.new(rand(1_000_000))
|
36
36
|
app.max_request_handlers = 2
|
37
37
|
}
|
38
38
|
Wee::WEBrickAdaptor.register('/app' => app).start
|
data/lib/wee.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Wee
|
2
|
-
Version = "0.
|
2
|
+
Version = "0.10.0"
|
3
3
|
LibPath = File.dirname(__FILE__)
|
4
4
|
end
|
5
5
|
|
@@ -24,7 +24,7 @@ require 'wee/renderer/html/brushes'
|
|
24
24
|
require 'wee/renderer/html/canvas'
|
25
25
|
Wee::DefaultRenderer = Wee::HtmlCanvasRenderer
|
26
26
|
|
27
|
-
require 'wee/idgen/
|
27
|
+
require 'wee/idgen/sequential'
|
28
28
|
require 'wee/idgen/md5'
|
29
29
|
|
30
30
|
def Wee.run(component, add_page_decoration=true, mount_path='/app')
|
data/lib/wee/adaptors/nitro.rb
CHANGED
@@ -105,7 +105,7 @@ module Wee::Nitro
|
|
105
105
|
if components.has_key?(name)
|
106
106
|
raise "disallowed to overwrite component #{ name }"
|
107
107
|
else
|
108
|
-
components[name] = Wee::PagelessComponentDriver.new(obj, Wee::CallbackRegistry.new(Wee::
|
108
|
+
components[name] = Wee::PagelessComponentDriver.new(obj, Wee::CallbackRegistry.new(Wee::SequentialIdGenerator.new))
|
109
109
|
end
|
110
110
|
end
|
111
111
|
|
@@ -122,7 +122,7 @@ module Wee::Nitro
|
|
122
122
|
end
|
123
123
|
|
124
124
|
def _show_component(name, hash={}, out='')
|
125
|
-
cb = Wee::CallbackRegistry.new(Wee::
|
125
|
+
cb = Wee::CallbackRegistry.new(Wee::SequentialIdGenerator.new)
|
126
126
|
rctx = Wee::RenderingContext.new(context(), cb, Wee::HtmlWriter.new(out))
|
127
127
|
rctx.component_name = name
|
128
128
|
rctx.controller = self
|
data/lib/wee/adaptors/rails.rb
CHANGED
@@ -98,7 +98,7 @@ module Wee::Rails
|
|
98
98
|
if components.has_key?(name)
|
99
99
|
raise "disallowed to overwrite component #{ name }"
|
100
100
|
else
|
101
|
-
components[name] = Wee::PagelessComponentDriver.new(obj, Wee::CallbackRegistry.new(Wee::
|
101
|
+
components[name] = Wee::PagelessComponentDriver.new(obj, Wee::CallbackRegistry.new(Wee::SequentialIdGenerator.new))
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
@@ -115,7 +115,7 @@ module Wee::Rails
|
|
115
115
|
end
|
116
116
|
|
117
117
|
def _show_component(name, hash={}, out='')
|
118
|
-
cb = Wee::CallbackRegistry.new(Wee::
|
118
|
+
cb = Wee::CallbackRegistry.new(Wee::SequentialIdGenerator.new)
|
119
119
|
ctx = Wee::Context.new(@request, @response, @session)
|
120
120
|
rctx = Wee::RenderingContext.new(ctx, cb, Wee::HtmlWriter.new(out))
|
121
121
|
rctx.component_name = name
|
data/lib/wee/application.rb
CHANGED
@@ -27,14 +27,14 @@ class Wee::Application
|
|
27
27
|
#
|
28
28
|
# Wee::Application.new {|app|
|
29
29
|
# app.default_request_handler { MySession.new }
|
30
|
-
# app.id_generator = Wee::
|
30
|
+
# app.id_generator = Wee::SequentialIdGenerator.new
|
31
31
|
# app.max_request_handlers = 1000
|
32
32
|
# }
|
33
33
|
|
34
34
|
def initialize(&block)
|
35
35
|
@request_handlers = Hash.new
|
36
36
|
block.call(self)
|
37
|
-
@id_generator ||= Wee::
|
37
|
+
@id_generator ||= Wee::SequentialIdGenerator.new(rand(1_000_000))
|
38
38
|
if @default_request_handler.nil?
|
39
39
|
raise ArgumentError, "No default request handler specified"
|
40
40
|
end
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# This is a Rails-like scaffolder for use with Og
|
2
|
-
#
|
1
|
+
# This is a Rails-like scaffolder for use with Og >= 0.21.0
|
2
|
+
# (http://navel.gr/nitro).
|
3
3
|
|
4
4
|
class OgScaffolder < Wee::Component
|
5
5
|
def initialize(domain_class)
|
6
6
|
super()
|
7
7
|
@domain_class = domain_class
|
8
|
-
@props = @domain_class.__props.reject {|a| a.name == 'oid'}
|
9
8
|
end
|
10
9
|
|
11
10
|
def render
|
@@ -21,7 +20,7 @@ class OgScaffolder < Wee::Component
|
|
21
20
|
|
22
21
|
def render_header
|
23
22
|
r.table_row.with {
|
24
|
-
|
23
|
+
each_property {|prop|
|
25
24
|
render_property_header(prop)
|
26
25
|
}
|
27
26
|
render_action_header
|
@@ -35,7 +34,7 @@ class OgScaffolder < Wee::Component
|
|
35
34
|
|
36
35
|
def render_property_header(prop)
|
37
36
|
r.table_header.with {
|
38
|
-
r.bold(prop.
|
37
|
+
r.bold(prop.meta[:label] || prop.symbol.to_s.capitalize)
|
39
38
|
}
|
40
39
|
end
|
41
40
|
|
@@ -45,7 +44,7 @@ class OgScaffolder < Wee::Component
|
|
45
44
|
|
46
45
|
def render_object(obj)
|
47
46
|
r.table_row {
|
48
|
-
|
47
|
+
each_property {|prop| render_property(obj, prop) }
|
49
48
|
render_action(obj)
|
50
49
|
}
|
51
50
|
end
|
@@ -59,7 +58,7 @@ class OgScaffolder < Wee::Component
|
|
59
58
|
end
|
60
59
|
|
61
60
|
def render_property(obj, prop)
|
62
|
-
r.table_data(obj.send(prop.
|
61
|
+
r.table_data(obj.send(prop.symbol).to_s)
|
63
62
|
end
|
64
63
|
|
65
64
|
def edit(obj)
|
@@ -76,7 +75,7 @@ class OgScaffolder < Wee::Component
|
|
76
75
|
end
|
77
76
|
|
78
77
|
def confirm_destroy(obj, confirmed)
|
79
|
-
obj.delete
|
78
|
+
obj.delete if confirmed
|
80
79
|
end
|
81
80
|
|
82
81
|
def domain_objects
|
@@ -90,6 +89,15 @@ class OgScaffolder < Wee::Component
|
|
90
89
|
def editor_for(obj)
|
91
90
|
editor_class.new(obj).add_decoration(Wee::FormDecoration.new)
|
92
91
|
end
|
92
|
+
|
93
|
+
protected
|
94
|
+
|
95
|
+
def each_property
|
96
|
+
@domain_class.properties.each {|prop|
|
97
|
+
yield prop if prop.symbol != :oid
|
98
|
+
}
|
99
|
+
end
|
100
|
+
|
93
101
|
end
|
94
102
|
|
95
103
|
class OgScaffolder::Editor < Wee::Component
|
@@ -97,15 +105,15 @@ class OgScaffolder::Editor < Wee::Component
|
|
97
105
|
def initialize(domain_object)
|
98
106
|
super()
|
99
107
|
@domain_object = domain_object
|
108
|
+
@errors = nil
|
100
109
|
end
|
101
110
|
|
102
111
|
def render
|
103
112
|
render_header
|
113
|
+
render_errors if @errors
|
104
114
|
each_property {|prop|
|
105
|
-
|
106
|
-
|
107
|
-
render_property(prop)
|
108
|
-
end
|
115
|
+
render_label(prop)
|
116
|
+
render_property(prop)
|
109
117
|
}
|
110
118
|
render_buttons
|
111
119
|
end
|
@@ -121,12 +129,27 @@ class OgScaffolder::Editor < Wee::Component
|
|
121
129
|
r.h1 "#{ action } #{ @domain_object.class }"
|
122
130
|
end
|
123
131
|
|
132
|
+
def render_errors
|
133
|
+
r.paragraph
|
134
|
+
r.h2 "Errors"
|
135
|
+
if @errors == :validation
|
136
|
+
r.ul {
|
137
|
+
@domain_object.errors.each do |sym, msg|
|
138
|
+
r.li("#{ sym }: #{ msg }")
|
139
|
+
end
|
140
|
+
}
|
141
|
+
else
|
142
|
+
r.text("Unexpected error occured")
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
124
146
|
def render_property(prop)
|
125
147
|
if prop.klass.ancestors.include?(Numeric)
|
126
148
|
render_numeric(prop)
|
127
149
|
elsif prop.klass.ancestors.include?(String)
|
128
150
|
render_string(prop)
|
129
|
-
elsif prop.klass.ancestors.include?(TrueClass)
|
151
|
+
elsif prop.klass.ancestors.include?(TrueClass) or
|
152
|
+
prop.klass.ancestors.include?(FalseClass)
|
130
153
|
render_bool(prop)
|
131
154
|
elsif prop.klass.ancestors.include?(Date)
|
132
155
|
render_date(prop)
|
@@ -138,8 +161,11 @@ class OgScaffolder::Editor < Wee::Component
|
|
138
161
|
end
|
139
162
|
|
140
163
|
def render_string(prop)
|
141
|
-
|
164
|
+
case prop.meta[:ui]
|
165
|
+
when :textarea
|
142
166
|
r.text_area.callback(:set_value_of, prop).with(get_value_of(prop))
|
167
|
+
when :password
|
168
|
+
r.password_input.value(get_value_of(prop)).callback(:set_value_of, prop)
|
143
169
|
else
|
144
170
|
r.text_input.value(get_value_of(prop)).callback(:set_value_of, prop)
|
145
171
|
end
|
@@ -148,7 +174,7 @@ class OgScaffolder::Editor < Wee::Component
|
|
148
174
|
def render_bool(prop)
|
149
175
|
selected = get_value_of(prop) ? true : false
|
150
176
|
r.select_list([true, false]).labels(["Yes", "No"]).selected(selected).
|
151
|
-
callback
|
177
|
+
callback(:set_value_of, prop)
|
152
178
|
end
|
153
179
|
|
154
180
|
require 'date'
|
@@ -173,19 +199,31 @@ class OgScaffolder::Editor < Wee::Component
|
|
173
199
|
|
174
200
|
def render_label(prop)
|
175
201
|
r.paragraph
|
176
|
-
r.text prop.
|
202
|
+
r.text(prop.meta[:label] || prop.symbol.to_s.capitalize)
|
177
203
|
r.break
|
178
204
|
end
|
179
205
|
|
180
|
-
|
206
|
+
protected
|
181
207
|
|
182
|
-
def each_property
|
183
|
-
@domain_object.class.
|
208
|
+
def each_property
|
209
|
+
@domain_object.class.properties.each {|prop|
|
210
|
+
yield prop if prop.symbol != :oid
|
211
|
+
}
|
184
212
|
end
|
185
213
|
|
186
214
|
def save
|
187
|
-
@domain_object.
|
188
|
-
|
215
|
+
if @domain_object.valid?
|
216
|
+
begin
|
217
|
+
@domain_object.save
|
218
|
+
@errors = nil
|
219
|
+
rescue => err
|
220
|
+
@errors = err
|
221
|
+
end
|
222
|
+
else
|
223
|
+
@errors = :validation
|
224
|
+
end
|
225
|
+
|
226
|
+
answer @domain_object if @errors.nil?
|
189
227
|
end
|
190
228
|
|
191
229
|
def cancel
|
data/lib/wee/pageless/session.rb
CHANGED
@@ -34,7 +34,7 @@ class Wee::PagelessSession < Wee::Session
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def handle_render_phase
|
37
|
-
new_callbacks = Wee::CallbackRegistry.new(Wee::
|
37
|
+
new_callbacks = Wee::CallbackRegistry.new(Wee::SequentialIdGenerator.new)
|
38
38
|
respond(@context, new_callbacks) # render
|
39
39
|
self.callbacks = new_callbacks
|
40
40
|
end
|
@@ -19,7 +19,9 @@ class Brush
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
class Brush
|
22
|
+
class Brush
|
23
|
+
|
24
|
+
class GenericTextBrush < Brush
|
23
25
|
def initialize(text)
|
24
26
|
super()
|
25
27
|
@text = text
|
@@ -33,7 +35,7 @@ class Brush::GenericTextBrush < Brush
|
|
33
35
|
end
|
34
36
|
end
|
35
37
|
|
36
|
-
class
|
38
|
+
class GenericEncodedTextBrush < Brush
|
37
39
|
def initialize(text)
|
38
40
|
super()
|
39
41
|
@text = text
|
@@ -47,36 +49,53 @@ class Brush::GenericEncodedTextBrush < Brush
|
|
47
49
|
end
|
48
50
|
end
|
49
51
|
|
50
|
-
class
|
52
|
+
class GenericTagBrush < Brush
|
51
53
|
|
52
54
|
class << self
|
53
55
|
private
|
54
56
|
|
55
|
-
|
56
|
-
|
57
|
+
def html_attr(attr, hash={})
|
58
|
+
name = hash[:html_name] || attr
|
59
|
+
|
60
|
+
case hash[:type]
|
61
|
+
when :bool
|
57
62
|
class_eval "
|
58
|
-
def #{
|
63
|
+
def #{ attr }(bool=true)
|
59
64
|
if bool
|
60
|
-
@attributes['#{
|
65
|
+
@attributes['#{ name }'] = nil
|
61
66
|
else
|
62
|
-
@attributes.delete('#{
|
67
|
+
@attributes.delete('#{ name }')
|
63
68
|
end
|
64
69
|
self
|
65
70
|
end
|
66
71
|
"
|
67
|
-
|
68
|
-
end
|
69
|
-
|
70
|
-
def html_attr(*attrs)
|
71
|
-
attrs.each { |a|
|
72
|
+
else
|
72
73
|
class_eval "
|
73
|
-
def #{
|
74
|
-
|
74
|
+
def #{ attr }(value)
|
75
|
+
if value == nil
|
76
|
+
@attributes.delete('#{ name }')
|
77
|
+
else
|
78
|
+
@attributes['#{ name }'] = value.to_s
|
79
|
+
end
|
80
|
+
self
|
75
81
|
end
|
76
82
|
"
|
77
|
-
|
78
|
-
end
|
83
|
+
end
|
79
84
|
|
85
|
+
if hash[:aliases]
|
86
|
+
hash[:aliases].each do |a|
|
87
|
+
class_eval "alias #{ a } #{ attr }"
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
if hash[:shortcuts]
|
92
|
+
hash[:shortcuts].each_pair do |k,v|
|
93
|
+
class_eval "
|
94
|
+
def #{ k }() #{ attr }(#{ v.inspect }) end
|
95
|
+
"
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
80
99
|
end
|
81
100
|
|
82
101
|
private
|
@@ -139,11 +158,9 @@ class Brush::GenericTagBrush < Brush
|
|
139
158
|
@attributes = Hash.new
|
140
159
|
end
|
141
160
|
|
142
|
-
html_attr
|
143
|
-
|
144
|
-
|
145
|
-
html_attr("class", c)
|
146
|
-
end
|
161
|
+
html_attr 'type'
|
162
|
+
html_attr 'id'
|
163
|
+
html_attr 'css_class', :html_name => 'class'
|
147
164
|
|
148
165
|
def onclick_callback(symbol=nil, *args, &block)
|
149
166
|
raise ArgumentError if symbol and block
|
@@ -157,15 +174,6 @@ class Brush::GenericTagBrush < Brush
|
|
157
174
|
onclick("javascript: new Ajax.Updater('#{ update_id }', '#{ url }', {method:'get'}); return false;")
|
158
175
|
end
|
159
176
|
|
160
|
-
# This method construct the css-class attribute by looking up the property
|
161
|
-
# from the current component.
|
162
|
-
|
163
|
-
def css_class_for(prop)
|
164
|
-
val = @canvas.current_component.lookup_property(prop)
|
165
|
-
raise "no property found for: <#{ prop }>" if val.nil?
|
166
|
-
css_class(val)
|
167
|
-
end
|
168
|
-
|
169
177
|
def with(text=nil, &block)
|
170
178
|
doc = @canvas.document
|
171
179
|
if @is_single_tag
|
@@ -186,26 +194,17 @@ class Brush::GenericTagBrush < Brush
|
|
186
194
|
end
|
187
195
|
end
|
188
196
|
|
189
|
-
class
|
197
|
+
class GenericSingleTagBrush < GenericTagBrush
|
190
198
|
def initialize(tag)
|
191
199
|
super(tag, true)
|
192
200
|
end
|
193
201
|
end
|
194
202
|
|
195
|
-
class
|
196
|
-
html_attr
|
197
|
-
|
198
|
-
# This method construct the src attribute by looking up the property from the
|
199
|
-
# current component.
|
200
|
-
|
201
|
-
def src_for(prop)
|
202
|
-
val = @canvas.current_component.lookup_property(prop)
|
203
|
-
raise "no property found for: <#{ prop }>" if val.nil?
|
204
|
-
src(val)
|
205
|
-
end
|
203
|
+
class ImageTag < GenericSingleTagBrush
|
204
|
+
html_attr 'src'
|
206
205
|
|
207
206
|
def initialize
|
208
|
-
super(
|
207
|
+
super('img')
|
209
208
|
end
|
210
209
|
|
211
210
|
def with
|
@@ -213,29 +212,31 @@ class Brush::ImageTag < Brush::GenericSingleTagBrush
|
|
213
212
|
end
|
214
213
|
end
|
215
214
|
|
216
|
-
class
|
217
|
-
html_attr
|
215
|
+
class JavascriptTag < GenericTagBrush
|
216
|
+
html_attr 'src'
|
217
|
+
html_attr 'type'
|
218
218
|
|
219
219
|
def initialize
|
220
|
-
super(
|
221
|
-
type(
|
220
|
+
super('script')
|
221
|
+
type('text/javascript')
|
222
222
|
end
|
223
223
|
end
|
224
224
|
|
225
|
-
class
|
225
|
+
class TableTag < GenericTagBrush
|
226
226
|
def initialize
|
227
227
|
super('table')
|
228
228
|
end
|
229
229
|
end
|
230
230
|
|
231
|
-
class
|
231
|
+
class TableRowTag < GenericTagBrush
|
232
232
|
def initialize
|
233
233
|
super('tr')
|
234
234
|
end
|
235
235
|
|
236
|
-
|
237
|
-
|
238
|
-
|
236
|
+
html_attr 'align', :shortcuts => {
|
237
|
+
:align_top => 'top',
|
238
|
+
:align_bottom => 'bottom'
|
239
|
+
}
|
239
240
|
|
240
241
|
def columns(*cols, &block)
|
241
242
|
with {
|
@@ -278,28 +279,44 @@ class Brush::TableRowTag < Brush::GenericTagBrush
|
|
278
279
|
end
|
279
280
|
end
|
280
281
|
|
281
|
-
class
|
282
|
+
class InputTag < GenericSingleTagBrush
|
282
283
|
def initialize
|
283
284
|
super('input')
|
284
285
|
end
|
285
286
|
|
286
|
-
html_attr
|
287
|
-
|
287
|
+
html_attr 'type'
|
288
|
+
html_attr 'name'
|
289
|
+
html_attr 'value'
|
290
|
+
html_attr 'size'
|
291
|
+
html_attr 'maxlength'
|
292
|
+
html_attr 'src'
|
293
|
+
html_attr 'checked', :type => :bool
|
294
|
+
html_attr 'disabled', :type => :bool
|
295
|
+
html_attr 'readonly', :type => :bool
|
288
296
|
|
289
297
|
def with
|
290
298
|
super
|
291
299
|
end
|
292
300
|
end
|
293
301
|
|
294
|
-
class
|
302
|
+
class TextAreaTag < GenericTagBrush
|
295
303
|
def initialize
|
296
304
|
super('textarea')
|
297
305
|
end
|
298
306
|
|
299
307
|
alias callback __input_callback
|
300
308
|
|
301
|
-
html_attr
|
302
|
-
|
309
|
+
html_attr 'name'
|
310
|
+
html_attr 'rows'
|
311
|
+
html_attr 'cols'
|
312
|
+
html_attr 'tabindex'
|
313
|
+
html_attr 'accesskey'
|
314
|
+
html_attr 'onfocus'
|
315
|
+
html_attr 'onblur'
|
316
|
+
html_attr 'onselect'
|
317
|
+
html_attr 'onchange'
|
318
|
+
html_attr 'disabled', :type => :bool
|
319
|
+
html_attr 'readonly', :type => :bool
|
303
320
|
|
304
321
|
def value(val)
|
305
322
|
@value = val
|
@@ -319,18 +336,19 @@ class Brush::TextAreaTag < Brush::GenericTagBrush
|
|
319
336
|
end
|
320
337
|
end
|
321
338
|
|
322
|
-
class
|
339
|
+
class SelectOptionTag < GenericTagBrush
|
323
340
|
def initialize
|
324
341
|
super('option')
|
325
342
|
end
|
326
343
|
|
327
|
-
|
344
|
+
html_attr 'selected', :type => :bool
|
328
345
|
end
|
329
346
|
|
330
|
-
class
|
347
|
+
class SelectListTag < GenericTagBrush
|
331
348
|
|
332
|
-
|
333
|
-
|
349
|
+
html_attr 'disabled', :type => :bool
|
350
|
+
html_attr 'readonly', :type => :bool
|
351
|
+
html_attr 'multiple', :type => :bool, :aliases => [:multi]
|
334
352
|
|
335
353
|
def initialize(items)
|
336
354
|
super('select')
|
@@ -344,7 +362,7 @@ class Brush::SelectListTag < Brush::GenericTagBrush
|
|
344
362
|
|
345
363
|
def selected(arg=nil, &block)
|
346
364
|
raise if arg and block
|
347
|
-
@selected =
|
365
|
+
@selected = block || arg
|
348
366
|
self
|
349
367
|
end
|
350
368
|
|
@@ -410,7 +428,7 @@ class Brush::SelectListTag < Brush::GenericTagBrush
|
|
410
428
|
end
|
411
429
|
end
|
412
430
|
|
413
|
-
class
|
431
|
+
class HiddenInputTag < InputTag
|
414
432
|
def initialize
|
415
433
|
super
|
416
434
|
type('hidden')
|
@@ -419,7 +437,16 @@ class Brush::HiddenInputTag < Brush::InputTag
|
|
419
437
|
alias callback __input_callback
|
420
438
|
end
|
421
439
|
|
422
|
-
class
|
440
|
+
class PasswordInputTag < InputTag
|
441
|
+
def initialize
|
442
|
+
super
|
443
|
+
type('password')
|
444
|
+
end
|
445
|
+
|
446
|
+
alias callback __input_callback
|
447
|
+
end
|
448
|
+
|
449
|
+
class TextInputTag < InputTag
|
423
450
|
def initialize
|
424
451
|
super
|
425
452
|
type('text')
|
@@ -428,7 +455,7 @@ class Brush::TextInputTag < Brush::InputTag
|
|
428
455
|
alias callback __input_callback
|
429
456
|
end
|
430
457
|
|
431
|
-
class
|
458
|
+
class RadioButtonTag < InputTag
|
432
459
|
def initialize
|
433
460
|
super
|
434
461
|
type('radio')
|
@@ -438,7 +465,7 @@ class Brush::RadioButtonTag < Brush::InputTag
|
|
438
465
|
def initialize(canvas)
|
439
466
|
@name = canvas.register_callback(:input, self)
|
440
467
|
@callbacks = {}
|
441
|
-
@ids = Wee::
|
468
|
+
@ids = Wee::SequentialIdGenerator.new
|
442
469
|
end
|
443
470
|
|
444
471
|
def add_callback(callback)
|
@@ -478,7 +505,7 @@ class Brush::RadioButtonTag < Brush::InputTag
|
|
478
505
|
|
479
506
|
end
|
480
507
|
|
481
|
-
class
|
508
|
+
class CheckboxTag < InputTag
|
482
509
|
def initialize
|
483
510
|
super
|
484
511
|
type('checkbox')
|
@@ -486,7 +513,7 @@ class Brush::CheckboxTag < Wee::Brush::InputTag
|
|
486
513
|
alias callback __input_callback
|
487
514
|
end
|
488
515
|
|
489
|
-
class
|
516
|
+
class FileUploadTag < InputTag
|
490
517
|
def initialize
|
491
518
|
super
|
492
519
|
type('file')
|
@@ -495,7 +522,7 @@ class Brush::FileUploadTag < Brush::InputTag
|
|
495
522
|
alias callback __input_callback
|
496
523
|
end
|
497
524
|
|
498
|
-
class
|
525
|
+
class SubmitButtonTag < InputTag
|
499
526
|
def initialize
|
500
527
|
super
|
501
528
|
type('submit')
|
@@ -511,7 +538,7 @@ end
|
|
511
538
|
# #value method. Note that it's neccessary to parse the passed form-fields and
|
512
539
|
# generate a "name" fields in the request, to make this image-button work.
|
513
540
|
|
514
|
-
class
|
541
|
+
class ImageButtonTag < InputTag
|
515
542
|
def initialize
|
516
543
|
super
|
517
544
|
type('image')
|
@@ -524,29 +551,31 @@ class Brush::ImageButtonTag < Brush::InputTag
|
|
524
551
|
end
|
525
552
|
end
|
526
553
|
|
527
|
-
class
|
554
|
+
class TableDataTag < GenericTagBrush
|
528
555
|
def initialize
|
529
556
|
super('td')
|
530
557
|
end
|
531
558
|
|
532
|
-
|
533
|
-
|
534
|
-
|
559
|
+
html_attr 'align', :shortcuts => {
|
560
|
+
:align_top => 'top',
|
561
|
+
:align_bottom => 'bottom'
|
562
|
+
}
|
535
563
|
end
|
536
564
|
|
537
|
-
class
|
565
|
+
class TableHeaderTag < GenericTagBrush
|
538
566
|
def initialize
|
539
567
|
super('th')
|
540
568
|
end
|
541
569
|
end
|
542
570
|
|
543
|
-
class
|
571
|
+
class FormTag < GenericTagBrush
|
544
572
|
def initialize
|
545
573
|
super('form')
|
546
574
|
@attributes['method'] = 'POST'
|
547
575
|
end
|
548
576
|
|
549
|
-
html_attr
|
577
|
+
html_attr 'action'
|
578
|
+
html_attr 'enctype'
|
550
579
|
|
551
580
|
alias __set_url action
|
552
581
|
alias callback __actionurl_callback
|
@@ -567,14 +596,13 @@ class Brush::FormTag < Brush::GenericTagBrush
|
|
567
596
|
end
|
568
597
|
end
|
569
598
|
|
570
|
-
class
|
599
|
+
class AnchorTag < GenericTagBrush
|
571
600
|
def initialize
|
572
601
|
super('a')
|
573
602
|
end
|
574
603
|
|
575
|
-
html_attr
|
576
|
-
|
577
|
-
alias tooltip title
|
604
|
+
html_attr 'href', :aliases => [:url]
|
605
|
+
html_attr 'title', :aliases => [:tooltip]
|
578
606
|
|
579
607
|
alias __set_url url
|
580
608
|
|
@@ -601,7 +629,7 @@ class Brush::AnchorTag < Brush::GenericTagBrush
|
|
601
629
|
|
602
630
|
end
|
603
631
|
|
604
|
-
class
|
632
|
+
class Page < Brush
|
605
633
|
def title(t)
|
606
634
|
@title = t
|
607
635
|
self
|
@@ -634,4 +662,6 @@ class Brush::Page < Brush
|
|
634
662
|
end
|
635
663
|
end
|
636
664
|
|
665
|
+
end # class Brush
|
666
|
+
|
637
667
|
end # module Wee
|
@@ -124,6 +124,10 @@ class HtmlCanvasRenderer < Renderer
|
|
124
124
|
handle(Brush::HiddenInputTag.new, *args, &block)
|
125
125
|
end
|
126
126
|
|
127
|
+
def password_input(*args, &block)
|
128
|
+
handle(Brush::PasswordInputTag.new, *args, &block)
|
129
|
+
end
|
130
|
+
|
127
131
|
def text_input(*args, &block)
|
128
132
|
handle(Brush::TextInputTag.new, *args, &block)
|
129
133
|
end
|
data/lib/wee/session.rb
CHANGED
@@ -21,7 +21,7 @@ class Wee::Session < Wee::AbstractSession
|
|
21
21
|
protected
|
22
22
|
|
23
23
|
def setup(&block)
|
24
|
-
@idgen = Wee::
|
24
|
+
@idgen = Wee::SequentialIdGenerator.new
|
25
25
|
|
26
26
|
with_session do
|
27
27
|
block.call(self) if block
|
@@ -143,7 +143,7 @@ class Wee::Session < Wee::AbstractSession
|
|
143
143
|
# Return a new Wee::Page object with the given snapshot assigned.
|
144
144
|
|
145
145
|
def create_page(snapshot)
|
146
|
-
idgen = Wee::
|
146
|
+
idgen = Wee::SequentialIdGenerator.new
|
147
147
|
page = Wee::Page.new(snapshot, Wee::CallbackRegistry.new(idgen))
|
148
148
|
end
|
149
149
|
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.8.
|
2
|
+
rubygems_version: 0.8.4
|
3
3
|
specification_version: 1
|
4
4
|
name: wee
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.
|
7
|
-
date: 2005-07-
|
6
|
+
version: 0.10.0
|
7
|
+
date: 2005-07-25
|
8
8
|
summary: Wee is a framework for building highly dynamic web applications.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -24,8 +24,6 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
24
24
|
version: 0.0.0
|
25
25
|
version:
|
26
26
|
platform: ruby
|
27
|
-
signing_key:
|
28
|
-
cert_chain:
|
29
27
|
authors:
|
30
28
|
- Michael Neumann
|
31
29
|
files:
|
@@ -88,7 +86,6 @@ files:
|
|
88
86
|
- doc/rdoc/files/lib/wee/idgen
|
89
87
|
- doc/rdoc/files/lib/wee/databases
|
90
88
|
- doc/rdoc/files/lib/wee/utils
|
91
|
-
- doc/rdoc/files/lib/wee/examples
|
92
89
|
- doc/rdoc/files/lib/wee/snapshot_ext_rb.html
|
93
90
|
- doc/rdoc/files/lib/wee/callback_rb.html
|
94
91
|
- doc/rdoc/files/lib/wee/snapshot_rb.html
|
@@ -96,6 +93,7 @@ files:
|
|
96
93
|
- doc/rdoc/files/lib/wee/component_rb.html
|
97
94
|
- doc/rdoc/files/lib/wee/template_rb.html
|
98
95
|
- doc/rdoc/files/lib/wee/page_rb.html
|
96
|
+
- doc/rdoc/files/lib/wee/examples
|
99
97
|
- doc/rdoc/files/lib/wee/component_ext_rb.html
|
100
98
|
- doc/rdoc/files/lib/wee/components_rb.html
|
101
99
|
- doc/rdoc/files/lib/wee/core_rb.html
|
@@ -105,8 +103,6 @@ files:
|
|
105
103
|
- doc/rdoc/files/lib/wee/pageless_rb.html
|
106
104
|
- doc/rdoc/files/lib/wee/application_rb.html
|
107
105
|
- doc/rdoc/files/lib/wee/presenter_rb.html
|
108
|
-
- doc/rdoc/files/lib/wee/abstractsession_rb.html
|
109
|
-
- doc/rdoc/files/lib/wee/core_ext_rb.html
|
110
106
|
- doc/rdoc/files/lib/wee/state_registry_rb.html
|
111
107
|
- doc/rdoc/files/lib/wee/continuation_rb.html
|
112
108
|
- doc/rdoc/files/lib/wee/holder_rb.html
|
@@ -118,24 +114,26 @@ files:
|
|
118
114
|
- doc/rdoc/files/lib/wee/decoration_rb.html
|
119
115
|
- doc/rdoc/files/lib/wee/stuff_rb.html
|
120
116
|
- doc/rdoc/files/lib/wee/request_rb.html
|
121
|
-
- doc/rdoc/files/lib/wee/
|
117
|
+
- doc/rdoc/files/lib/wee/core_ext_rb.html
|
118
|
+
- doc/rdoc/files/lib/wee/abstractsession_rb.html
|
119
|
+
- doc/rdoc/files/lib/wee/components/wrapper_decoration_rb.html
|
122
120
|
- doc/rdoc/files/lib/wee/components/form_decoration_rb.html
|
123
121
|
- doc/rdoc/files/lib/wee/components/messagebox_rb.html
|
124
|
-
- doc/rdoc/files/lib/wee/components/pager_rb.html
|
125
|
-
- doc/rdoc/files/lib/wee/components/wrapper_decoration_rb.html
|
126
122
|
- doc/rdoc/files/lib/wee/components/page_decoration_rb.html
|
127
123
|
- doc/rdoc/files/lib/wee/components/component_dispatcher_rb.html
|
124
|
+
- doc/rdoc/files/lib/wee/components/login_decoration_rb.html
|
125
|
+
- doc/rdoc/files/lib/wee/components/pager_rb.html
|
128
126
|
- doc/rdoc/files/lib/wee/core/componentrunner_rb.html
|
129
127
|
- doc/rdoc/files/lib/wee/core/valueholder_rb.html
|
130
128
|
- doc/rdoc/files/lib/wee/core/callback_rb.html
|
131
129
|
- doc/rdoc/files/lib/wee/core/snapshot_rb.html
|
132
|
-
- doc/rdoc/files/lib/wee/core/page_rb.html
|
133
130
|
- doc/rdoc/files/lib/wee/core/component_rb.html
|
131
|
+
- doc/rdoc/files/lib/wee/core/decoration_rb.html
|
132
|
+
- doc/rdoc/files/lib/wee/core/presenter_rb.html
|
134
133
|
- doc/rdoc/files/lib/wee/core/context_rb.html
|
135
134
|
- doc/rdoc/files/lib/wee/core/idgen_rb.html
|
136
135
|
- doc/rdoc/files/lib/wee/core/renderer_rb.html
|
137
|
-
- doc/rdoc/files/lib/wee/core/
|
138
|
-
- doc/rdoc/files/lib/wee/core/presenter_rb.html
|
136
|
+
- doc/rdoc/files/lib/wee/core/page_rb.html
|
139
137
|
- doc/rdoc/files/lib/wee/pageless/application_rb.html
|
140
138
|
- doc/rdoc/files/lib/wee/pageless/session_rb.html
|
141
139
|
- doc/rdoc/files/lib/wee/pageless/request_rb.html
|
@@ -150,10 +148,10 @@ files:
|
|
150
148
|
- doc/rdoc/files/lib/wee/rendering/html/brushes_rb.html
|
151
149
|
- doc/rdoc/files/lib/wee/rendering/html/canvas_rb.html
|
152
150
|
- doc/rdoc/files/lib/wee/rendering/html/writer_rb.html
|
151
|
+
- doc/rdoc/files/lib/wee/adaptors/webrick_rb.html
|
152
|
+
- doc/rdoc/files/lib/wee/adaptors/fastcgi_rb.html
|
153
153
|
- doc/rdoc/files/lib/wee/adaptors/rails_rb.html
|
154
154
|
- doc/rdoc/files/lib/wee/adaptors/nitro_rb.html
|
155
|
-
- doc/rdoc/files/lib/wee/adaptors/fastcgi_rb.html
|
156
|
-
- doc/rdoc/files/lib/wee/adaptors/webrick_rb.html
|
157
155
|
- doc/rdoc/files/lib/wee/skeleton/og
|
158
156
|
- doc/rdoc/files/lib/wee/skeleton/simple
|
159
157
|
- doc/rdoc/files/lib/wee/skeleton/og/models
|
@@ -185,14 +183,12 @@ files:
|
|
185
183
|
- doc/rdoc/classes/Wee
|
186
184
|
- doc/rdoc/classes/OgScaffolder
|
187
185
|
- doc/rdoc/classes/Cache
|
188
|
-
- doc/rdoc/classes/ActionView
|
189
186
|
- doc/rdoc/classes/Enumerable.html
|
190
187
|
- doc/rdoc/classes/Array.html
|
191
|
-
- doc/rdoc/classes/
|
188
|
+
- doc/rdoc/classes/OgSession.html
|
192
189
|
- doc/rdoc/classes/Wee.html
|
193
|
-
- doc/rdoc/classes/Hash.html
|
194
|
-
- doc/rdoc/classes/Main.html
|
195
190
|
- doc/rdoc/classes/Struct.html
|
191
|
+
- doc/rdoc/classes/Main.html
|
196
192
|
- doc/rdoc/classes/Cache.html
|
197
193
|
- doc/rdoc/classes/OgApplication.html
|
198
194
|
- doc/rdoc/classes/LiteralMethod.html
|
@@ -200,123 +196,125 @@ files:
|
|
200
196
|
- doc/rdoc/classes/String.html
|
201
197
|
- doc/rdoc/classes/Object.html
|
202
198
|
- doc/rdoc/classes/Recipe.html
|
203
|
-
- doc/rdoc/classes/
|
204
|
-
- doc/rdoc/classes/
|
205
|
-
- doc/rdoc/classes/
|
199
|
+
- doc/rdoc/classes/ActionView.html
|
200
|
+
- doc/rdoc/classes/Hash.html
|
201
|
+
- doc/rdoc/classes/ActionView
|
206
202
|
- doc/rdoc/classes/Wee/Utils
|
207
203
|
- doc/rdoc/classes/Wee/Component
|
208
204
|
- doc/rdoc/classes/Wee/StateRegistry
|
209
|
-
- doc/rdoc/classes/Wee/Examples
|
210
205
|
- doc/rdoc/classes/Wee/Brush
|
211
|
-
- doc/rdoc/classes/Wee/LiteralMethodCallback.html
|
212
|
-
- doc/rdoc/classes/Wee/SimpleIdGenerator.html
|
213
|
-
- doc/rdoc/classes/Wee/Helper.html
|
214
206
|
- doc/rdoc/classes/Wee/Session.html
|
215
|
-
- doc/rdoc/classes/Wee/
|
207
|
+
- doc/rdoc/classes/Wee/Page.html
|
208
|
+
- doc/rdoc/classes/Wee/Helper.html
|
209
|
+
- doc/rdoc/classes/Wee/RefreshResponse.html
|
210
|
+
- doc/rdoc/classes/Wee/SimpleIdGenerator.html
|
211
|
+
- doc/rdoc/classes/Wee/GenericResponse.html
|
212
|
+
- doc/rdoc/classes/Wee/PageDecoration.html
|
213
|
+
- doc/rdoc/classes/Wee/RequestHandler.html
|
214
|
+
- doc/rdoc/classes/Wee/Decoration.html
|
215
|
+
- doc/rdoc/classes/Wee/AnswerDecoration.html
|
216
216
|
- doc/rdoc/classes/Wee/MessageBox.html
|
217
217
|
- doc/rdoc/classes/Wee/Response.html
|
218
|
-
- doc/rdoc/classes/Wee/Pager.html
|
219
218
|
- doc/rdoc/classes/Wee/Snapshot.html
|
220
|
-
- doc/rdoc/classes/Wee/WEBrickAdaptor.html
|
221
219
|
- doc/rdoc/classes/Wee/HtmlWriter.html
|
220
|
+
- doc/rdoc/classes/Wee/WEBrickAdaptor.html
|
221
|
+
- doc/rdoc/classes/Wee/PagelessRequest.html
|
222
222
|
- doc/rdoc/classes/Wee/CallbackStream.html
|
223
223
|
- doc/rdoc/classes/Wee/StateRegistry.html
|
224
|
-
- doc/rdoc/classes/Wee/ValueHolder.html
|
225
|
-
- doc/rdoc/classes/Wee/DupReplaceSnapshotMixin.html
|
226
224
|
- doc/rdoc/classes/Wee/Delegate.html
|
225
|
+
- doc/rdoc/classes/Wee/ValueHolder.html
|
227
226
|
- doc/rdoc/classes/Wee/Canvas.html
|
228
227
|
- doc/rdoc/classes/Wee/FormDecoration.html
|
229
|
-
- doc/rdoc/classes/Wee/
|
230
|
-
- doc/rdoc/classes/Wee/
|
228
|
+
- doc/rdoc/classes/Wee/RedirectResponse.html
|
229
|
+
- doc/rdoc/classes/Wee/StateHolder.html
|
230
|
+
- doc/rdoc/classes/Wee/PagelessApplication.html
|
231
231
|
- doc/rdoc/classes/Wee/RenderingContext.html
|
232
|
+
- doc/rdoc/classes/Wee/Brush.html
|
233
|
+
- doc/rdoc/classes/Wee/Context.html
|
232
234
|
- doc/rdoc/classes/Wee/CallbackRegistry.html
|
233
235
|
- doc/rdoc/classes/Wee/ErrorPage.html
|
234
236
|
- doc/rdoc/classes/Wee/Request.html
|
237
|
+
- doc/rdoc/classes/Wee/LiteralMethodCallback.html
|
235
238
|
- doc/rdoc/classes/Wee/WrapperDecoration.html
|
236
|
-
- doc/rdoc/classes/Wee/Nitro.html
|
237
|
-
- doc/rdoc/classes/Wee/HtmlCanvas.html
|
238
|
-
- doc/rdoc/classes/Wee/Component.html
|
239
|
-
- doc/rdoc/classes/Wee/RefreshResponse.html
|
240
|
-
- doc/rdoc/classes/Wee/Page.html
|
241
|
-
- doc/rdoc/classes/Wee/ComponentDispatcher.html
|
242
|
-
- doc/rdoc/classes/Wee/Examples.html
|
243
|
-
- doc/rdoc/classes/Wee/CanvasMixin.html
|
244
|
-
- doc/rdoc/classes/Wee/PageDecoration.html
|
245
|
-
- doc/rdoc/classes/Wee/RequestHandler.html
|
246
|
-
- doc/rdoc/classes/Wee/Decoration.html
|
247
|
-
- doc/rdoc/classes/Wee/GenericResponse.html
|
248
|
-
- doc/rdoc/classes/Wee/ComponentRunner.html
|
249
|
-
- doc/rdoc/classes/Wee/IdGenerator.html
|
250
|
-
- doc/rdoc/classes/Wee/PagelessComponentDriver.html
|
251
|
-
- doc/rdoc/classes/Wee/Renderer.html
|
252
|
-
- doc/rdoc/classes/Wee/AnswerDecoration.html
|
253
|
-
- doc/rdoc/classes/Wee/AbstractSession.html
|
254
|
-
- doc/rdoc/classes/Wee/RedirectResponse.html
|
255
|
-
- doc/rdoc/classes/Wee/StateHolder.html
|
256
|
-
- doc/rdoc/classes/Wee/Context.html
|
257
|
-
- doc/rdoc/classes/Wee/Brush.html
|
258
|
-
- doc/rdoc/classes/Wee/PagelessApplication.html
|
259
|
-
- doc/rdoc/classes/Wee/FastCGIAdaptor.html
|
260
239
|
- doc/rdoc/classes/Wee/Callback.html
|
261
240
|
- doc/rdoc/classes/Wee/MethodCallback.html
|
241
|
+
- doc/rdoc/classes/Wee/HtmlCanvas.html
|
262
242
|
- doc/rdoc/classes/Wee/Utils.html
|
243
|
+
- doc/rdoc/classes/Wee/Component.html
|
263
244
|
- doc/rdoc/classes/Wee/Application.html
|
264
245
|
- doc/rdoc/classes/Wee/Presenter.html
|
265
246
|
- doc/rdoc/classes/Wee/PagelessSession.html
|
266
247
|
- doc/rdoc/classes/Wee/ErrorResponse.html
|
267
248
|
- doc/rdoc/classes/Wee/Md5IdGenerator.html
|
249
|
+
- doc/rdoc/classes/Wee/Nitro
|
250
|
+
- doc/rdoc/classes/Wee/Nitro.html
|
251
|
+
- doc/rdoc/classes/Wee/Rails
|
252
|
+
- doc/rdoc/classes/Wee/CanvasMixin.html
|
268
253
|
- doc/rdoc/classes/Wee/Rails.html
|
269
|
-
- doc/rdoc/classes/Wee/
|
270
|
-
- doc/rdoc/classes/Wee/
|
271
|
-
- doc/rdoc/classes/Wee/
|
272
|
-
- doc/rdoc/classes/Wee/
|
273
|
-
- doc/rdoc/classes/Wee/
|
274
|
-
- doc/rdoc/classes/Wee/
|
275
|
-
- doc/rdoc/classes/Wee/
|
276
|
-
- doc/rdoc/classes/Wee/
|
254
|
+
- doc/rdoc/classes/Wee/Examples
|
255
|
+
- doc/rdoc/classes/Wee/ComponentDispatcher.html
|
256
|
+
- doc/rdoc/classes/Wee/DupReplaceSnapshotMixin.html
|
257
|
+
- doc/rdoc/classes/Wee/Examples.html
|
258
|
+
- doc/rdoc/classes/Wee/ComponentRunner.html
|
259
|
+
- doc/rdoc/classes/Wee/IdGenerator.html
|
260
|
+
- doc/rdoc/classes/Wee/Renderer.html
|
261
|
+
- doc/rdoc/classes/Wee/Pager.html
|
262
|
+
- doc/rdoc/classes/Wee/FastCGIAdaptor.html
|
263
|
+
- doc/rdoc/classes/Wee/LoginDecoration.html
|
264
|
+
- doc/rdoc/classes/Wee/PagelessComponentDriver.html
|
265
|
+
- doc/rdoc/classes/Wee/AbstractSession.html
|
266
|
+
- doc/rdoc/classes/Wee/HtmlCanvasRenderer.html
|
277
267
|
- doc/rdoc/classes/Wee/Utils/LRUCache.html
|
278
268
|
- doc/rdoc/classes/Wee/Component/OnAnswer.html
|
279
269
|
- doc/rdoc/classes/Wee/StateRegistry/Snapshot.html
|
280
270
|
- doc/rdoc/classes/Wee/StateRegistry/WithObject.html
|
281
|
-
- doc/rdoc/classes/Wee/Examples/Counter.html
|
282
|
-
- doc/rdoc/classes/Wee/Examples/Window.html
|
283
|
-
- doc/rdoc/classes/Wee/Examples/Calculator.html
|
284
|
-
- doc/rdoc/classes/Wee/Examples/EditableCounter.html
|
285
271
|
- doc/rdoc/classes/Wee/Brush/SelectListTag
|
286
|
-
- doc/rdoc/classes/Wee/Brush/
|
287
|
-
- doc/rdoc/classes/Wee/Brush/
|
272
|
+
- doc/rdoc/classes/Wee/Brush/GenericSingleTagBrush.html
|
273
|
+
- doc/rdoc/classes/Wee/Brush/GenericTagBrush.html
|
288
274
|
- doc/rdoc/classes/Wee/Brush/Page.html
|
289
|
-
- doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html
|
290
275
|
- doc/rdoc/classes/Wee/Brush/TableDataTag.html
|
291
|
-
- doc/rdoc/classes/Wee/Brush/ActionMixin.html
|
292
|
-
- doc/rdoc/classes/Wee/Brush/RadioButtonTag.html
|
293
|
-
- doc/rdoc/classes/Wee/Brush/ActionURLCallbackMixin.html
|
294
|
-
- doc/rdoc/classes/Wee/Brush/SelectOptionTag.html
|
295
|
-
- doc/rdoc/classes/Wee/Brush/TableHeaderTag.html
|
296
|
-
- doc/rdoc/classes/Wee/Brush/FormTag.html
|
297
|
-
- doc/rdoc/classes/Wee/Brush/SelectListTag.html
|
298
|
-
- doc/rdoc/classes/Wee/Brush/ActionCallbackMixin.html
|
299
|
-
- doc/rdoc/classes/Wee/Brush/ToCallback.html
|
300
|
-
- doc/rdoc/classes/Wee/Brush/FileUploadTag.html
|
301
276
|
- doc/rdoc/classes/Wee/Brush/ImageTag.html
|
302
|
-
- doc/rdoc/classes/Wee/Brush/HiddenInputTag.html
|
303
|
-
- doc/rdoc/classes/Wee/Brush/TextAreaTag.html
|
304
|
-
- doc/rdoc/classes/Wee/Brush/TableRowTag.html
|
305
|
-
- doc/rdoc/classes/Wee/Brush/GenericTagBrush.html
|
306
|
-
- doc/rdoc/classes/Wee/Brush/GenericSingleTagBrush.html
|
307
277
|
- doc/rdoc/classes/Wee/Brush/InputCallbackMixin.html
|
308
|
-
- doc/rdoc/classes/Wee/Brush/
|
278
|
+
- doc/rdoc/classes/Wee/Brush/FileUploadTag.html
|
279
|
+
- doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html
|
280
|
+
- doc/rdoc/classes/Wee/Brush/ActionURLCallbackMixin.html
|
281
|
+
- doc/rdoc/classes/Wee/Brush/ActionMixin.html
|
282
|
+
- doc/rdoc/classes/Wee/Brush/TableTag.html
|
309
283
|
- doc/rdoc/classes/Wee/Brush/GenericTextBrush.html
|
310
284
|
- doc/rdoc/classes/Wee/Brush/AssignMixin.html
|
311
285
|
- doc/rdoc/classes/Wee/Brush/InputTag.html
|
286
|
+
- doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html
|
287
|
+
- doc/rdoc/classes/Wee/Brush/TableHeaderTag.html
|
288
|
+
- doc/rdoc/classes/Wee/Brush/FormTag.html
|
289
|
+
- doc/rdoc/classes/Wee/Brush/ActionCallbackMixin.html
|
290
|
+
- doc/rdoc/classes/Wee/Brush/ToCallback.html
|
312
291
|
- doc/rdoc/classes/Wee/Brush/TextInputTag.html
|
313
292
|
- doc/rdoc/classes/Wee/Brush/CallbackMixin.html
|
314
293
|
- doc/rdoc/classes/Wee/Brush/JavascriptTag.html
|
294
|
+
- doc/rdoc/classes/Wee/Brush/SelectOptionTag.html
|
315
295
|
- doc/rdoc/classes/Wee/Brush/AnchorTag.html
|
316
|
-
- doc/rdoc/classes/Wee/Brush/
|
296
|
+
- doc/rdoc/classes/Wee/Brush/RadioButtonTag
|
297
|
+
- doc/rdoc/classes/Wee/Brush/SelectListTag.html
|
298
|
+
- doc/rdoc/classes/Wee/Brush/TextAreaTag.html
|
317
299
|
- doc/rdoc/classes/Wee/Brush/ImageButtonTag.html
|
300
|
+
- doc/rdoc/classes/Wee/Brush/TableRowTag.html
|
301
|
+
- doc/rdoc/classes/Wee/Brush/HiddenInputTag.html
|
302
|
+
- doc/rdoc/classes/Wee/Brush/CheckboxTag.html
|
303
|
+
- doc/rdoc/classes/Wee/Brush/RadioButtonTag.html
|
318
304
|
- doc/rdoc/classes/Wee/Brush/SelectListTag/SelectListCallback.html
|
319
305
|
- doc/rdoc/classes/Wee/Brush/RadioButtonTag/RadioGroup.html
|
306
|
+
- doc/rdoc/classes/Wee/Nitro/ControllerClassMixin.html
|
307
|
+
- doc/rdoc/classes/Wee/Nitro/ControllerMixin.html
|
308
|
+
- doc/rdoc/classes/Wee/Nitro/FormTag.html
|
309
|
+
- doc/rdoc/classes/Wee/Nitro/HtmlCanvasRenderer.html
|
310
|
+
- doc/rdoc/classes/Wee/Rails/ControllerClassMixin.html
|
311
|
+
- doc/rdoc/classes/Wee/Rails/ControllerMixin.html
|
312
|
+
- doc/rdoc/classes/Wee/Rails/FormTag.html
|
313
|
+
- doc/rdoc/classes/Wee/Rails/HtmlCanvasRenderer.html
|
314
|
+
- doc/rdoc/classes/Wee/Examples/EditableCounter.html
|
315
|
+
- doc/rdoc/classes/Wee/Examples/Calculator.html
|
316
|
+
- doc/rdoc/classes/Wee/Examples/Window.html
|
317
|
+
- doc/rdoc/classes/Wee/Examples/Counter.html
|
320
318
|
- doc/rdoc/classes/OgScaffolder/Editor.html
|
321
319
|
- doc/rdoc/classes/Cache/Strategy
|
322
320
|
- doc/rdoc/classes/Cache/StorageCache.html
|
@@ -360,7 +358,6 @@ files:
|
|
360
358
|
- lib/wee/core_ext.rb
|
361
359
|
- lib/wee/abstractsession.rb
|
362
360
|
- lib/wee/template.rb
|
363
|
-
- lib/wee/page.rb
|
364
361
|
- lib/wee/skeleton/og
|
365
362
|
- lib/wee/skeleton/simple
|
366
363
|
- lib/wee/skeleton/og/models
|
@@ -382,8 +379,8 @@ files:
|
|
382
379
|
- lib/wee/components/page_decoration.rb
|
383
380
|
- lib/wee/components/component_dispatcher.rb
|
384
381
|
- lib/wee/components/form_decoration.rb
|
385
|
-
- lib/wee/idgen/simple.rb
|
386
382
|
- lib/wee/idgen/md5.rb
|
383
|
+
- lib/wee/idgen/sequential.rb
|
387
384
|
- lib/wee/databases/og
|
388
385
|
- lib/wee/databases/og.rb
|
389
386
|
- lib/wee/databases/og/old_scaffolder.rb
|
data/lib/wee/page.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
class Wee::Page < Struct.new(:snapshot, :callbacks); end
|