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 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 'og'
5
+ require 'rubygems'
6
+ require_gem 'og', '>= 0.21.0'
6
7
 
7
- class Customer
8
- prop_accessor :address, String, :sql => 'VARCHAR(100) NOT NULL'
9
- prop_accessor :email, String, :sql => 'VARCHAR(50) NOT NULL'
10
- prop_accessor :password, String, :sql => 'VARCHAR(10) NOT NULL'
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
- :database => "mneumann",
42
- :backend => "psql",
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::Database.new(DB_CONFIG)
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::SimpleIdGenerator.new(rand(1_000_000))
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.9.1"
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/simple'
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')
@@ -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::SimpleIdGenerator.new))
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::SimpleIdGenerator.new)
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
@@ -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::SimpleIdGenerator.new))
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::SimpleIdGenerator.new)
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
@@ -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::SimpleIdGenerator.new
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::SimpleIdGenerator.new(rand(1_000_000))
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 (http://navel.gr/nitro)
2
- # domain objects.
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
- @props.each {|prop|
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.name.to_s.capitalize)
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
- @props.each {|prop| render_property(obj, prop) }
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.name).to_s)
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! if confirmed
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
- unless prop.name == 'oid'
106
- render_label(prop)
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
- if prop.meta[:ui] == :textarea
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 {|choosen| set_value_of(prop, choosen) }
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.name.capitalize
202
+ r.text(prop.meta[:label] || prop.symbol.to_s.capitalize)
177
203
  r.break
178
204
  end
179
205
 
180
- private
206
+ protected
181
207
 
182
- def each_property(&block)
183
- @domain_object.class.__props.each(&block)
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.save!
188
- answer @domain_object
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
@@ -1,6 +1,6 @@
1
1
  # Returned ids are guaranteed to be unique, but they are easily guessable.
2
2
 
3
- class Wee::SimpleIdGenerator < Wee::IdGenerator
3
+ class Wee::SequentialIdGenerator < Wee::IdGenerator
4
4
  def initialize(initial_value=0)
5
5
  @value = initial_value
6
6
  end
@@ -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::SimpleIdGenerator.new)
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::GenericTextBrush < 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 Brush::GenericEncodedTextBrush < Brush
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 Brush::GenericTagBrush < Brush
52
+ class GenericTagBrush < Brush
51
53
 
52
54
  class << self
53
55
  private
54
56
 
