comfy_bootstrap_form 4.0.0.beta1 → 4.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +12 -0
  3. data/.travis.yml +14 -0
  4. data/CONTRIBUTING.md +40 -0
  5. data/Gemfile +14 -0
  6. data/{MIT-LICENSE → LICENSE.md} +1 -1
  7. data/README.md +130 -495
  8. data/Rakefile +5 -15
  9. data/bootstrap_form.gemspec +25 -0
  10. data/demo/README.md +18 -0
  11. data/demo/Rakefile +6 -0
  12. data/demo/app/controllers/application_controller.rb +2 -0
  13. data/demo/app/controllers/bootstrap_controller.rb +12 -0
  14. data/demo/app/models/application_record.rb +3 -0
  15. data/demo/app/models/user.rb +3 -0
  16. data/demo/app/views/bootstrap/form.html.erb +82 -0
  17. data/demo/app/views/layouts/application.html.erb +43 -0
  18. data/demo/bin/bundle +3 -0
  19. data/{test/dummy → demo}/bin/rails +1 -1
  20. data/{test/dummy → demo}/bin/rake +0 -0
  21. data/demo/bin/setup +36 -0
  22. data/demo/bin/update +31 -0
  23. data/demo/bin/yarn +11 -0
  24. data/{test/dummy → demo}/config.ru +2 -1
  25. data/demo/config/application.rb +24 -0
  26. data/demo/config/boot.rb +5 -0
  27. data/{test/dummy → demo}/config/database.yml +8 -12
  28. data/demo/config/environment.rb +5 -0
  29. data/demo/config/environments/development.rb +60 -0
  30. data/{test/dummy → demo}/config/environments/test.rb +15 -20
  31. data/demo/config/initializers/application_controller_renderer.rb +8 -0
  32. data/demo/config/initializers/assets.rb +14 -0
  33. data/{test/dummy → demo}/config/initializers/backtrace_silencers.rb +0 -0
  34. data/demo/config/initializers/cookies_serializer.rb +5 -0
  35. data/{test/dummy → demo}/config/initializers/filter_parameter_logging.rb +0 -0
  36. data/{test/dummy → demo}/config/initializers/inflections.rb +0 -0
  37. data/{test/dummy → demo}/config/initializers/mime_types.rb +0 -1
  38. data/{test/dummy → demo}/config/initializers/wrap_parameters.rb +2 -2
  39. data/{test/dummy → demo}/config/locales/en.yml +10 -0
  40. data/demo/config/puma.rb +56 -0
  41. data/{test/dummy → demo}/config/routes.rb +2 -0
  42. data/demo/config/spring.rb +6 -0
  43. data/demo/config/storage.yml +35 -0
  44. data/demo/db/schema.rb +11 -0
  45. data/{test/dummy/public/favicon.ico → demo/log/.keep} +0 -0
  46. data/demo/package.json +5 -0
  47. data/demo/public/favicon.ico +0 -0
  48. data/lib/bootstrap_form.rb +2 -2
  49. data/lib/bootstrap_form/form_builder.rb +367 -346
  50. data/lib/bootstrap_form/version.rb +1 -1
  51. data/lib/bootstrap_form/view_helper.rb +33 -0
  52. data/lib/comfy_bootstrap_form.rb +1 -1
  53. data/test/bootstrap_form/fields_test.rb +304 -0
  54. data/test/bootstrap_form/fields_with_errors_test.rb +109 -0
  55. data/test/bootstrap_form/form_builder_test.rb +49 -0
  56. data/test/bootstrap_form/horizontal_form_test.rb +159 -0
  57. data/test/bootstrap_form/inline_form_test.rb +68 -0
  58. data/test/bootstrap_form/input_group_test.rb +53 -0
  59. data/test/bootstrap_form/radios_and_checkboxes_test.rb +208 -0
  60. data/test/bootstrap_form/submit_test.rb +59 -0
  61. data/test/bootstrap_form/view_helpers_test.rb +99 -0
  62. data/test/gemfiles/5.2.gemfile +13 -0
  63. data/test/test_helper.rb +31 -69
  64. metadata +71 -258
  65. data/app/assets/stylesheets/rails_bootstrap_forms.css +0 -10
  66. data/lib/bootstrap_form/aliasing.rb +0 -35
  67. data/lib/bootstrap_form/helper.rb +0 -36
  68. data/lib/bootstrap_form/helpers/bootstrap.rb +0 -94
  69. data/lib/bootstrap_form/helpers/nested_form.rb +0 -33
  70. data/test/bootstrap_checkbox_test.rb +0 -144
  71. data/test/bootstrap_fields_test.rb +0 -152
  72. data/test/bootstrap_form_group_test.rb +0 -313
  73. data/test/bootstrap_form_test.rb +0 -276
  74. data/test/bootstrap_other_components_test.rb +0 -86
  75. data/test/bootstrap_radio_button_test.rb +0 -124
  76. data/test/bootstrap_selects_test.rb +0 -160
  77. data/test/dummy/Gemfile +0 -45
  78. data/test/dummy/Gemfile.lock +0 -120
  79. data/test/dummy/README.rdoc +0 -28
  80. data/test/dummy/Rakefile +0 -10
  81. data/test/dummy/app/assets/javascripts/application.js +0 -16
  82. data/test/dummy/app/assets/stylesheets/application.css +0 -13
  83. data/test/dummy/app/controllers/application_controller.rb +0 -5
  84. data/test/dummy/app/helpers/application_helper.rb +0 -2
  85. data/test/dummy/app/models/address.rb +0 -3
  86. data/test/dummy/app/models/faux_user.rb +0 -9
  87. data/test/dummy/app/models/super_user.rb +0 -2
  88. data/test/dummy/app/models/user.rb +0 -9
  89. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  90. data/test/dummy/bin/bundle +0 -3
  91. data/test/dummy/config/application.rb +0 -23
  92. data/test/dummy/config/boot.rb +0 -4
  93. data/test/dummy/config/environment.rb +0 -5
  94. data/test/dummy/config/environments/development.rb +0 -29
  95. data/test/dummy/config/environments/production.rb +0 -80
  96. data/test/dummy/config/initializers/generic_migration.rb +0 -6
  97. data/test/dummy/config/initializers/secret_token.rb +0 -12
  98. data/test/dummy/config/initializers/session_store.rb +0 -3
  99. data/test/dummy/db/migrate/20130703191909_create_users.rb +0 -13
  100. data/test/dummy/db/migrate/20130703191937_create_addresses.rb +0 -13
  101. data/test/dummy/db/migrate/20130912171202_add_preferences_to_user.rb +0 -5
  102. data/test/dummy/db/migrate/20140327190145_add_terms_to_user.rb +0 -5
  103. data/test/dummy/db/migrate/20140922133133_add_type_to_users.rb +0 -5
  104. data/test/dummy/db/schema.rb +0 -38
  105. data/test/dummy/db/seeds.rb +0 -7
  106. data/test/dummy/db/test.sqlite3 +0 -0
  107. data/test/dummy/log/test.log +0 -18394
  108. data/test/dummy/public/404.html +0 -58
  109. data/test/dummy/public/422.html +0 -58
  110. data/test/dummy/public/500.html +0 -57
  111. data/test/dummy/public/robots.txt +0 -5
  112. data/test/dummy/test/fixtures/addresses.yml +0 -15
  113. data/test/dummy/test/fixtures/users.yml +0 -15
  114. data/test/dummy/test/models/address_test.rb +0 -7
  115. data/test/dummy/test/models/user_test.rb +0 -7
  116. data/test/dummy/test/test_helper.rb +0 -15
  117. data/test/special_form_class_models_test.rb +0 -43
