merb-helpers 1.0.6.1 → 1.0.7

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.
@@ -291,33 +291,44 @@ module Merb::Helpers::Form::Builder
291
291
 
292
292
  class Form < Base
293
293
  def label(contents, attrs = {})
294
- if contents.is_a?(Hash)
295
- attrs = contents
296
- contents = attrs.delete(:label)
297
- end
298
294
  if contents
299
- for_attr = attrs[:id] ? {:for => attrs[:id]} : {}
300
295
  if contents.is_a?(Hash)
301
- attrs = contents
302
- contents = attrs.delete(:title)
303
- for_attr = for_attr.merge(attrs)
296
+ label_attrs = contents
297
+ contents = label_attrs.delete(:title)
298
+ else
299
+ label_attrs = attrs
304
300
  end
305
- tag(:label, contents, for_attr)
301
+ tag(:label, contents, label_attrs)
306
302
  else
307
303
  ""
308
304
  end
309
305
  end
310
-
306
+
311
307
  %w(text password file).each do |kind|
312
308
  self.class_eval <<-RUBY, __FILE__, __LINE__ + 1
313
309
  def unbound_#{kind}_field(attrs = {})
314
- label(attrs) + super
310
+ unbound_label(attrs) + super
315
311
  end
316
312
  RUBY
317
313
  end
314
+
315
+ def unbound_label(attrs = {})
316
+ if attrs[:id]
317
+ label_attrs = {:for => attrs[:id]}
318
+ else
319
+ label_attrs = {}
320
+ end
321
+
322
+ label_option = attrs.delete(:label)
323
+ if label_option.is_a? Hash
324
+ label(label_attrs.merge(label_option))
325
+ else
326
+ label(label_option, label_attrs)
327
+ end
328
+ end
318
329
 
319
330
  def unbound_check_box(attrs = {})
320
- label_text = label(attrs)
331
+ label_text = unbound_label(attrs)
321
332
  super + label_text
322
333
  end
323
334
 
@@ -327,24 +338,24 @@ module Merb::Helpers::Form::Builder
327
338
  end
328
339
 
329
340
  def unbound_radio_button(attrs = {})
330
- label_text = label(attrs)
341
+ label_text = unbound_label(attrs)
331
342
  super + label_text
332
343
  end
333
344
 
334
345
  def unbound_select(attrs = {})
335
- label(attrs) + super
346
+ unbound_label(attrs) + super
336
347
  end
337
348
 
338
349
  def unbound_text_area(contents, attrs = {})
339
- label(attrs) + super
350
+ unbound_label(attrs) + super
340
351
  end
341
352
 
342
353
  def button(contents, attrs = {})
343
- label(attrs) + super
354
+ unbound_label(attrs) + super
344
355
  end
345
356
 
346
357
  def submit(value, attrs = {})
347
- label(attrs) + super
358
+ unbound_label(attrs) + super
348
359
  end
349
360
 
350
361
  private
@@ -1 +1 @@
1
- <%= label "First Name", :id => "user_first_name" %>
1
+ <%= label "First Name", :for => "user_first_name" %>
@@ -0,0 +1 @@
1
+ <%= label "Email Me", :style => "display:none", :rel => "tooltip" %>
@@ -0,0 +1 @@
1
+ <%= label "Last Name", :class => "name_class" %>
@@ -1 +1 @@
1
- 25322
1
+ 2424
@@ -1050,6 +1050,17 @@ describe "label" do
1050
1050
  r = @c.render :basic
1051
1051
  r.should have_selector("label[for=user_first_name]:contains('First Name')")
1052
1052
  end
1053
+
1054
+ it "should render a label tag with a :class attribute set" do
1055
+ r = @c.render :basic_with_class
1056
+ r.should have_selector("label[class=name_class]")
1057
+ end
1058
+
1059
+ it "should render a label tag with both rel and style attributes set" do
1060
+ r = @c.render :basic_with_attributes
1061
+ r.should have_selector("label[rel=tooltip][style='display:none']")
1062
+ end
1063
+
1053
1064
  end
1054
1065
 
