forme 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +24 -0
- data/MIT-LICENSE +1 -1
- data/README.rdoc +37 -18
- data/Rakefile +6 -5
- data/lib/forme.rb +6 -1348
- data/lib/forme/form.rb +387 -0
- data/lib/forme/input.rb +48 -0
- data/lib/forme/raw.rb +12 -0
- data/lib/forme/tag.rb +60 -0
- data/lib/forme/transformers/error_handler.rb +18 -0
- data/lib/forme/transformers/formatter.rb +511 -0
- data/lib/forme/transformers/helper.rb +17 -0
- data/lib/forme/transformers/inputs_wrapper.rb +95 -0
- data/lib/forme/transformers/labeler.rb +78 -0
- data/lib/forme/transformers/serializer.rb +171 -0
- data/lib/forme/transformers/wrapper.rb +52 -0
- data/lib/forme/version.rb +1 -1
- data/lib/sequel/plugins/forme.rb +7 -4
- data/spec/forme_spec.rb +65 -5
- data/spec/sequel_plugin_spec.rb +18 -3
- metadata +15 -4
data/spec/forme_spec.rb
CHANGED
@@ -247,20 +247,44 @@ describe "Forme plain forms" do
|
|
247
247
|
@f.input(:date).to_s.should == '<input type="date"/>'
|
248
248
|
end
|
249
249
|
|
250
|
+
specify "should create datetime-local tag" do
|
251
|
+
@f.input(:datetime).to_s.should == '<input type="datetime-local"/>'
|
252
|
+
end
|
253
|
+
|
250
254
|
specify "should not error for input type :input" do
|
251
255
|
@f.input(:input).to_s.should == '<input type="input"/>'
|
252
256
|
end
|
253
257
|
|
254
258
|
specify "should use multiple select boxes for dates if the :as=>:select option is given" do
|
255
|
-
@f.input(:date, :name=>"foo", :id=>"bar", :as=>:select, :value=>Date.new(2011, 6, 5)).to_s.should == %{<select id="
|
259
|
+
@f.input(:date, :name=>"foo", :id=>"bar", :as=>:select, :value=>Date.new(2011, 6, 5)).to_s.should == %{<select id="bar" name="foo[year]">#{sel(1900..2050, 2011)}</select>-<select id="bar_month" name="foo[month]">#{sel(1..12, 6)}</select>-<select id="bar_day" name="foo[day]">#{sel(1..31, 5)}</select>}
|
260
|
+
end
|
261
|
+
|
262
|
+
specify "should allow ordering date select boxes via :order" do
|
263
|
+
@f.input(:date, :name=>"foo", :id=>"bar", :as=>:select, :value=>Date.new(2011, 6, 5), :order=>[:month, '/', :day, '/', :year]).to_s.should == %{<select id="bar" name="foo[month]">#{sel(1..12, 6)}</select>/<select id="bar_day" name="foo[day]">#{sel(1..31, 5)}</select>/<select id="bar_year" name="foo[year]">#{sel(1900..2050, 2011)}</select>}
|
264
|
+
end
|
265
|
+
|
266
|
+
specify "should allow only using specific date select boxes via :order" do
|
267
|
+
@f.input(:date, :name=>"foo", :id=>"bar", :as=>:select, :value=>Date.new(2011, 6, 5), :order=>[:month, :year]).to_s.should == %{<select id="bar" name="foo[month]">#{sel(1..12, 6)}</select><select id="bar_year" name="foo[year]">#{sel(1900..2050, 2011)}</select>}
|
268
|
+
end
|
269
|
+
|
270
|
+
specify "should support :select_options for dates when :as=>:select is given" do
|
271
|
+
@f.input(:date, :name=>"foo", :id=>"bar", :as=>:select, :value=>Date.new(2011, 6, 5), :select_options=>{:year=>1970..2020}).to_s.should == %{<select id="bar" name="foo[year]">#{sel(1970..2020, 2011)}</select>-<select id="bar_month" name="foo[month]">#{sel(1..12, 6)}</select>-<select id="bar_day" name="foo[day]">#{sel(1..31, 5)}</select>}
|
256
272
|
end
|
257
273
|
|
258
274
|
specify "should have explicit labeler and trtd wrapper work with multiple select boxes for dates" do
|
259
|
-
@f.input(:date, :name=>"foo", :id=>"bar", :as=>:select, :value=>Date.new(2011, 6, 5), :wrapper=>:trtd, :labeler=>:explicit, :label=>'Baz').to_s.should == %{<tr><td><label class="label-before" for="
|
275
|
+
@f.input(:date, :name=>"foo", :id=>"bar", :as=>:select, :value=>Date.new(2011, 6, 5), :wrapper=>:trtd, :labeler=>:explicit, :label=>'Baz').to_s.should == %{<tr><td><label class="label-before" for="bar">Baz</label></td><td><select id="bar" name="foo[year]">#{sel(1900..2050, 2011)}</select>-<select id="bar_month" name="foo[month]">#{sel(1..12, 6)}</select>-<select id="bar_day" name="foo[day]">#{sel(1..31, 5)}</select></td></tr>}
|
260
276
|
end
|
261
277
|
|
262
278
|
specify "should use multiple select boxes for datetimes if the :as=>:select option is given" do
|
263
|
-
@f.input(:datetime, :name=>"foo", :id=>"bar", :as=>:select, :value=>DateTime.new(2011, 6, 5, 4, 3, 2)).to_s.should == %{<select id="
|
279
|
+
@f.input(:datetime, :name=>"foo", :id=>"bar", :as=>:select, :value=>DateTime.new(2011, 6, 5, 4, 3, 2)).to_s.should == %{<select id="bar" name="foo[year]">#{sel(1900..2050, 2011)}</select>-<select id="bar_month" name="foo[month]">#{sel(1..12, 6)}</select>-<select id="bar_day" name="foo[day]">#{sel(1..31, 5)}</select> <select id="bar_hour" name="foo[hour]">#{sel(0..23, 4)}</select>:<select id="bar_minute" name="foo[minute]">#{sel(0..59, 3)}</select>:<select id="bar_second" name="foo[second]">#{sel(0..59, 2)}</select>}
|
280
|
+
end
|
281
|
+
|
282
|
+
specify "should allow ordering select boxes for datetimes via :order" do
|
283
|
+
@f.input(:datetime, :name=>"foo", :id=>"bar", :as=>:select, :value=>DateTime.new(2011, 6, 5, 4, 3, 2), :order=>[:day, '/', :month, 'T', :hour, ':', :minute]).to_s.should == %{<select id="bar" name="foo[day]">#{sel(1..31, 5)}</select>/<select id="bar_month" name="foo[month]">#{sel(1..12, 6)}</select>T<select id="bar_hour" name="foo[hour]">#{sel(0..23, 4)}</select>:<select id="bar_minute" name="foo[minute]">#{sel(0..59, 3)}</select>}
|
284
|
+
end
|
285
|
+
|
286
|
+
specify "should support :select_options for datetimes when :as=>:select option is given" do
|
287
|
+
@f.input(:datetime, :name=>"foo", :id=>"bar", :as=>:select, :value=>DateTime.new(2011, 6, 5, 10, 3, 2), :select_options=>{:year=>1970..2020, :hour=>9..17}).to_s.should == %{<select id="bar" name="foo[year]">#{sel(1970..2020, 2011)}</select>-<select id="bar_month" name="foo[month]">#{sel(1..12, 6)}</select>-<select id="bar_day" name="foo[day]">#{sel(1..31, 5)}</select> <select id="bar_hour" name="foo[hour]">#{sel(9..17, 10)}</select>:<select id="bar_minute" name="foo[minute]">#{sel(0..59, 3)}</select>:<select id="bar_second" name="foo[second]">#{sel(0..59, 2)}</select>}
|
264
288
|
end
|
265
289
|
|
266
290
|
specify "should create select tag with options" do
|
@@ -272,6 +296,14 @@ describe "Forme plain forms" do
|
|
272
296
|
@f.input(:select, :options=>[[:a, 1], [:b, 2], [:c, 3]], :selected=>2).to_s.should == '<select><option value="1">a</option><option selected="selected" value="2">b</option><option value="3">c</option></select>'
|
273
297
|
end
|
274
298
|
|
299
|
+
specify "should create select tag with option groups" do
|
300
|
+
@f.input(:select, :optgroups=>[['d', [[:a, 1], [:b, 2]]], ['e', [[:c, 3]]]], :selected=>2).to_s.should == '<select><optgroup label="d"><option value="1">a</option><option selected="selected" value="2">b</option></optgroup><optgroup label="e"><option value="3">c</option></optgroup></select>'
|
301
|
+
end
|
302
|
+
|
303
|
+
specify "should create select tag with option groups with attributes" do
|
304
|
+
@f.input(:select, :optgroups=>[[{:label=>'d', :class=>'f'}, [[:a, 1], [:b, 2]]], [{:label=>'e', :class=>'g'}, [[:c, 3]]]], :selected=>2).to_s.should == '<select><optgroup class="f" label="d"><option value="1">a</option><option selected="selected" value="2">b</option></optgroup><optgroup class="g" label="e"><option value="3">c</option></optgroup></select>'
|
305
|
+
end
|
306
|
+
|
275
307
|
specify "should create select tag with options and values with hashes" do
|
276
308
|
@f.input(:select, :options=>[[:a, {:foo=>1}], [:b, {:bar=>4, :value=>2}], [:c, {:baz=>3}]], :selected=>2).to_s.should == '<select><option foo="1">a</option><option bar="4" selected="selected" value="2">b</option><option baz="3">c</option></select>'
|
277
309
|
end
|
@@ -304,6 +336,14 @@ describe "Forme plain forms" do
|
|
304
336
|
@f.input(:select, :options=>[[:b, 2], [:c, 3]], :add_blank=>"Prompt Here", :value=>2).to_s.should == '<select><option value="">Prompt Here</option><option selected="selected" value="2">b</option><option value="3">c</option></select>'
|
305
337
|
end
|
306
338
|
|
339
|
+
specify "should support :add_blank option with :blank_position :after for select inputs" do
|
340
|
+
@f.input(:select, :options=>[[:b, 2], [:c, 3]], :add_blank=>true, :blank_position=>:after, :value=>2).to_s.should == '<select><option selected="selected" value="2">b</option><option value="3">c</option><option value=""></option></select>'
|
341
|
+
end
|
342
|
+
|
343
|
+
specify "should support :add_blank option with :blank_attr option for select inputs" do
|
344
|
+
@f.input(:select, :options=>[[:b, 2], [:c, 3]], :add_blank=>true, :blank_attr=>{:foo=>:bar}, :value=>2).to_s.should == '<select><option foo="bar" value=""></option><option selected="selected" value="2">b</option><option value="3">c</option></select>'
|
345
|
+
end
|
346
|
+
|
307
347
|
specify "should create set of radio buttons" do
|
308
348
|
@f.input(:radioset, :options=>[1, 2, 3], :selected=>2).to_s.should == '<label class="option"><input type="radio" value="1"/> 1</label><label class="option"><input checked="checked" type="radio" value="2"/> 2</label><label class="option"><input type="radio" value="3"/> 3</label>'
|
309
349
|
@f.input(:radioset, :options=>[1, 2, 3], :value=>2).to_s.should == '<label class="option"><input type="radio" value="1"/> 1</label><label class="option"><input checked="checked" type="radio" value="2"/> 2</label><label class="option"><input type="radio" value="3"/> 3</label>'
|
@@ -334,6 +374,10 @@ describe "Forme plain forms" do
|
|
334
374
|
@f.input(:radioset, :options=>[1, 2, 3], :key=>:foo, :value=>2).to_s.should == '<label class="option"><input id="foo_1" name="foo" type="radio" value="1"/> 1</label><label class="option"><input checked="checked" id="foo_2" name="foo" type="radio" value="2"/> 2</label><label class="option"><input id="foo_3" name="foo" type="radio" value="3"/> 3</label>'
|
335
375
|
end
|
336
376
|
|
377
|
+
specify "should create set of radio buttons with fieldsets and legends for :optgroups" do
|
378
|
+
@f.input(:radioset, :optgroups=>[['d', [[:a, 1], [:b, 2]]], ['e', [[:c, 3]]]], :selected=>2).to_s.should == '<fieldset><legend>d</legend><label class="option"><input type="radio" value="1"/> a</label><label class="option"><input checked="checked" type="radio" value="2"/> b</label></fieldset><fieldset><legend>e</legend><label class="option"><input type="radio" value="3"/> c</label></fieldset>'
|
379
|
+
end
|
380
|
+
|
337
381
|
specify "should create set of checkbox buttons" do
|
338
382
|
@f.input(:checkboxset, :options=>[1, 2, 3], :selected=>2).to_s.should == '<label class="option"><input type="checkbox" value="1"/> 1</label><label class="option"><input checked="checked" type="checkbox" value="2"/> 2</label><label class="option"><input type="checkbox" value="3"/> 3</label>'
|
339
383
|
@f.input(:checkboxset, :options=>[1, 2, 3], :value=>2).to_s.should == '<label class="option"><input type="checkbox" value="1"/> 1</label><label class="option"><input checked="checked" type="checkbox" value="2"/> 2</label><label class="option"><input type="checkbox" value="3"/> 3</label>'
|
@@ -376,6 +420,10 @@ describe "Forme plain forms" do
|
|
376
420
|
@f.input(:checkboxset, :options=>[1, 2, 3], :error=>'foo', :value=>2).to_s.should == '<label class="option"><input type="checkbox" value="1"/> 1</label><label class="option"><input checked="checked" type="checkbox" value="2"/> 2</label><label class="option"><input class="error" type="checkbox" value="3"/> 3</label><span class="error_message">foo</span>'
|
377
421
|
end
|
378
422
|
|
423
|
+
specify "should create set of checkbox buttons with fieldsets and legends for optgroups" do
|
424
|
+
@f.input(:checkboxset, :optgroups=>[['d', [[:a, 1], [:b, 2]]], ['e', [[:c, 3]]]], :selected=>2).to_s.should == '<fieldset><legend>d</legend><label class="option"><input type="checkbox" value="1"/> a</label><label class="option"><input checked="checked" type="checkbox" value="2"/> b</label></fieldset><fieldset><legend>e</legend><label class="option"><input type="checkbox" value="3"/> c</label></fieldset>'
|
425
|
+
end
|
426
|
+
|
379
427
|
specify "should raise an Error for empty checkbox sets" do
|
380
428
|
@f.input(:checkboxset, :options=>[], :error=>'foo', :value=>2).to_s.should == '<span class="error_message">foo</span>'
|
381
429
|
end
|
@@ -545,8 +593,8 @@ describe "Forme plain forms" do
|
|
545
593
|
|
546
594
|
specify "should format dates, times, and datetimes in ISO format" do
|
547
595
|
@f.tag(:div, :foo=>Date.new(2011, 6, 5)).to_s.should == '<div foo="2011-06-05"></div>'
|
548
|
-
@f.tag(:div, :foo=>DateTime.new(2011, 6, 5, 4, 3, 2)).to_s.should == '<div foo="2011-06-
|
549
|
-
@f.tag(:div, :foo=>Time.utc(2011, 6, 5, 4, 3, 2)).to_s.should =~ /<div foo="2011-06-
|
596
|
+
@f.tag(:div, :foo=>DateTime.new(2011, 6, 5, 4, 3, 2)).to_s.should == '<div foo="2011-06-05T04:03:02.000000"></div>'
|
597
|
+
@f.tag(:div, :foo=>Time.utc(2011, 6, 5, 4, 3, 2)).to_s.should =~ /<div foo="2011-06-05T04:03:02.000000"><\/div>/
|
550
598
|
end
|
551
599
|
|
552
600
|
specify "should format bigdecimals in standard notation" do
|
@@ -561,6 +609,18 @@ describe "Forme plain forms" do
|
|
561
609
|
@f.input(:text, :wrapper=>:li, :wrapper_attr=>{:class=>"foo"}).to_s.should == '<li class="foo"><input type="text"/></li>'
|
562
610
|
end
|
563
611
|
|
612
|
+
specify "inputs should accept a :help option to use custom helper text" do
|
613
|
+
@f.input(:text, :help=>"List type of foo").to_s.should == '<input type="text"/><span class="helper">List type of foo</span>'
|
614
|
+
end
|
615
|
+
|
616
|
+
specify "inputs should accept a :helper_attr option for custom helper attributes" do
|
617
|
+
@f.input(:text, :help=>"List type of foo", :helper_attr=>{:class=>'foo'}).to_s.should == '<input type="text"/><span class="foo helper">List type of foo</span>'
|
618
|
+
end
|
619
|
+
|
620
|
+
specify "inputs should have helper displayed inside wrapper, after error" do
|
621
|
+
@f.input(:text, :help=>"List type of foo", :error=>'bad', :wrapper=>:li).to_s.should == '<li><input class="error" type="text"/><span class="error_message">bad</span><span class="helper">List type of foo</span></li>'
|
622
|
+
end
|
623
|
+
|
564
624
|
specify "inputs should accept a :formatter option to use a custom formatter" do
|
565
625
|
@f.input(:text, :formatter=>:readonly, :value=>'1', :label=>'Foo').to_s.should == '<label>Foo: <span>1</span></label>'
|
566
626
|
@f.input(:text, :formatter=>:default, :value=>'1', :label=>'Foo').to_s.should == '<label>Foo: <input type="text" value="1"/></label>'
|
data/spec/sequel_plugin_spec.rb
CHANGED
@@ -53,12 +53,12 @@ describe "Forme Sequel::Model forms" do
|
|
53
53
|
end
|
54
54
|
|
55
55
|
specify "should use datetime inputs for Time" do
|
56
|
-
@b.input(:created_at).to_s.should =~ %r{<label>Created at: <input id="album_created_at" name="album\[created_at\]" type="datetime" value="2011-06-
|
56
|
+
@b.input(:created_at).to_s.should =~ %r{<label>Created at: <input id="album_created_at" name="album\[created_at\]" type="datetime-local" value="2011-06-05T00:00:00.000000"/></label>}
|
57
57
|
end
|
58
58
|
|
59
59
|
specify "should use datetime inputs for DateTimes" do
|
60
60
|
@ab.values[:created_at] = DateTime.new(2011, 6, 5)
|
61
|
-
@b.input(:created_at).to_s.should == '<label>Created at: <input id="album_created_at" name="album[created_at]" type="datetime" value="2011-06-
|
61
|
+
@b.input(:created_at).to_s.should == '<label>Created at: <input id="album_created_at" name="album[created_at]" type="datetime-local" value="2011-06-05T00:00:00.000000"/></label>'
|
62
62
|
end
|
63
63
|
|
64
64
|
specify "should include type as wrapper class" do
|
@@ -66,7 +66,7 @@ describe "Forme Sequel::Model forms" do
|
|
66
66
|
f = Forme::Form.new(@ab, :wrapper=>:li)
|
67
67
|
f.input(:name).to_s.should == '<li class="string"><label>Name: <input id="album_name" name="album[name]" type="text" value="b"/></label></li>'
|
68
68
|
f.input(:release_date).to_s.should == '<li class="date"><label>Release date: <input id="album_release_date" name="album[release_date]" type="date" value="2011-06-05"/></label></li>'
|
69
|
-
f.input(:created_at).to_s.should == '<li class="datetime"><label>Created at: <input id="album_created_at" name="album[created_at]" type="datetime" value="2011-06-
|
69
|
+
f.input(:created_at).to_s.should == '<li class="datetime"><label>Created at: <input id="album_created_at" name="album[created_at]" type="datetime-local" value="2011-06-05T00:00:00.000000"/></label></li>'
|
70
70
|
end
|
71
71
|
|
72
72
|
specify "should include required * in label if required" do
|
@@ -95,6 +95,10 @@ describe "Forme Sequel::Model forms" do
|
|
95
95
|
@b.input(:gold, :true_value=>"Foo", :false_value=>"Bar").to_s.should == '<label>Gold: <select id="album_gold" name="album[gold]"><option value=""></option><option value="Foo">True</option><option value="Bar">False</option></select></label>'
|
96
96
|
end
|
97
97
|
|
98
|
+
specify "should respect :add_blank option for tri-valued boolean fields" do
|
99
|
+
@b.input(:gold, :add_blank=>'NULL').to_s.should == '<label>Gold: <select id="album_gold" name="album[gold]"><option value="">NULL</option><option value="t">True</option><option selected="selected" value="f">False</option></select></label>'
|
100
|
+
end
|
101
|
+
|
98
102
|
specify "should use a select box for dual-valued boolean fields where :required => false" do
|
99
103
|
@b.input(:platinum, :required=>false).to_s.should == '<label>Platinum: <select id="album_platinum" name="album[platinum]"><option value=""></option><option value="t">True</option><option selected="selected" value="f">False</option></select></label>'
|
100
104
|
@c.input(:platinum, :required=>false).to_s.should == '<label>Platinum: <select id="album_platinum" name="album[platinum]"><option value=""></option><option selected="selected" value="t">True</option><option value="f">False</option></select></label>'
|
@@ -240,6 +244,12 @@ describe "Forme Sequel::Model forms" do
|
|
240
244
|
@c.input(:atags).to_s.should == '<label>Atags: <select id="album_atag_ids" multiple="multiple" name="album[atag_ids][]"><option value="1">s</option><option selected="selected" value="2">t</option><option value="3">u</option></select></label>'
|
241
245
|
end
|
242
246
|
|
247
|
+
specify "should handle an error message on the underlying column for pg_array_to_many associations" do
|
248
|
+
@ab.errors.add(:atag_ids, 'tis not valid')
|
249
|
+
@b.input(:atags).to_s.should == '<label>Atags: <select class="error" id="album_atag_ids" multiple="multiple" name="album[atag_ids][]"><option selected="selected" value="1">s</option><option selected="selected" value="2">t</option><option value="3">u</option></select></label><span class="error_message">tis not valid</span>'
|
250
|
+
@b.input(:atags, :as=>:checkbox).to_s.should == '<span class="label">Atags</span><label class="option"><input checked="checked" id="album_atag_ids_1" name="album[atag_ids][]" type="checkbox" value="1"/> s</label><label class="option"><input checked="checked" id="album_atag_ids_2" name="album[atag_ids][]" type="checkbox" value="2"/> t</label><label class="option"><input class="error" id="album_atag_ids_3" name="album[atag_ids][]" type="checkbox" value="3"/> u</label><span class="error_message">tis not valid</span>'
|
251
|
+
end
|
252
|
+
|
243
253
|
specify "should use a regular select box for *_to_many associations if multiple if false" do
|
244
254
|
@b.input(:tracks, :multiple=>false).to_s.should == '<label>Tracks: <select id="album_track_pks" name="album[track_pks][]"><option value="1">m</option><option value="2">n</option><option value="3">o</option></select></label>'
|
245
255
|
@c.input(:tags, :multiple=>false).to_s.should == '<label>Tags: <select id="album_tag_pks" name="album[tag_pks][]"><option value="1">s</option><option value="2">t</option><option value="3">u</option></select></label>'
|
@@ -406,6 +416,11 @@ describe "Forme Sequel::Model forms" do
|
|
406
416
|
specify "should have #subform :grid option handle :legend and :labels nil values" do
|
407
417
|
Forme.form(@ab){|f| f.subform(:artist, :inputs=>[:name], :grid=>true, :legend=>nil, :labels=>nil)}.to_s.should == '<form class="forme album" method="post"><table><input id="album_artist_attributes_id" name="album[artist_attributes][id]" type="hidden" value="1"/><tr><td class="string"><input id="album_artist_attributes_name" name="album[artist_attributes][name]" type="text" value="a"/></td></tr></table></form>'
|
408
418
|
end
|
419
|
+
|
420
|
+
specify "should have #subform :grid option handle :skip_primary_key option" do
|
421
|
+
Forme.form(@ab){|f| f.subform(:artist, :inputs=>[:name], :grid=>true, :skip_primary_key=>true)}.to_s.should == '<form class="forme album" method="post"><table><caption>Artist</caption><tr><th>Name</th></tr><tr><td class="string"><input id="album_artist_attributes_name" name="album[artist_attributes][name]" type="text" value="a"/></td></tr></table></form>'
|
422
|
+
end
|
423
|
+
|
409
424
|
end
|
410
425
|
|
411
426
|
describe "Forme Sequel plugin default input types based on column names" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: forme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |
|
14
14
|
Forme is a forms library with the following goals:
|
@@ -31,8 +31,19 @@ files:
|
|
31
31
|
- Rakefile
|
32
32
|
- lib/forme.rb
|
33
33
|
- lib/forme/erb.rb
|
34
|
+
- lib/forme/form.rb
|
35
|
+
- lib/forme/input.rb
|
34
36
|
- lib/forme/rails.rb
|
37
|
+
- lib/forme/raw.rb
|
35
38
|
- lib/forme/sinatra.rb
|
39
|
+
- lib/forme/tag.rb
|
40
|
+
- lib/forme/transformers/error_handler.rb
|
41
|
+
- lib/forme/transformers/formatter.rb
|
42
|
+
- lib/forme/transformers/helper.rb
|
43
|
+
- lib/forme/transformers/inputs_wrapper.rb
|
44
|
+
- lib/forme/transformers/labeler.rb
|
45
|
+
- lib/forme/transformers/serializer.rb
|
46
|
+
- lib/forme/transformers/wrapper.rb
|
36
47
|
- lib/forme/version.rb
|
37
48
|
- lib/roda/plugins/forme.rb
|
38
49
|
- lib/sequel/plugins/forme.rb
|
@@ -45,7 +56,7 @@ files:
|
|
45
56
|
- spec/sequel_plugin_spec.rb
|
46
57
|
- spec/sinatra_integration_spec.rb
|
47
58
|
- spec/spec_helper.rb
|
48
|
-
homepage: http://
|
59
|
+
homepage: http://github.com/jeremyevans/forme
|
49
60
|
licenses:
|
50
61
|
- MIT
|
51
62
|
metadata: {}
|
@@ -72,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
72
83
|
version: '0'
|
73
84
|
requirements: []
|
74
85
|
rubyforge_project:
|
75
|
-
rubygems_version: 2.
|
86
|
+
rubygems_version: 2.4.5
|
76
87
|
signing_key:
|
77
88
|
specification_version: 4
|
78
89
|
summary: HTML forms library
|