form-bootstrap 0.0.2 → 0.0.3

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/README.md CHANGED
@@ -40,7 +40,10 @@ Example Form
40
40
  <%= f.text_field :email, autofocus: :true %>
41
41
  <%= f.password_field :password, help: 'Must be at least 6 characters long' %>
42
42
  <%= f.password_field :password_confirmation, label: 'Confirm Password' %>
43
- <%= f.actions 'Sign Up' %>
43
+
44
+ <%= f.actions do %>
45
+ <%= f.primary 'Sign Up' %>
46
+ <% end %>
44
47
  </fieldset>
45
48
  <% end %>
46
49
 
@@ -7,26 +7,31 @@ module FormBootstrap
7
7
  @help_css = (options[:help].try(:to_sym) == :block) ? 'help-block' : 'help-inline'
8
8
  end
9
9
 
10
- %w{text_field text_area password_field collection_select}.each do |method_name|
10
+ %w{text_field text_area password_field collection_select file_field date_select}.each do |method_name|
11
11
  define_method(method_name) do |name, *args|
12
- options = args.extract_options!.stringify_keys
12
+ options = args.extract_options!.symbolize_keys!
13
13
  content_tag :div, class: "clearfix#{(' error' if object.errors[name].any?)}" do
14
- label(name, options['label']) +
14
+ label(name, options[:label]) +
15
15
  content_tag(:div, class: 'input') do
16
- help = object.errors[name].any? ? object.errors[name].join(', ') : options['help']
16
+ help = object.errors[name].any? ? object.errors[name].join(', ') : options[:help]
17
17
  help = content_tag(:span, class: @help_css) { help } if help
18
- super(name, *args, options.except('label', 'help')) + help
18
+ args << options.except(:label, :help)
19
+ super(name, *args) + help
19
20
  end
20
21
  end
21
22
  end
22
23
  end
23
24
 
24
- def actions(name)
25
+ def actions(&block)
25
26
  content_tag :div, class: "actions" do
26
- submit name, class: 'btn primary'
27
+ block.call
27
28
  end
28
29
  end
29
30
 
31
+ def primary(name)
32
+ submit name, class: 'btn primary'
33
+ end
34
+
30
35
  def alert_message(title, *args)
31
36
  options = args.extract_options!
32
37
  css = options[:class] || "alert-message error"
@@ -1,3 +1,3 @@
1
1
  module FormBootstrap
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
Binary file
@@ -5,6 +5,7 @@ class CreateUsers < ActiveRecord::Migration
5
5
  t.string :password
6
6
  t.text :comments
7
7
  t.string :status
8
+ t.string :misc
8
9
 
9
10
  t.timestamps
10
11
  end
@@ -18,6 +18,7 @@ ActiveRecord::Schema.define(:version => 20120106063521) do
18
18
  t.string "password"
19
19
  t.text "comments"
20
20
  t.string "status"
21
+ t.string "misc"
21
22
  t.datetime "created_at"
22
23
  t.datetime "updated_at"
23
24
  end
Binary file
@@ -17,3 +17,22 @@ Migrating to CreateUsers (20120106063521)
17
17
   (1.4ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
18
18
   (0.1ms) SELECT version FROM "schema_migrations"
19
19
   (1.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20120106063521')
20
+  (0.1ms) select sqlite_version(*)
21
+  (1.4ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
22
+  (0.0ms) PRAGMA index_list("schema_migrations")
23
+  (1.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
24
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
25
+ Migrating to CreateUsers (20120106063521)
26
+  (0.6ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255), "password" varchar(255), "comments" text, "status" varchar(255), "misc" varchar(255), "created_at" datetime, "updated_at" datetime)
27
+  (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES ('20120106063521')
28
+  (0.3ms) select sqlite_version(*)
29
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
30
+  (0.0ms) PRAGMA index_list("users")
31
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" 
32
+  (0.2ms) select sqlite_version(*)
33
+  (2.6ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255), "password" varchar(255), "comments" text, "status" varchar(255), "misc" varchar(255), "created_at" datetime, "updated_at" datetime) 
34
+  (1.2ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
35
+  (0.0ms) PRAGMA index_list("schema_migrations")
36
+  (2.0ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
37
+  (0.1ms) SELECT version FROM "schema_migrations"
38
+  (1.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20120106063521')
@@ -45,6 +45,16 @@ class FormBootstrapTest < ActionView::TestCase
45
45
  assert_equal expected, @builder.collection_select(:status, [], :id, :name)
46
46
  end
47
47
 
48
+ test "file fields are wrapped correctly" do
49
+ expected = %{<div class="clearfix"><label for="user_misc">Misc</label><div class="input"><input id="user_misc" name="user[misc]" type="file" /></div></div>}
50
+ assert_equal expected, @builder.file_field(:misc)
51
+ end
52
+
53
+ test "date selects are wrapped correctly" do
54
+ expected = %{<div class="clearfix"><label for="user_misc">Misc</label><div class="input"><select id="user_misc_1i" name="user[misc(1i)]">\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n<option value="2010">2010</option>\n<option value="2011">2011</option>\n<option selected="selected" value="2012">2012</option>\n<option value="2013">2013</option>\n<option value="2014">2014</option>\n<option value="2015">2015</option>\n<option value="2016">2016</option>\n<option value="2017">2017</option>\n</select>\n<select id="user_misc_2i" name="user[misc(2i)]">\n<option selected="selected" value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n</select>\n<select id="user_misc_3i" name="user[misc(3i)]">\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option selected="selected" value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n</select>\n</div></div>}
55
+ assert_equal expected, @builder.date_select(:misc)
56
+ end
57
+
48
58
  test "changing the label text" do
49
59
  expected = %{<div class="clearfix"><label for="user_email">Email Address</label><div class="input"><input id="user_email" name="user[email]" size="30" type="text" value="steve@example.com" /></div></div>}
50
60
  assert_equal expected, @builder.text_field(:email, label: 'Email Address')
@@ -61,8 +71,16 @@ class FormBootstrapTest < ActionView::TestCase
61
71
  end
62
72
 
63
73
  test "actions are wrapped correctly" do
64
- expected = %{<div class="actions"><input class="btn primary" name="commit" type="submit" value="Submit" /></div>}
65
- assert_equal expected, @builder.actions('Submit')
74
+ output = @builder.actions do
75
+ 'something'
76
+ end
77
+ expected = %{<div class="actions">something</div>}
78
+ assert_equal expected, output
79
+ end
80
+
81
+ test "primary buttons the correct classes" do
82
+ expected = %{<input class="btn primary" name="commit" type="submit" value="Submit" />}
83
+ assert_equal expected, @builder.primary('Submit')
66
84
  end
67
85
 
68
86
  test "passing :help :block to the form builder" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: form-bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-06 00:00:00.000000000 Z
12
+ date: 2012-01-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70259696646240 !ruby/object:Gem::Requirement
16
+ requirement: &70366623207280 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.3
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70259696646240
24
+ version_requirements: *70366623207280
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sqlite3
27
- requirement: &70259696643700 !ruby/object:Gem::Requirement
27
+ requirement: &70366623206340 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70259696643700
35
+ version_requirements: *70366623206340
36
36
  description: Provides a builder that makes it super easy to take advantage of Twitter
37
37
  Bootstrap forms styles.
38
38
  email: