comfy_bootstrap_form 4.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
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