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 +4 -1
- data/lib/form-bootstrap/builder.rb +12 -7
- data/lib/form-bootstrap/version.rb +1 -1
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20120106063521_create_users.rb +1 -0
- data/test/dummy/db/schema.rb +1 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +19 -0
- data/test/form-bootstrap_test.rb +20 -2
- metadata +6 -6
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
|
-
|
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!.
|
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[
|
14
|
+
label(name, options[:label]) +
|
15
15
|
content_tag(:div, class: 'input') do
|
16
|
-
help = object.errors[name].any? ? object.errors[name].join(', ') : options[
|
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
|
-
|
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(
|
25
|
+
def actions(&block)
|
25
26
|
content_tag :div, class: "actions" do
|
26
|
-
|
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"
|
Binary file
|
data/test/dummy/db/schema.rb
CHANGED
data/test/dummy/db/test.sqlite3
CHANGED
Binary file
|
@@ -17,3 +17,22 @@ Migrating to CreateUsers (20120106063521)
|
|
17
17
|
[1m[35m (1.4ms)[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
|
18
18
|
[1m[36m (0.1ms)[0m [1mSELECT version FROM "schema_migrations"[0m
|
19
19
|
[1m[35m (1.2ms)[0m INSERT INTO "schema_migrations" (version) VALUES ('20120106063521')
|
20
|
+
[1m[36m (0.1ms)[0m [1mselect sqlite_version(*)[0m
|
21
|
+
[1m[35m (1.4ms)[0m CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
|
22
|
+
[1m[36m (0.0ms)[0m [1mPRAGMA index_list("schema_migrations")[0m
|
23
|
+
[1m[35m (1.2ms)[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
|
24
|
+
[1m[36m (0.1ms)[0m [1mSELECT "schema_migrations"."version" FROM "schema_migrations" [0m
|
25
|
+
Migrating to CreateUsers (20120106063521)
|
26
|
+
[1m[35m (0.6ms)[0m 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
|
+
[1m[36m (0.1ms)[0m [1mINSERT INTO "schema_migrations" ("version") VALUES ('20120106063521')[0m
|
28
|
+
[1m[35m (0.3ms)[0m select sqlite_version(*)
|
29
|
+
[1m[36m (0.1ms)[0m [1mSELECT "schema_migrations"."version" FROM "schema_migrations" [0m
|
30
|
+
[1m[35m (0.0ms)[0m PRAGMA index_list("users")
|
31
|
+
[1m[36m (0.1ms)[0m [1mSELECT "schema_migrations"."version" FROM "schema_migrations" [0m
|
32
|
+
[1m[35m (0.2ms)[0m select sqlite_version(*)
|
33
|
+
[1m[36m (2.6ms)[0m [1mCREATE 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) [0m
|
34
|
+
[1m[35m (1.2ms)[0m CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
|
35
|
+
[1m[36m (0.0ms)[0m [1mPRAGMA index_list("schema_migrations")[0m
|
36
|
+
[1m[35m (2.0ms)[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
|
37
|
+
[1m[36m (0.1ms)[0m [1mSELECT version FROM "schema_migrations"[0m
|
38
|
+
[1m[35m (1.2ms)[0m INSERT INTO "schema_migrations" (version) VALUES ('20120106063521')
|
data/test/form-bootstrap_test.rb
CHANGED
@@ -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
|
-
|
65
|
-
|
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.
|
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-
|
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: &
|
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: *
|
24
|
+
version_requirements: *70366623207280
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sqlite3
|
27
|
-
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: *
|
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:
|