comfy_bootstrap_form 4.0.0.beta1

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.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +621 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/stylesheets/rails_bootstrap_forms.css +10 -0
  6. data/lib/bootstrap_form.rb +13 -0
  7. data/lib/bootstrap_form/aliasing.rb +35 -0
  8. data/lib/bootstrap_form/form_builder.rb +460 -0
  9. data/lib/bootstrap_form/helper.rb +36 -0
  10. data/lib/bootstrap_form/helpers/bootstrap.rb +94 -0
  11. data/lib/bootstrap_form/helpers/nested_form.rb +33 -0
  12. data/lib/bootstrap_form/version.rb +3 -0
  13. data/lib/comfy_bootstrap_form.rb +1 -0
  14. data/test/bootstrap_checkbox_test.rb +144 -0
  15. data/test/bootstrap_fields_test.rb +152 -0
  16. data/test/bootstrap_form_group_test.rb +313 -0
  17. data/test/bootstrap_form_test.rb +276 -0
  18. data/test/bootstrap_other_components_test.rb +86 -0
  19. data/test/bootstrap_radio_button_test.rb +124 -0
  20. data/test/bootstrap_selects_test.rb +160 -0
  21. data/test/dummy/Gemfile +45 -0
  22. data/test/dummy/Gemfile.lock +120 -0
  23. data/test/dummy/README.rdoc +28 -0
  24. data/test/dummy/Rakefile +10 -0
  25. data/test/dummy/app/assets/javascripts/application.js +16 -0
  26. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  27. data/test/dummy/app/controllers/application_controller.rb +5 -0
  28. data/test/dummy/app/helpers/application_helper.rb +2 -0
  29. data/test/dummy/app/models/address.rb +3 -0
  30. data/test/dummy/app/models/faux_user.rb +9 -0
  31. data/test/dummy/app/models/super_user.rb +2 -0
  32. data/test/dummy/app/models/user.rb +9 -0
  33. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  34. data/test/dummy/bin/bundle +3 -0
  35. data/test/dummy/bin/rails +4 -0
  36. data/test/dummy/bin/rake +4 -0
  37. data/test/dummy/config.ru +4 -0
  38. data/test/dummy/config/application.rb +23 -0
  39. data/test/dummy/config/boot.rb +4 -0
  40. data/test/dummy/config/database.yml +25 -0
  41. data/test/dummy/config/environment.rb +5 -0
  42. data/test/dummy/config/environments/development.rb +29 -0
  43. data/test/dummy/config/environments/production.rb +80 -0
  44. data/test/dummy/config/environments/test.rb +53 -0
  45. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  46. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  47. data/test/dummy/config/initializers/generic_migration.rb +6 -0
  48. data/test/dummy/config/initializers/inflections.rb +16 -0
  49. data/test/dummy/config/initializers/mime_types.rb +5 -0
  50. data/test/dummy/config/initializers/secret_token.rb +12 -0
  51. data/test/dummy/config/initializers/session_store.rb +3 -0
  52. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  53. data/test/dummy/config/locales/en.yml +23 -0
  54. data/test/dummy/config/routes.rb +3 -0
  55. data/test/dummy/db/migrate/20130703191909_create_users.rb +13 -0
  56. data/test/dummy/db/migrate/20130703191937_create_addresses.rb +13 -0
  57. data/test/dummy/db/migrate/20130912171202_add_preferences_to_user.rb +5 -0
  58. data/test/dummy/db/migrate/20140327190145_add_terms_to_user.rb +5 -0
  59. data/test/dummy/db/migrate/20140922133133_add_type_to_users.rb +5 -0
  60. data/test/dummy/db/schema.rb +38 -0
  61. data/test/dummy/db/seeds.rb +7 -0
  62. data/test/dummy/db/test.sqlite3 +0 -0
  63. data/test/dummy/log/test.log +18394 -0
  64. data/test/dummy/public/404.html +58 -0
  65. data/test/dummy/public/422.html +58 -0
  66. data/test/dummy/public/500.html +57 -0
  67. data/test/dummy/public/favicon.ico +0 -0
  68. data/test/dummy/public/robots.txt +5 -0
  69. data/test/dummy/test/fixtures/addresses.yml +15 -0
  70. data/test/dummy/test/fixtures/users.yml +15 -0
  71. data/test/dummy/test/models/address_test.rb +7 -0
  72. data/test/dummy/test/models/user_test.rb +7 -0
  73. data/test/dummy/test/test_helper.rb +15 -0
  74. data/test/special_form_class_models_test.rb +43 -0
  75. data/test/test_helper.rb +86 -0
  76. metadata +309 -0
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/404.html -->
52
+ <div class="dialog">
53
+ <h1>The page you were looking for doesn't exist.</h1>
54
+ <p>You may have mistyped the address or the page may have moved.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/422.html -->
52
+ <div class="dialog">
53
+ <h1>The change you wanted was rejected.</h1>
54
+ <p>Maybe you tried to change something you didn't have access to.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/500.html -->
52
+ <div class="dialog">
53
+ <h1>We're sorry, but something went wrong.</h1>
54
+ </div>
55
+ <p>If you are the application owner check the logs for more information.</p>
56
+ </body>
57
+ </html>
File without changes
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-agent: *
5
+ # Disallow: /
@@ -0,0 +1,15 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
2
+
3
+ one:
4
+ user_id: 1
5
+ street: MyString
6
+ city: MyString
7
+ state: MyString
8
+ zip_code: MyString
9
+
10
+ two:
11
+ user_id: 1
12
+ street: MyString
13
+ city: MyString
14
+ state: MyString
15
+ zip_code: MyString
@@ -0,0 +1,15 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html
2
+
3
+ one:
4
+ email: MyString
5
+ password: MyString
6
+ comments: MyText
7
+ status: MyString
8
+ misc: MyString
9
+
10
+ two:
11
+ email: MyString
12
+ password: MyString
13
+ comments: MyText
14
+ status: MyString
15
+ misc: MyString
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class AddressTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class UserTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,15 @@
1
+ ENV["RAILS_ENV"] ||= "test"
2
+ require File.expand_path('../../config/environment', __FILE__)
3
+ require 'rails/test_help'
4
+
5
+ class ActiveSupport::TestCase
6
+ ActiveRecord::Migration.check_pending!
7
+
8
+ # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
9
+ #
10
+ # Note: You'll currently still have to declare fixtures explicitly in integration tests
11
+ # -- they do not yet inherit this setting
12
+ fixtures :all
13
+
14
+ # Add more helper methods to be used by all tests here...
15
+ end
@@ -0,0 +1,43 @@
1
+ require 'test_helper'
2
+
3
+ class SpecialFormClassModelsTest < ActionView::TestCase
4
+ include BootstrapForm::Helper
5
+
6
+ test "Anonymous models are supported for form builder" do
7
+ user_klass = Class.new(User)
8
+ def user_klass.model_name
9
+ ActiveModel::Name.new(User)
10
+ end
11
+
12
+ @user = user_klass.new(email: 'steve@example.com', password: 'secret', comments: 'my comment')
13
+ @builder = BootstrapForm::FormBuilder.new(:user, @user, self, {})
14
+ @horizontal_builder = BootstrapForm::FormBuilder.new(:user, @user, self, {layout: :horizontal, label_col: "col-sm-2", control_col: "col-sm-10"})
15
+ I18n.backend.store_translations(:en, {activerecord: {help: {user: {password: "A good password should be at least six characters long"}}}})
16
+
17
+ expected = %{<div class="form-group"><label class="form-control-label" for="user_misc">Misc</label><input class="form-control" id="user_misc" name="user[misc]" type="date" /></div>}
18
+ assert_equivalent_xml expected, @builder.date_field(:misc)
19
+ end
20
+
21
+ test "Nil models are supported for form builder" do
22
+ @user = nil
23
+ @builder = BootstrapForm::FormBuilder.new(:user, @user, self, {})
24
+ @horizontal_builder = BootstrapForm::FormBuilder.new(:user, @user, self, {layout: :horizontal, label_col: "col-sm-2", control_col: "col-sm-10"})
25
+ I18n.backend.store_translations(:en, {activerecord: {help: {user: {password: "A good password should be at least six characters long"}}}})
26
+
27
+ expected = %{<div class="form-group"><label class="form-control-label" for="user_misc">Misc</label><input class="form-control" id="user_misc" name="user[misc]" type="date" /></div>}
28
+ assert_equivalent_xml expected, @builder.date_field(:misc)
29
+ end
30
+
31
+ test "Objects without model names are supported for form builder" do
32
+ user_klass = FauxUser
33
+
34
+ @user = user_klass.new(email: 'steve@example.com', password: 'secret', comments: 'my comment')
35
+ @builder = BootstrapForm::FormBuilder.new(:user, @user, self, {})
36
+ @horizontal_builder = BootstrapForm::FormBuilder.new(:user, @user, self, {layout: :horizontal, label_col: "col-sm-2", control_col: "col-sm-10"})
37
+ I18n.backend.store_translations(:en, {activerecord: {help: {faux_user: {password: "A good password should be at least six characters long"}}}})
38
+
39
+ expected = %{<div class="form-group"><label class="form-control-label" for="user_misc">Misc</label><input class="form-control" id="user_misc" name="user[misc]" type="date" /></div>}
40
+ assert_equivalent_xml expected, @builder.date_field(:misc)
41
+ end
42
+
43
+ end
@@ -0,0 +1,86 @@
1
+ require 'timecop'
2
+ require 'diffy'
3
+ require 'nokogiri'
4
+ require 'equivalent-xml'
5
+ require 'mocha/mini_test'
6
+
7
+ # Configure Rails Environment
8
+ ENV["RAILS_ENV"] = "test"
9
+
10
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
11
+ require "rails/test_help"
12
+
13
+ Rails.backtrace_cleaner.remove_silencers!
14
+
15
+ # Load support files
16
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
17
+
18
+ def setup_test_fixture
19
+ @user = User.new(email: 'steve@example.com', password: 'secret', comments: 'my comment')
20
+ @builder = BootstrapForm::FormBuilder.new(:user, @user, self, {})
21
+ @horizontal_builder = BootstrapForm::FormBuilder.new(:user, @user, self, { layout: :horizontal, label_col: "col-sm-2", control_col: "col-sm-10" })
22
+ I18n.backend.store_translations(:en, {
23
+ activerecord: {
24
+ attributes: {
25
+ user: {
26
+ email: "Email"
27
+ }
28
+ },
29
+ help: {
30
+ user: {
31
+ password: "A good password should be at least six characters long"
32
+ }
33
+ }
34
+ }
35
+ })
36
+ end
37
+
38
+ def sort_attributes doc
39
+ doc.dup.traverse do |node|
40
+ if node.is_a?(Nokogiri::XML::Element)
41
+ attributes = node.attribute_nodes.sort_by(&:name)
42
+ attributes.each do |attribute|
43
+ node.delete(attribute.name)
44
+ node[attribute.name] = attribute.value
45
+ end
46
+ end
47
+ node
48
+ end
49
+ end
50
+
51
+ class ActionView::TestCase
52
+ def assert_equivalent_xml(expected, actual)
53
+ expected_xml = Nokogiri::XML(expected)
54
+ actual_xml = Nokogiri::XML(actual)
55
+ ignored_attributes = %w(style data-disable-with)
56
+ equivalent = EquivalentXml.equivalent?(expected_xml, actual_xml, {
57
+ ignore_attr_values: ignored_attributes
58
+ }) do |a, b, result|
59
+ if result === false && b.is_a?(Nokogiri::XML::Element)
60
+ if b.attr('name') == 'utf8'
61
+ # Handle wrapped utf8 hidden field for Rails 4.2+
62
+ result = EquivalentXml.equivalent?(a.child, b)
63
+ end
64
+ if b.delete('data-disable-with')
65
+ # Remove data-disable-with for Rails 5+
66
+ # Workaround because ignoring in EquivalentXml doesn't work
67
+ result = EquivalentXml.equivalent?(a, b)
68
+ end
69
+ if a.attr('type') == 'datetime' && b.attr('type') == 'datetime-local'
70
+ a.delete('type')
71
+ b.delete('type')
72
+ # Handle new datetime type for Rails 5+
73
+ result = EquivalentXml.equivalent?(a, b)
74
+ end
75
+ end
76
+ result
77
+ end
78
+ assert equivalent, lambda {
79
+ # using a lambda because diffing is expensive
80
+ Diffy::Diff.new(
81
+ sort_attributes(expected_xml.root),
82
+ sort_attributes(actual_xml.root)
83
+ ).to_s(:color)
84
+ }
85
+ end
86
+ end
metadata ADDED
@@ -0,0 +1,309 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: comfy_bootstrap_form
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.0.0.beta1
5
+ platform: ruby
6
+ authors:
7
+ - Stephen Potenza
8
+ - Carlos Lopes
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2017-11-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: mime-types
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 2.6.2
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 2.6.2
28
+ - !ruby/object:Gem::Dependency
29
+ name: rails
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '4.0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '4.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: sqlite3
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: timecop
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: 0.7.1
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 0.7.1
70
+ - !ruby/object:Gem::Dependency
71
+ name: mocha
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: appraisal
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: equivalent-xml
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: nokogiri
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: diffy
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ description: bootstrap_form is a rails form builder that makes it super easy to create
141
+ beautiful-looking forms using Twitter Bootstrap 4
142
+ email:
143
+ - potenza@gmail.com
144
+ - carlos.el.lopes@gmail.com
145
+ executables: []
146
+ extensions: []
147
+ extra_rdoc_files: []
148
+ files:
149
+ - MIT-LICENSE
150
+ - README.md
151
+ - Rakefile
152
+ - app/assets/stylesheets/rails_bootstrap_forms.css
153
+ - lib/bootstrap_form.rb
154
+ - lib/bootstrap_form/aliasing.rb
155
+ - lib/bootstrap_form/form_builder.rb
156
+ - lib/bootstrap_form/helper.rb
157
+ - lib/bootstrap_form/helpers/bootstrap.rb
158
+ - lib/bootstrap_form/helpers/nested_form.rb
159
+ - lib/bootstrap_form/version.rb
160
+ - lib/comfy_bootstrap_form.rb
161
+ - test/bootstrap_checkbox_test.rb
162
+ - test/bootstrap_fields_test.rb
163
+ - test/bootstrap_form_group_test.rb
164
+ - test/bootstrap_form_test.rb
165
+ - test/bootstrap_other_components_test.rb
166
+ - test/bootstrap_radio_button_test.rb
167
+ - test/bootstrap_selects_test.rb
168
+ - test/dummy/Gemfile
169
+ - test/dummy/Gemfile.lock
170
+ - test/dummy/README.rdoc
171
+ - test/dummy/Rakefile
172
+ - test/dummy/app/assets/javascripts/application.js
173
+ - test/dummy/app/assets/stylesheets/application.css
174
+ - test/dummy/app/controllers/application_controller.rb
175
+ - test/dummy/app/helpers/application_helper.rb
176
+ - test/dummy/app/models/address.rb
177
+ - test/dummy/app/models/faux_user.rb
178
+ - test/dummy/app/models/super_user.rb
179
+ - test/dummy/app/models/user.rb
180
+ - test/dummy/app/views/layouts/application.html.erb
181
+ - test/dummy/bin/bundle
182
+ - test/dummy/bin/rails
183
+ - test/dummy/bin/rake
184
+ - test/dummy/config.ru
185
+ - test/dummy/config/application.rb
186
+ - test/dummy/config/boot.rb
187
+ - test/dummy/config/database.yml
188
+ - test/dummy/config/environment.rb
189
+ - test/dummy/config/environments/development.rb
190
+ - test/dummy/config/environments/production.rb
191
+ - test/dummy/config/environments/test.rb
192
+ - test/dummy/config/initializers/backtrace_silencers.rb
193
+ - test/dummy/config/initializers/filter_parameter_logging.rb
194
+ - test/dummy/config/initializers/generic_migration.rb
195
+ - test/dummy/config/initializers/inflections.rb
196
+ - test/dummy/config/initializers/mime_types.rb
197
+ - test/dummy/config/initializers/secret_token.rb
198
+ - test/dummy/config/initializers/session_store.rb
199
+ - test/dummy/config/initializers/wrap_parameters.rb
200
+ - test/dummy/config/locales/en.yml
201
+ - test/dummy/config/routes.rb
202
+ - test/dummy/db/migrate/20130703191909_create_users.rb
203
+ - test/dummy/db/migrate/20130703191937_create_addresses.rb
204
+ - test/dummy/db/migrate/20130912171202_add_preferences_to_user.rb
205
+ - test/dummy/db/migrate/20140327190145_add_terms_to_user.rb
206
+ - test/dummy/db/migrate/20140922133133_add_type_to_users.rb
207
+ - test/dummy/db/schema.rb
208
+ - test/dummy/db/seeds.rb
209
+ - test/dummy/db/test.sqlite3
210
+ - test/dummy/log/test.log
211
+ - test/dummy/public/404.html
212
+ - test/dummy/public/422.html
213
+ - test/dummy/public/500.html
214
+ - test/dummy/public/favicon.ico
215
+ - test/dummy/public/robots.txt
216
+ - test/dummy/test/fixtures/addresses.yml
217
+ - test/dummy/test/fixtures/users.yml
218
+ - test/dummy/test/models/address_test.rb
219
+ - test/dummy/test/models/user_test.rb
220
+ - test/dummy/test/test_helper.rb
221
+ - test/special_form_class_models_test.rb
222
+ - test/test_helper.rb
223
+ homepage: http://github.com/comfy/comfy-rails-bootstrap-forms
224
+ licenses: []
225
+ metadata: {}
226
+ post_install_message:
227
+ rdoc_options: []
228
+ require_paths:
229
+ - lib
230
+ required_ruby_version: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - ">="
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
235
+ required_rubygems_version: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ">"
238
+ - !ruby/object:Gem::Version
239
+ version: 1.3.1
240
+ requirements: []
241
+ rubyforge_project:
242
+ rubygems_version: 2.6.11
243
+ signing_key:
244
+ specification_version: 4
245
+ summary: Rails form builder that makes it easy to style forms using Twitter Bootstrap
246
+ 3+
247
+ test_files:
248
+ - test/bootstrap_form_group_test.rb
249
+ - test/bootstrap_other_components_test.rb
250
+ - test/test_helper.rb
251
+ - test/bootstrap_selects_test.rb
252
+ - test/special_form_class_models_test.rb
253
+ - test/dummy/config/application.rb
254
+ - test/dummy/config/database.yml
255
+ - test/dummy/config/environment.rb
256
+ - test/dummy/config/initializers/session_store.rb
257
+ - test/dummy/config/initializers/backtrace_silencers.rb
258
+ - test/dummy/config/initializers/wrap_parameters.rb
259
+ - test/dummy/config/initializers/secret_token.rb
260
+ - test/dummy/config/initializers/inflections.rb
261
+ - test/dummy/config/initializers/generic_migration.rb
262
+ - test/dummy/config/initializers/filter_parameter_logging.rb
263
+ - test/dummy/config/initializers/mime_types.rb
264
+ - test/dummy/config/environments/development.rb
265
+ - test/dummy/config/environments/production.rb
266
+ - test/dummy/config/environments/test.rb
267
+ - test/dummy/config/routes.rb
268
+ - test/dummy/config/locales/en.yml
269
+ - test/dummy/config/boot.rb
270
+ - test/dummy/Rakefile
271
+ - test/dummy/test/models/address_test.rb
272
+ - test/dummy/test/models/user_test.rb
273
+ - test/dummy/test/test_helper.rb
274
+ - test/dummy/test/fixtures/users.yml
275
+ - test/dummy/test/fixtures/addresses.yml
276
+ - test/dummy/db/schema.rb
277
+ - test/dummy/db/migrate/20140922133133_add_type_to_users.rb
278
+ - test/dummy/db/migrate/20130703191909_create_users.rb
279
+ - test/dummy/db/migrate/20140327190145_add_terms_to_user.rb
280
+ - test/dummy/db/migrate/20130703191937_create_addresses.rb
281
+ - test/dummy/db/migrate/20130912171202_add_preferences_to_user.rb
282
+ - test/dummy/db/seeds.rb
283
+ - test/dummy/db/test.sqlite3
284
+ - test/dummy/log/test.log
285
+ - test/dummy/public/500.html
286
+ - test/dummy/public/favicon.ico
287
+ - test/dummy/public/404.html
288
+ - test/dummy/public/422.html
289
+ - test/dummy/public/robots.txt
290
+ - test/dummy/bin/rake
291
+ - test/dummy/bin/rails
292
+ - test/dummy/bin/bundle
293
+ - test/dummy/Gemfile.lock
294
+ - test/dummy/Gemfile
295
+ - test/dummy/config.ru
296
+ - test/dummy/app/helpers/application_helper.rb
297
+ - test/dummy/app/views/layouts/application.html.erb
298
+ - test/dummy/app/models/user.rb
299
+ - test/dummy/app/models/address.rb
300
+ - test/dummy/app/models/faux_user.rb
301
+ - test/dummy/app/models/super_user.rb
302
+ - test/dummy/app/controllers/application_controller.rb
303
+ - test/dummy/app/assets/javascripts/application.js
304
+ - test/dummy/app/assets/stylesheets/application.css
305
+ - test/dummy/README.rdoc
306
+ - test/bootstrap_checkbox_test.rb
307
+ - test/bootstrap_form_test.rb
308
+ - test/bootstrap_radio_button_test.rb
309
+ - test/bootstrap_fields_test.rb