@@ -0,0 +1,59 @@
1
+ require_relative "../test_helper"
2
+
3
+ class SubmitTest < ActionView::TestCase
4
+
5
+ setup do
6
+ @user = User.new
7
+ @builder = BootstrapForm::FormBuilder.new(:user, @user, self, {})
8
+ end
9
+
10
+ def test_submit
11
+ expected = <<-HTML
12
+ <div class="form-group">
13
+ <input class="btn" data-disable-with="Create User" name="commit" type="submit" value="Create User" />
14
+ </div>
15
+ HTML
16
+ assert_xml_equal expected, @builder.submit
17
+ end
18
+
19
+ def test_primary
20
+ expected = <<-HTML
21
+ <div class="form-group">
22
+ <input class="btn-primary btn" data-disable-with="Create User" name="commit" type="submit" value="Create User" />
23
+ </div>
24
+ HTML
25
+ assert_xml_equal expected, @builder.primary
26
+ end
27
+
28
+ def test_submit_with_label
29
+ expected = <<-HTML
30
+ <div class="form-group">
31
+ <input class="btn" data-disable-with="Test" name="commit" type="submit" value="Test" />
32
+ </div>
33
+ HTML
34
+ assert_xml_equal expected, @builder.submit("Test")
35
+ end
36
+
37
+ def test_submit_with_css_class
38
+ expected = <<-HTML
39
+ <div class="form-group">
40
+ <input class="custom btn" data-disable-with="Create User" name="commit" type="submit" value="Create User" />
41
+ </div>
42
+ HTML
43
+ assert_xml_equal expected, @builder.submit(class: "custom")
44
+ end
45
+
46
+ def test_submit_with_block
47
+ actual = @builder.submit do
48
+ %{<a href="/" class="btn btn-link">Cancel</a>}.html_safe
49
+ end
50
+ expected = <<-HTML
51
+ <div class="form-group">
52
+ <input class="btn" data-disable-with="Create User" name="commit" type="submit" value="Create User"/>
53
+ <a href="/" class="btn btn-link">Cancel</a>
54
+ </div>
55
+ HTML
56
+ assert_xml_equal expected, actual
57
+ end
58
+
59
+ end
@@ -0,0 +1,99 @@
1
+ require_relative "../test_helper"
2
+
3
+ class ViewHelpersTest < ActionView::TestCase
4
+
5
+ include BootstrapForm::ViewHelper
6
+
7
+ def test_bootstrap_form_with
8
+ actual = bootstrap_form_with(url: "/test"){ }
9
+ expected = <<-HTML
10
+ <form action="/test" accept-charset="UTF-8" data-remote="true" method="post">
11
+ <input name="utf8" type="hidden" value="&#x2713;" />
12
+ </form>
13
+ HTML
14
+ assert_xml_equal expected, actual
15
+ end
16
+
17
+ def test_bootstrap_form_with_and_field
18
+ actual = bootstrap_form_with(url: "/test") do |form|
19
+ form.text_field :value
20
+ end
21
+ expected = <<-HTML
22
+ <form accept-charset="UTF-8" action="/test" data-remote="true" method="post">
23
+ <input name="utf8" type="hidden" value="&#x2713;"/>
24
+ <div class="form-group">
25
+ <label for="value">Value</label>
26
+ <input class="form-control" id="value" name="value" type="text"/>
27
+ </div>
28
+ </form>
29
+ HTML
30
+ assert_xml_equal expected, actual
31
+ end
32
+
33
+ def test_bootstrap_form_as_horizontal
34
+ actual = bootstrap_form_with(url: "/test", bootstrap: {layout: :horizontal}) do |form|
35
+ form.text_field :value
36
+ end
37
+ expected = <<-HTML
38
+ <form accept-charset="UTF-8" action="/test" data-remote="true" method="post">
39
+ <input name="utf8" type="hidden" value="&#x2713;"/>
40
+ <div class="form-group row">
41
+ <label class="col-form-label col-sm-2 text-sm-right" for="value">Value</label>
42
+ <div class="col-sm-10">
43
+ <input class="form-control" id="value" name="value" type="text"/>
44
+ </div>
45
+ </div>
46
+ </form>
47
+ HTML
48
+ assert_xml_equal expected, actual
49
+ end
50
+
51
+ def test_bootstrap_form_with_inline
52
+ actual = bootstrap_form_with(url: "/test", bootstrap: {layout: :inline}) do |form|
53
+ form.text_field :value
54
+ form.submit
55
+ end
56
+ expected = <<-HTML
57
+ <form accept-charset="UTF-8" action="/test" class=" form-inline" data-remote="true" method="post">
58
+ <input name="utf8" type="hidden" value="&#x2713;"/>
59
+ <div class="form-group">
60
+ <input class="btn" data-disable-with="Save " name="commit" type="submit" value="Save "/>
61
+ </div>
62
+ </form>
63
+ HTML
64
+ assert_xml_equal expected, actual
65
+ end
66
+
67
+ def test_bootstrap_form_with_supress_field_errors
68
+ user = User.new
69
+ user.errors.add(:test, "invalid")
70
+ actual = bootstrap_form_with(model: user, url: "/test") do |form|
71
+ form.text_field :test
72
+ end
73
+ expected = <<-HTML
74
+ <form accept-charset="UTF-8" action="/test" data-remote="true" method="post">
75
+ <input name="utf8" type="hidden" value="&#x2713;"/>
76
+ <div class="form-group">
77
+ <label for="user_test">Test</label>
78
+ <input class="form-control is-invalid" id="user_test" name="user[test]" type="text"/>
79
+ <div class="invalid-feedback">invalid</div>
80
+ </div>
81
+ </form>
82
+ HTML
83
+ assert_xml_equal expected, actual
84
+ end
85
+
86
+ def test_bootstrap_form_with_builder_override
87
+ actual = bootstrap_form_with(url: "/test", builder: ActionView::Helpers::FormBuilder) do |form|
88
+ form.text_field :value
89
+ end
90
+ expected = <<-HTML
91
+ <form accept-charset="UTF-8" action="/test" data-remote="true" method="post">
92
+ <input name="utf8" type="hidden" value="&#x2713;"/>
93
+ <input id="value" name="value" type="text"/>
94
+ </form>
95
+ HTML
96
+ assert_xml_equal expected, actual
97
+ end
98
+
99
+ end
@@ -0,0 +1,13 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec path: "../../"
4
+
5
+ gem "rails", "~> 5.2.0.rc1"
6
+
7
+ group :test do
8
+ gem "minitest"
9
+ gem "diffy"
10
+ gem "equivalent-xml"
11
+ gem "sqlite3"
12
+ gem "coveralls", require: false
13
+ end
@@ -1,86 +1,48 @@
1
- require 'timecop'
1
+ ENV["RAILS_ENV"] = "test"
2
+
3
+ require 'coveralls'
4
+ Coveralls.wear!
5
+
2
6
  require 'diffy'
