wee 0.9.1 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|