55
- def bool_attr(*attrs)
56
- attrs.each { |a|
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 #{ a }(bool=true)
63
+ def #{ attr }(bool=true)
59
64
  if bool
60
- @attributes['#{ a }'] = nil
65
+ @attributes['#{ name }'] = nil
61
66
  else
62
- @attributes.delete('#{ a }')
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 #{ a }(value)
74
- html_attr('#{ a }', value)
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 :type, :id
143
-
144
- def css_class(c)
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 Brush::GenericSingleTagBrush < Brush::GenericTagBrush
197
+ class GenericSingleTagBrush < GenericTagBrush
190
198
  def initialize(tag)
191
199
  super(tag, true)
192
200
  end
193
201
  end
194
202
 
195
- class Brush::ImageTag < Brush::GenericSingleTagBrush
196
- html_attr :src
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("img")
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 Brush::JavascriptTag < Brush::GenericTagBrush
217
- html_attr :src, :type
215
+ class JavascriptTag < GenericTagBrush
216
+ html_attr 'src'
217
+ html_attr 'type'
218
218
 
219
219
  def initialize
220
- super("script")
221
- type("text/javascript")
220
+ super('script')
221
+ type('text/javascript')
222
222
  end
223
223
  end
224
224
 
225
- class Brush::TableTag < Brush::GenericTagBrush
225
+ class TableTag < GenericTagBrush
226
226
  def initialize
227
227
  super('table')
228
228
  end
229
229
  end
230
230
 
231
- class Brush::TableRowTag < Brush::GenericTagBrush
231
+ class TableRowTag < GenericTagBrush
232
232
  def initialize
233
233
  super('tr')
234
234
  end
235
235
 
236
- def align_top
237
- html_attr('align', 'top')
238
- end
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 Brush::InputTag < Brush::GenericSingleTagBrush
282
+ class InputTag < GenericSingleTagBrush
282
283
  def initialize
283
284
  super('input')
284
285
  end
285
286
 
286
- html_attr :type, :name, :value, :size, :maxlength, :src
287
- bool_attr :checked, :disabled, :readonly
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 Brush::TextAreaTag < Brush::GenericTagBrush
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 :name, :rows, :cols, :tabindex, :accesskey, :onfocus, :onblur, :onselect, :onchange
302
- bool_attr :disabled, :readonly
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 Brush::SelectOptionTag < Brush::GenericTagBrush
339
+ class SelectOptionTag < GenericTagBrush
323
340
  def initialize
324
341
  super('option')
325
342
  end
326
343
 
327
- bool_attr :selected
344
+ html_attr 'selected', :type => :bool
328
345
  end
329
346
 
330
- class Brush::SelectListTag < Brush::GenericTagBrush
347
+ class SelectListTag < GenericTagBrush
331
348
 
332
- bool_attr :disabled, :readonly, :multiple
333
- alias multi multiple
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 = arg || block
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 Brush::HiddenInputTag < Brush::InputTag
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 Brush::TextInputTag < Brush::InputTag
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 Brush::RadioButtonTag < Brush::InputTag
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::SimpleIdGenerator.new
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 Brush::CheckboxTag < Wee::Brush::InputTag
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 Brush::FileUploadTag < Brush::InputTag
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 Brush::SubmitButtonTag < Brush::InputTag
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 Brush::ImageButtonTag < Brush::InputTag
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 Brush::TableDataTag < Brush::GenericTagBrush
554
+ class TableDataTag < GenericTagBrush
528
555
  def initialize
529
556
  super('td')
530
557
  end
531
558
 
532
- def align_top
533
- html_attr('align', 'top')
534
- end
559
+ html_attr 'align', :shortcuts => {
560
+ :align_top => 'top',
561
+ :align_bottom => 'bottom'
562
+ }
535
563
  end
536
564
 
537
- class Brush::TableHeaderTag < Brush::GenericTagBrush
565
+ class TableHeaderTag < GenericTagBrush
538
566
  def initialize
539
567
  super('th')
540
568
  end
541
569
  end
542
570
 
543
- class Brush::FormTag < Brush::GenericTagBrush
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 :action, :enctype
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 Brush::AnchorTag < Brush::GenericTagBrush
599
+ class AnchorTag < GenericTagBrush
571
600
  def initialize
572
601
  super('a')
573
602
  end
574
603
 
575
- html_attr :href, :title
576
- alias url href
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 Brush::Page < Brush
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::SimpleIdGenerator.new
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::SimpleIdGenerator.new
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.11
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.9.1
7
- date: 2005-07-18 00:00:00 +02:00
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/components/login_decoration_rb.html
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/decoration_rb.html
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/ActionView.html
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/OgSession.html
204
- - doc/rdoc/classes/Wee/Rails
205
- - doc/rdoc/classes/Wee/Nitro
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/HtmlCanvasRenderer.html
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/PagelessRequest.html
230
- - doc/rdoc/classes/Wee/LoginDecoration.html
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/Rails/ControllerClassMixin.html
270
- - doc/rdoc/classes/Wee/Rails/FormTag.html
271
- - doc/rdoc/classes/Wee/Rails/HtmlCanvasRenderer.html
272
- - doc/rdoc/classes/Wee/Rails/ControllerMixin.html
273
- - doc/rdoc/classes/Wee/Nitro/ControllerClassMixin.html
274
- - doc/rdoc/classes/Wee/Nitro/FormTag.html
275
- - doc/rdoc/classes/Wee/Nitro/HtmlCanvasRenderer.html
276
- - doc/rdoc/classes/Wee/Nitro/ControllerMixin.html
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/RadioButtonTag
287
- - doc/rdoc/classes/Wee/Brush/TableTag.html
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/CheckboxTag.html
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/GenericEncodedTextBrush.html
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