3
7
  require 'nokogiri'
4
8
  require 'equivalent-xml'
5
- require 'mocha/mini_test'
6
9
 
7
- # Configure Rails Environment
8
- ENV["RAILS_ENV"] = "test"
9
-
10
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
10
+ require_relative "../demo/config/environment.rb"
11
11
  require "rails/test_help"
12
12
 
13
13
  Rails.backtrace_cleaner.remove_silencers!
14
14
 
15
- # Load support files
16
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
15
+ class ActionView::TestCase
17
16
 
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
17
+ # Expected and actual are wrapped in a root tag to ensure proper XML structure
18
+ def assert_xml_equal(expected, actual)
19
+ expected_xml = Nokogiri::XML("<test-xml>\n#{expected}\n</test-xml>", &:noblanks)
20
+ actual_xml = Nokogiri::XML("<test-xml>\n#{actual}\n</test-xml>", &:noblanks)
37
21
 
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
22
+ equivalent = EquivalentXml.equivalent?(expected_xml, actual_xml)
23
+ assert equivalent, lambda {
24
+ # using a lambda because diffing is expensive
25
+ Diffy::Diff.new(
26
+ sort_attributes(expected_xml.root).to_xml(indent: 2),
27
+ sort_attributes(actual_xml.root).to_xml(indent: 2)
28
+ ).to_s
29
+ }
48
30
  end