1055
1066
  describe "file_field" do
@@ -61,3 +61,87 @@
61
61
  ~ {:after_filters_time=>6.0e-06, :dispatch_time=>0.000648, :before_filters_time=>5.0e-06, :action_time=>0.000453}
62
62
  ~
63
63
 
64
+ ~ Compiling routes...
65
+ ~ Started request handling: Sun Dec 28 15:34:54 -0800 2008
66
+ ~ Params: {"format"=>nil, "action"=>"tag_with_content", "id"=>nil, "controller"=>"tag_helper"}
67
+ ~ {:after_filters_time=>2.7e-05, :dispatch_time=>0.001595, :before_filters_time=>2.8e-05, :action_time=>0.001066}
68
+ ~
69
+
70
+ ~ Started request handling: Sun Dec 28 15:34:54 -0800 2008
71
+ ~ Params: {"format"=>nil, "action"=>"tag_with_content_in_the_block", "id"=>nil, "controller"=>"tag_helper"}
72
+ ~ {:after_filters_time=>9.0e-06, :dispatch_time=>0.001147, :before_filters_time=>1.3e-05, :action_time=>0.000678}
73
+ ~
74
+
75
+ ~ Started request handling: Sun Dec 28 15:34:54 -0800 2008
76
+ ~ Params: {"format"=>nil, "action"=>"tag_with_attributes", "id"=>nil, "controller"=>"tag_helper"}
77
+ ~ {:after_filters_time=>9.0e-06, :dispatch_time=>0.000981, :before_filters_time=>1.1e-05, :action_time=>0.000637}
78
+ ~
79
+
80
+ ~ Started request handling: Sun Dec 28 15:34:54 -0800 2008
81
+ ~ Params: {"format"=>nil, "action"=>"nested_tags", "id"=>nil, "controller"=>"tag_helper"}
82
+ ~ {:after_filters_time=>8.0e-06, :dispatch_time=>0.001034, :before_filters_time=>1.0e-05, :action_time=>0.000735}
83
+ ~
84
+
85
+ ~ Compiling routes...
86
+ ~ Started request handling: Sun Dec 28 15:35:38 -0800 2008
87
+ ~ Params: {"format"=>nil, "action"=>"tag_with_content", "id"=>nil, "controller"=>"tag_helper"}
88
+ ~ {:after_filters_time=>1.4e-05, :dispatch_time=>0.0009, :before_filters_time=>1.5e-05, :action_time=>0.000615}
89
+ ~
90
+
91
+ ~ Started request handling: Sun Dec 28 15:35:38 -0800 2008
92
+ ~ Params: {"format"=>nil, "action"=>"tag_with_content_in_the_block", "id"=>nil, "controller"=>"tag_helper"}
93
+ ~ {:after_filters_time=>4.0e-06, :dispatch_time=>0.000585, :before_filters_time=>6.0e-06, :action_time=>0.000357}
94
+ ~
95
+
96
+ ~ Started request handling: Sun Dec 28 15:35:38 -0800 2008
97
+ ~ Params: {"format"=>nil, "action"=>"tag_with_attributes", "id"=>nil, "controller"=>"tag_helper"}
98
+ ~ {:after_filters_time=>5.0e-06, :dispatch_time=>0.000523, :before_filters_time=>5.0e-06, :action_time=>0.000346}
99
+ ~
100
+
101
+ ~ Started request handling: Sun Dec 28 15:35:38 -0800 2008
102
+ ~ Params: {"format"=>nil, "action"=>"nested_tags", "id"=>nil, "controller"=>"tag_helper"}
103
+ ~ {:after_filters_time=>6.0e-06, :dispatch_time=>0.000693, :before_filters_time=>7.0e-06, :action_time=>0.000497}
104
+ ~
105
+
106
+ ~ Compiling routes...
107
+ ~ Started request handling: Sun Dec 28 15:56:42 -0800 2008
108
+ ~ Params: {"format"=>nil, "action"=>"tag_with_content", "id"=>nil, "controller"=>"tag_helper"}
109
+ ~ {:after_filters_time=>2.9e-05, :dispatch_time=>0.001609, :before_filters_time=>1.8e-05, :action_time=>0.001234}
110
+ ~
111
+
112
+ ~ Started request handling: Sun Dec 28 15:56:42 -0800 2008
113
+ ~ Params: {"format"=>nil, "action"=>"tag_with_content_in_the_block", "id"=>nil, "controller"=>"tag_helper"}
114
+ ~ {:after_filters_time=>6.0e-06, :dispatch_time=>0.000784, :before_filters_time=>9.0e-06, :action_time=>0.0005}
115
+ ~
116
+
117
+ ~ Started request handling: Sun Dec 28 15:56:42 -0800 2008
118
+ ~ Params: {"format"=>nil, "action"=>"tag_with_attributes", "id"=>nil, "controller"=>"tag_helper"}
119
+ ~ {:after_filters_time=>7.0e-06, :dispatch_time=>0.001473, :before_filters_time=>1.2e-05, :action_time=>0.000754}
120
+ ~
121
+
122
+ ~ Started request handling: Sun Dec 28 15:56:42 -0800 2008
123
+ ~ Params: {"format"=>nil, "action"=>"nested_tags", "id"=>nil, "controller"=>"tag_helper"}
124
+ ~ {:after_filters_time=>1.5e-05, :dispatch_time=>0.002152, :before_filters_time=>1.9e-05, :action_time=>0.001482}
125
+ ~
126
+
127
+ ~ Compiling routes...
128
+ ~ Started request handling: Sun Dec 28 16:32:08 -0800 2008
129
+ ~ Params: {"format"=>nil, "action"=>"tag_with_content", "id"=>nil, "controller"=>"tag_helper"}
130
+ ~ {:after_filters_time=>1.7e-05, :dispatch_time=>0.001518, :before_filters_time=>1.4e-05, :action_time=>0.001218}
131
+ ~
132
+
133
+ ~ Started request handling: Sun Dec 28 16:32:08 -0800 2008
134
+ ~ Params: {"format"=>nil, "action"=>"tag_with_content_in_the_block", "id"=>nil, "controller"=>"tag_helper"}
135
+ ~ {:after_filters_time=>5.0e-06, :dispatch_time=>0.000514, :before_filters_time=>5.0e-06, :action_time=>0.000269}
136
+ ~
137
+
138
+ ~ Started request handling: Sun Dec 28 16:32:08 -0800 2008
139
+ ~ Params: {"format"=>nil, "action"=>"tag_with_attributes", "id"=>nil, "controller"=>"tag_helper"}
140
+ ~ {:after_filters_time=>4.0e-06, :dispatch_time=>0.00042, :before_filters_time=>5.0e-06, :action_time=>0.000234}
141
+ ~
142
+
143
+ ~ Started request handling: Sun Dec 28 16:32:08 -0800 2008
144
+ ~ Params: {"format"=>nil, "action"=>"nested_tags", "id"=>nil, "controller"=>"tag_helper"}
145
+ ~ {:after_filters_time=>5.0e-06, :dispatch_time=>0.00055, :before_filters_time=>1.0e-05, :action_time=>0.000352}
146
+ ~
147
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: merb-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6.1
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael D. Ivey
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-16 00:00:00 -08:00
12
+ date: 2008-12-28 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 1.0.6.1
23
+ version: 1.0.7
24
24
  version:
25
25
  description: Helper support for Merb
26
26
  email: ivey@gweezlebur.com
@@ -210,6 +210,8 @@ files:
210
210
  - spec/fixture/app/views/hidden_field_specs/label.html.erb
211
211
  - spec/fixture/app/views/label_specs
212
212
  - spec/fixture/app/views/label_specs/basic.html.erb
213
+ - spec/fixture/app/views/label_specs/basic_with_attributes.html.erb
214
+ - spec/fixture/app/views/label_specs/basic_with_class.html.erb
213
215
  - spec/fixture/app/views/layout
214
216
  - spec/fixture/app/views/layout/application.html.erb
215
217
  - spec/fixture/app/views/numeric_ext_specs