49
- end
50
31
 
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)
32
+ private
33
+
34
+ def sort_attributes(doc)
35
+ return if doc.blank?
36
+ doc.dup.traverse do |node|
37
+ if node.is_a?(Nokogiri::XML::Element)
38
+ attributes = node.attribute_nodes.sort_by(&:name)
39
+ attributes.each do |attribute|
40
+ node.delete(attribute.name)
41
+ node[attribute.name] = attribute.value
74
42
  end
75
43
  end
76
- result
44
+ node
77
45
  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
46
  end
47
+
86
48
  end
metadata CHANGED
@@ -1,227 +1,103 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comfy_bootstrap_form
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.beta1
4
+ version: 4.0.0.beta2
5
5
  platform: ruby
6
6
  authors:
7
+ - Oleg Khabarov
7
8
  - Stephen Potenza
8
- - Carlos Lopes
9
9
  autorequire:
10
- bindir: bin
10
+ bindir: exe
11
11
  cert_chain: []
12
- date: 2017-11-28 00:00:00.000000000 Z
12
+ date: 2018-02-06 00:00:00.000000000 Z
13
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
14
  - !ruby/object:Gem::Dependency
29
15
  name: rails
30
16
  requirement: !ruby/object:Gem::Requirement
31
17
  requirements:
32
18
  - - ">="
33
19
  - !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
20
+ version: 5.2.rc1
21
+ type: :runtime
50
22
  prerelease: false
51
23
  version_requirements: !ruby/object:Gem::Requirement
52
24
  requirements:
53
25
  - - ">="
54
26
  - !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'
27
+ version: 5.2.rc1
140
28
  description: bootstrap_form is a rails form builder that makes it super easy to create
141
- beautiful-looking forms using Twitter Bootstrap 4
29
+ beautiful-looking forms using Bootstrap 4
142
30
  email:
143
- - potenza@gmail.com
144
- - carlos.el.lopes@gmail.com
31
+ - oleg@khabarov.ca
145
32
  executables: []
146
33
  extensions: []
147
34
  extra_rdoc_files: []
148
35
  files:
149
- - MIT-LICENSE
36
+ - ".gitignore"
37
+ - ".travis.yml"
38
+ - CONTRIBUTING.md
39
+ - Gemfile
40
+ - LICENSE.md
150
41
  - README.md
151
42
  - Rakefile
152
- - app/assets/stylesheets/rails_bootstrap_forms.css
43
+ - bootstrap_form.gemspec
44
+ - demo/README.md
45
+ - demo/Rakefile
46
+ - demo/app/controllers/application_controller.rb
47
+ - demo/app/controllers/bootstrap_controller.rb
48
+ - demo/app/models/application_record.rb
49
+ - demo/app/models/user.rb
50
+ - demo/app/views/bootstrap/form.html.erb
51
+ - demo/app/views/layouts/application.html.erb
52
+ - demo/bin/bundle
53
+ - demo/bin/rails
54
+ - demo/bin/rake
55
+ - demo/bin/setup
56
+ - demo/bin/update
57
+ - demo/bin/yarn
58
+ - demo/config.ru
59
+ - demo/config/application.rb
60
+ - demo/config/boot.rb
61
+ - demo/config/database.yml
62
+ - demo/config/environment.rb
63
+ - demo/config/environments/development.rb
64
+ - demo/config/environments/test.rb
65
+ - demo/config/initializers/application_controller_renderer.rb
66
+ - demo/config/initializers/assets.rb
67
+ - demo/config/initializers/backtrace_silencers.rb
68
+ - demo/config/initializers/cookies_serializer.rb
69
+ - demo/config/initializers/filter_parameter_logging.rb
70
+ - demo/config/initializers/inflections.rb
71
+ - demo/config/initializers/mime_types.rb
72
+ - demo/config/initializers/wrap_parameters.rb
73
+ - demo/config/locales/en.yml
74
+ - demo/config/puma.rb
75
+ - demo/config/routes.rb
76
+ - demo/config/spring.rb
77
+ - demo/config/storage.yml
78
+ - demo/db/schema.rb
79
+ - demo/log/.keep
80
+ - demo/package.json
81
+ - demo/public/favicon.ico
153
82
  - lib/bootstrap_form.rb
154
- - lib/bootstrap_form/aliasing.rb
155
83
  - 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
84
  - lib/bootstrap_form/version.rb
85
+ - lib/bootstrap_form/view_helper.rb
160
86
  - 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
87
+ - test/bootstrap_form/fields_test.rb
88
+ - test/bootstrap_form/fields_with_errors_test.rb
89
+ - test/bootstrap_form/form_builder_test.rb
90
+ - test/bootstrap_form/horizontal_form_test.rb
91
+ - test/bootstrap_form/inline_form_test.rb
92
+ - test/bootstrap_form/input_group_test.rb
93
+ - test/bootstrap_form/radios_and_checkboxes_test.rb
94
+ - test/bootstrap_form/submit_test.rb
95
+ - test/bootstrap_form/view_helpers_test.rb
96
+ - test/gemfiles/5.2.gemfile
222
97
  - test/test_helper.rb
223
- homepage: http://github.com/comfy/comfy-rails-bootstrap-forms
224
- licenses: []
98
+ homepage: https://github.com/comfy/comfy-bootstrap-form
99
+ licenses:
100
+ - MIT
225
101
  metadata: {}
226
102
  post_install_message:
227
103
  rdoc_options: []
@@ -231,7 +107,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
231
107
  requirements:
232
108
  - - ">="
233
109
  - !ruby/object:Gem::Version
234
- version: '0'
110
+ version: 2.2.2
235
111
  required_rubygems_version: !ruby/object:Gem::Requirement
236
112
  requirements:
237
113
  - - ">"
@@ -239,71 +115,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
239
115
  version: 1.3.1
240
116
  requirements: []
241
117
  rubyforge_project:
242
- rubygems_version: 2.6.11
118
+ rubygems_version: 2.7.4
243
119
  signing_key:
244
120
  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
121
+ summary: Rails form builder that makes it easy to style forms using Bootstrap 4
122
+ test_files: []