bootstrap_form 4.4.0 → 5.1.0

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 (134) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +48 -0
  3. data/.gitignore +28 -3
  4. data/.rubocop.yml +19 -15
  5. data/CHANGELOG.md +82 -1
  6. data/CONTRIBUTING.md +73 -12
  7. data/Dangerfile +5 -7
  8. data/Dockerfile +21 -0
  9. data/Gemfile +8 -11
  10. data/README.md +829 -82
  11. data/RELEASING.md +5 -10
  12. data/UPGRADE-4.0.md +1 -1
  13. data/UPGRADE-5.0.md +25 -0
  14. data/bootstrap_form.gemspec +8 -5
  15. data/demo/.ruby-version +1 -0
  16. data/demo/Gemfile +80 -0
  17. data/demo/Gemfile.lock +261 -0
  18. data/demo/Procfile.dev +2 -0
  19. data/demo/app/assets/builds/.keep +0 -0
  20. data/demo/app/assets/builds/application.js.LICENSE.txt +9 -0
  21. data/demo/app/assets/config/manifest.js +2 -2
  22. data/demo/app/assets/stylesheets/actiontext.css +31 -0
  23. data/demo/app/assets/stylesheets/application.scss +1 -1
  24. data/demo/app/controllers/bootstrap_controller.rb +17 -2
  25. data/demo/app/controllers/users_controller.rb +9 -0
  26. data/demo/app/helpers/bootstrap_helper.rb +5 -5
  27. data/demo/app/javascript/application.js +3 -0
  28. data/demo/app/models/skill.rb +15 -0
  29. data/demo/app/models/user.rb +14 -0
  30. data/demo/app/views/active_storage/blobs/_blob.html.erb +1 -1
  31. data/demo/app/views/bootstrap/form.html.erb +13 -0
  32. data/demo/app/views/layouts/action_text/contents/_content.html.erb +3 -0
  33. data/demo/app/views/layouts/application.html.erb +28 -20
  34. data/demo/bin/dev +9 -0
  35. data/demo/config/environments/development.rb +3 -3
  36. data/demo/config/puma.rb +2 -2
  37. data/demo/config/routes.rb +1 -0
  38. data/demo/db/schema.rb +31 -16
  39. data/demo/doc/screenshots/bootstrap/index/00_horizontal_form.png +0 -0
  40. data/demo/doc/screenshots/bootstrap/index/01_with_validation_error.png +0 -0
  41. data/demo/doc/screenshots/bootstrap/index/02_inline_form.png +0 -0
  42. data/demo/doc/screenshots/bootstrap/index/03_simple_action_text_example.png +0 -0
  43. data/demo/doc/screenshots/bootstrap/index/04_floating_labels.png +0 -0
  44. data/demo/doc/screenshots/bootstrap/readme/00_example.png +0 -0
  45. data/demo/doc/screenshots/bootstrap/readme/01_example.png +0 -0
  46. data/demo/doc/screenshots/bootstrap/readme/02_example.png +0 -0
  47. data/demo/doc/screenshots/bootstrap/readme/03_example.png +0 -0
  48. data/demo/doc/screenshots/bootstrap/readme/04_example.png +0 -0
  49. data/demo/doc/screenshots/bootstrap/readme/05_example.png +0 -0
  50. data/demo/doc/screenshots/bootstrap/readme/06_example.png +0 -0
  51. data/demo/doc/screenshots/bootstrap/readme/07_example.png +0 -0
  52. data/demo/doc/screenshots/bootstrap/readme/08_example.png +0 -0
  53. data/demo/doc/screenshots/bootstrap/readme/09_example.png +0 -0
  54. data/demo/doc/screenshots/bootstrap/readme/10_example.png +0 -0
  55. data/demo/doc/screenshots/bootstrap/readme/11_example.png +0 -0
  56. data/demo/doc/screenshots/bootstrap/readme/12_example.png +0 -0
  57. data/demo/doc/screenshots/bootstrap/readme/13_example.png +0 -0
  58. data/demo/doc/screenshots/bootstrap/readme/14_example.png +0 -0
  59. data/demo/doc/screenshots/bootstrap/readme/15_example.png +0 -0
  60. data/demo/doc/screenshots/bootstrap/readme/16_example.png +0 -0
  61. data/demo/doc/screenshots/bootstrap/readme/17_example.png +0 -0
  62. data/demo/doc/screenshots/bootstrap/readme/18_example.png +0 -0
  63. data/demo/doc/screenshots/bootstrap/readme/19_example.png +0 -0
  64. data/demo/doc/screenshots/bootstrap/readme/20_example.png +0 -0
  65. data/demo/doc/screenshots/bootstrap/readme/21_example.png +0 -0
  66. data/demo/doc/screenshots/bootstrap/readme/22_example.png +0 -0
  67. data/demo/doc/screenshots/bootstrap/readme/23_example.png +0 -0
  68. data/demo/doc/screenshots/bootstrap/readme/24_example.png +0 -0
  69. data/demo/doc/screenshots/bootstrap/readme/25_example.png +0 -0
  70. data/demo/doc/screenshots/bootstrap/readme/26_example.png +0 -0
  71. data/demo/doc/screenshots/bootstrap/readme/27_example.png +0 -0
  72. data/demo/doc/screenshots/bootstrap/readme/28_example.png +0 -0
  73. data/demo/doc/screenshots/bootstrap/readme/29_example.png +0 -0
  74. data/demo/doc/screenshots/bootstrap/readme/30_example.png +0 -0
  75. data/demo/doc/screenshots/bootstrap/readme/31_example.png +0 -0
  76. data/demo/doc/screenshots/bootstrap/readme/32_example.png +0 -0
  77. data/demo/doc/screenshots/bootstrap/readme/33_example.png +0 -0
  78. data/demo/doc/screenshots/bootstrap/readme/34_example.png +0 -0
  79. data/demo/doc/screenshots/bootstrap/readme/35_example.png +0 -0
  80. data/demo/doc/screenshots/bootstrap/readme/36_example.png +0 -0
  81. data/demo/doc/screenshots/bootstrap/readme/37_example.png +0 -0
  82. data/demo/doc/screenshots/bootstrap/readme/38_example.png +0 -0
  83. data/demo/doc/screenshots/bootstrap/readme/39_example.png +0 -0
  84. data/demo/doc/screenshots/bootstrap/readme/40_example.png +0 -0
  85. data/demo/doc/screenshots/bootstrap/readme/41_example.png +0 -0
  86. data/demo/doc/screenshots/bootstrap/readme/42_example.png +0 -0
  87. data/demo/doc/screenshots/bootstrap/readme/43_example.png +0 -0
  88. data/demo/doc/screenshots/bootstrap/readme/44_example.png +0 -0
  89. data/demo/doc/screenshots/bootstrap/readme/45_example.png +0 -0
  90. data/demo/doc/screenshots/bootstrap/readme/46_example.png +0 -0
  91. data/demo/doc/screenshots/bootstrap/readme/47_example.png +0 -0
  92. data/demo/doc/screenshots/bootstrap/readme/48_example.png +0 -0
  93. data/demo/doc/screenshots/bootstrap/readme/49_example.png +0 -0
  94. data/demo/doc/screenshots/bootstrap/readme/50_example.png +0 -0
  95. data/demo/package.json +10 -6
  96. data/demo/test/application_system_test_case.rb +8 -0
  97. data/demo/test/controllers/bootstrap_controller_test.rb +8 -0
  98. data/demo/test/controllers/users_controller_test.rb +13 -0
  99. data/demo/test/fixtures/users.yml +2 -0
  100. data/demo/test/system/bootstrap_test.rb +84 -0
  101. data/demo/test/test_helper.rb +10 -0
  102. data/demo/webpack.config.js +20 -0
  103. data/demo/yarn.lock +4063 -3144
  104. data/docker-compose.yml +49 -0
  105. data/gemfiles/5.2.gemfile +2 -15
  106. data/gemfiles/6.0.gemfile +2 -17
  107. data/gemfiles/6.1.gemfile +4 -0
  108. data/gemfiles/7.0.gemfile +6 -0
  109. data/gemfiles/edge.gemfile +2 -17
  110. data/lib/bootstrap_form/action_view_extensions/form_helper.rb +1 -1
  111. data/lib/bootstrap_form/components/hints.rb +13 -4
  112. data/lib/bootstrap_form/components/labels.rb +2 -2
  113. data/lib/bootstrap_form/components/validation.rb +1 -1
  114. data/lib/bootstrap_form/configuration.rb +22 -0
  115. data/lib/bootstrap_form/form_builder.rb +10 -12
  116. data/lib/bootstrap_form/form_group.rb +26 -11
  117. data/lib/bootstrap_form/form_group_builder.rb +6 -8
  118. data/lib/bootstrap_form/helpers/bootstrap.rb +17 -12
  119. data/lib/bootstrap_form/inputs/base.rb +5 -5
  120. data/lib/bootstrap_form/inputs/check_box.rb +11 -23
  121. data/lib/bootstrap_form/inputs/collection_check_boxes.rb +5 -1
  122. data/lib/bootstrap_form/inputs/collection_select.rb +2 -1
  123. data/lib/bootstrap_form/inputs/file_field.rb +3 -15
  124. data/lib/bootstrap_form/inputs/grouped_collection_select.rb +2 -1
  125. data/lib/bootstrap_form/inputs/radio_button.rb +17 -30
  126. data/lib/bootstrap_form/inputs/select.rb +1 -0
  127. data/lib/bootstrap_form/inputs/time_zone_select.rb +1 -0
  128. data/lib/bootstrap_form/version.rb +1 -1
  129. data/lib/bootstrap_form.rb +17 -7
  130. metadata +94 -16
  131. data/.travis.yml +0 -42
  132. data/demo/config/initializers/assets.rb +0 -14
  133. data/gemfiles/5.0.gemfile +0 -18
  134. data/gemfiles/5.1.gemfile +0 -17
@@ -12,8 +12,9 @@ module BootstrapForm
12
12
  def grouped_collection_select_with_bootstrap(method, collection, group_method,
13
13
  group_label_method, option_key_method,
14
14
  option_value_method, options={}, html_options={})
15
+ html_options = html_options.reverse_merge(control_class: "form-select")
15
16
  form_group_builder(method, options, html_options) do
16
- input_with_error(method) do
17
+ prepend_and_append_input(method, options) do
17
18
  grouped_collection_select_without_bootstrap(method, collection, group_method,
18
19
  group_label_method, option_key_method,
19
20
  option_value_method, options, html_options)
@@ -9,13 +9,10 @@ module BootstrapForm
9
9
  included do
10
10
  def radio_button_with_bootstrap(name, value, *args)
11
11
  options = args.extract_options!.symbolize_keys!
12
- radio_button_options = options.except(:class, :label, :label_class, :error_message, :help,
13
- :inline, :custom, :hide_label, :skip_label, :wrapper_class)
14
-
15
- radio_button_options[:class] = radio_button_classes(name, options)
16
-
17
- content_tag(:div, class: radio_button_wrapper_class(options)) do
18
- html = radio_button_without_bootstrap(name, value, radio_button_options)
12
+ wrapper_attributes = options[:wrapper] || {}
13
+ wrapper_attributes[:class] = radio_button_wrapper_class(options)
14
+ tag.div(**wrapper_attributes) do
15
+ html = radio_button_without_bootstrap(name, value, radio_button_options(name, options))
19
16
  html.concat(radio_button_label(name, value, options)) unless options[:skip_label]
20
17
  html.concat(generate_error(name)) if options[:error_message]
21
18
  html
@@ -27,6 +24,13 @@ module BootstrapForm
27
24
 
28
25
  private
29
26
 
27
+ def radio_button_options(name, options)
28
+ radio_button_options = options.except(:class, :label, :label_class, :error_message, :help,
29
+ :inline, :hide_label, :skip_label, :wrapper, :wrapper_class)
30
+ radio_button_options[:class] = radio_button_classes(name, options)
31
+ radio_button_options
32
+ end
33
+
30
34
  def radio_button_label(name, value, options)
31
35
  label_options = { value: value, class: radio_button_label_class(options) }
32
36
  label_options[:for] = options[:id] if options[:id].present?
@@ -34,43 +38,26 @@ module BootstrapForm
34
38
  end
35
39
 
36
40
  def radio_button_classes(name, options)
37
- classes = [options[:class]]
38
- classes << (options[:custom] ? "custom-control-input" : "form-check-input")
41
+ classes = Array(options[:class]) << "form-check-input"
39
42
  classes << "is-invalid" if error?(name)
40
43
  classes << "position-static" if options[:skip_label] || options[:hide_label]
41
44
  classes.flatten.compact
42
45
  end
43
46
 
44
47
  def radio_button_label_class(options)
45
- classes = []
46
- classes << (options[:custom] ? "custom-control-label" : "form-check-label")
48
+ classes = ["form-check-label"]
47
49
  classes << options[:label_class]
48
50
  classes << hide_class if options[:hide_label]
49
51
  classes.flatten.compact
50
52
  end
51
53
 
52
54
  def radio_button_wrapper_class(options)
53
- classes = []
54
- classes << if options[:custom]
55
- custom_radio_button_wrapper_class(options)
56
- else
57
- standard_radio_button_wrapper_class(options)
58
- end
59
- classes << options[:wrapper_class] if options[:wrapper_class].present?
60
- classes.flatten.compact
61
- end
62
-
63
- def standard_radio_button_wrapper_class(options)
64
- classes = %w[form-check]
55
+ classes = ["form-check"]
65
56
  classes << "form-check-inline" if layout_inline?(options[:inline])
66
57
  classes << "disabled" if options[:disabled]
67
- classes
68
- end
69
-
70
- def custom_radio_button_wrapper_class(options)
71
- classes = %w[custom-control custom-radio]
72
- classes << "custom-control-inline" if layout_inline?(options[:inline])
73
- classes
58
+ classes << options.dig(:wrapper, :class).presence
59
+ classes << options[:wrapper_class].presence
60
+ classes.flatten.compact
74
61
  end
75
62
  end
76
63
  end
@@ -8,6 +8,7 @@ module BootstrapForm
8
8
 
9
9
  included do
10
10
  def select_with_bootstrap(method, choices=nil, options={}, html_options={}, &block)
11
+ html_options = html_options.reverse_merge(control_class: "form-select")
11
12
  form_group_builder(method, options, html_options) do
12
13
  prepend_and_append_input(method, options) do
13
14
  select_without_bootstrap(method, choices, options, html_options, &block)
@@ -8,6 +8,7 @@ module BootstrapForm
8
8
 
9
9
  included do
10
10
  def time_zone_select_with_bootstrap(method, priority_zones=nil, options={}, html_options={})
11
+ html_options = html_options.reverse_merge(control_class: "form-select")
11
12
  form_group_builder(method, options, html_options) do
12
13
  input_with_error(method) do
13
14
  time_zone_select_without_bootstrap(method, priority_zones, options, html_options)
@@ -1,3 +1,3 @@
1
1
  module BootstrapForm
2
- VERSION = "4.4.0".freeze
2
+ VERSION = "5.1.0".freeze
3
3
  end
@@ -2,8 +2,7 @@
2
2
  # name and not in the usual autoload-reachable way.
3
3
  # The following line is definitely need to make `bootstrap_form` work.
4
4
  if ::Rails::VERSION::STRING > "6"
5
- require Gem::Specification.find_by_name("actiontext").gem_dir + # rubocop:disable Rails/DynamicFindBy
6
- "/app/helpers/action_text/tag_helper"
5
+ require "#{Gem::Specification.find_by_name('actiontext').gem_dir}/app/helpers/action_text/tag_helper"
7
6
  end
8
7
  require "action_view"
9
8
  require "action_pack"
@@ -13,6 +12,7 @@ module BootstrapForm
13
12
  extend ActiveSupport::Autoload
14
13
 
15
14
  eager_autoload do
15
+ autoload :Configuration
16
16
  autoload :FormBuilder
17
17
  autoload :FormGroupBuilder
18
18
  autoload :FormGroup
@@ -21,11 +21,21 @@ module BootstrapForm
21
21
  autoload :Helpers
22
22
  end
23
23
 
24
- def self.eager_load!
25
- super
26
- BootstrapForm::Components.eager_load!
27
- BootstrapForm::Helpers.eager_load!
28
- BootstrapForm::Inputs.eager_load!
24
+ class << self
25
+ def eager_load!
26
+ super
27
+ BootstrapForm::Components.eager_load!
28
+ BootstrapForm::Helpers.eager_load!
29
+ BootstrapForm::Inputs.eager_load!
30
+ end
31
+
32
+ def config
33
+ @config ||= BootstrapForm::Configuration.new
34
+ end
35
+
36
+ def configure
37
+ yield config
38
+ end
29
39
  end
30
40
 
31
41
  mattr_accessor :field_error_proc
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap_form
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.0
4
+ version: 5.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Potenza
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-03-08 00:00:00.000000000 Z
12
+ date: 2022-06-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -17,30 +17,30 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '5.0'
20
+ version: '5.2'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: '5.0'
27
+ version: '5.2'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: activemodel
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '5.0'
34
+ version: '5.2'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">="
40
40
  - !ruby/object:Gem::Version
41
- version: '5.0'
41
+ version: '5.2'
42
42
  description: bootstrap_form is a rails form builder that makes it super easy to create
43
- beautiful-looking forms using Bootstrap 4
43
+ beautiful-looking forms using Bootstrap 5
44
44
  email:
45
45
  - potenza@gmail.com
46
46
  - carlos.el.lopes@gmail.com
@@ -49,13 +49,14 @@ extensions: []
49
49
  extra_rdoc_files: []
50
50
  files:
51
51
  - ".editorconfig"
52
+ - ".github/workflows/ruby.yml"
52
53
  - ".gitignore"
53
54
  - ".rubocop.yml"
54
- - ".travis.yml"
55
55
  - CHANGELOG.md
56
56
  - CODE_OF_CONDUCT.md
57
57
  - CONTRIBUTING.md
58
58
  - Dangerfile
59
+ - Dockerfile
59
60
  - Gemfile
60
61
  - LICENSE.txt
61
62
  - OLD-README.md
@@ -63,29 +64,42 @@ files:
63
64
  - RELEASING.md
64
65
  - Rakefile
65
66
  - UPGRADE-4.0.md
67
+ - UPGRADE-5.0.md
66
68
  - app/assets/stylesheets/rails_bootstrap_forms.css
67
69
  - bootstrap_form.gemspec
68
70
  - demo/.postcssrc.yml
71
+ - demo/.ruby-version
72
+ - demo/Gemfile
73
+ - demo/Gemfile.lock
74
+ - demo/Procfile.dev
69
75
  - demo/README.md
70
76
  - demo/Rakefile
77
+ - demo/app/assets/builds/.keep
78
+ - demo/app/assets/builds/application.js.LICENSE.txt
71
79
  - demo/app/assets/config/manifest.js
80
+ - demo/app/assets/stylesheets/actiontext.css
72
81
  - demo/app/assets/stylesheets/actiontext.scss
73
82
  - demo/app/assets/stylesheets/application.scss
74
83
  - demo/app/controllers/application_controller.rb
75
84
  - demo/app/controllers/bootstrap_controller.rb
85
+ - demo/app/controllers/users_controller.rb
76
86
  - demo/app/helpers/bootstrap_helper.rb
87
+ - demo/app/javascript/application.js
77
88
  - demo/app/javascript/channels/consumer.js
78
89
  - demo/app/javascript/channels/index.js
79
90
  - demo/app/javascript/packs/application.js
80
91
  - demo/app/models/address.rb
81
92
  - demo/app/models/application_record.rb
82
93
  - demo/app/models/faux_user.rb
94
+ - demo/app/models/skill.rb
83
95
  - demo/app/models/super_user.rb
84
96
  - demo/app/models/user.rb
85
97
  - demo/app/views/active_storage/blobs/_blob.html.erb
86
98
  - demo/app/views/bootstrap/form.html.erb
99
+ - demo/app/views/layouts/action_text/contents/_content.html.erb
87
100
  - demo/app/views/layouts/application.html.erb
88
101
  - demo/bin/bundle
102
+ - demo/bin/dev
89
103
  - demo/bin/rails
90
104
  - demo/bin/rake
91
105
  - demo/bin/setup
@@ -102,7 +116,6 @@ files:
102
116
  - demo/config/environments/production.rb
103
117
  - demo/config/environments/test.rb
104
118
  - demo/config/initializers/application_controller_renderer.rb
105
- - demo/config/initializers/assets.rb
106
119
  - demo/config/initializers/backtrace_silencers.rb
107
120
  - demo/config/initializers/cookies_serializer.rb
108
121
  - demo/config/initializers/filter_parameter_logging.rb
@@ -120,15 +133,79 @@ files:
120
133
  - demo/config/webpack/test.js
121
134
  - demo/config/webpacker.yml
122
135
  - demo/db/schema.rb
136
+ - demo/doc/screenshots/bootstrap/index/00_horizontal_form.png
137
+ - demo/doc/screenshots/bootstrap/index/01_with_validation_error.png
138
+ - demo/doc/screenshots/bootstrap/index/02_inline_form.png
139
+ - demo/doc/screenshots/bootstrap/index/03_simple_action_text_example.png
140
+ - demo/doc/screenshots/bootstrap/index/04_floating_labels.png
141
+ - demo/doc/screenshots/bootstrap/readme/00_example.png
142
+ - demo/doc/screenshots/bootstrap/readme/01_example.png
143
+ - demo/doc/screenshots/bootstrap/readme/02_example.png
144
+ - demo/doc/screenshots/bootstrap/readme/03_example.png
145
+ - demo/doc/screenshots/bootstrap/readme/04_example.png
146
+ - demo/doc/screenshots/bootstrap/readme/05_example.png
147
+ - demo/doc/screenshots/bootstrap/readme/06_example.png
148
+ - demo/doc/screenshots/bootstrap/readme/07_example.png
149
+ - demo/doc/screenshots/bootstrap/readme/08_example.png
150
+ - demo/doc/screenshots/bootstrap/readme/09_example.png
151
+ - demo/doc/screenshots/bootstrap/readme/10_example.png
152
+ - demo/doc/screenshots/bootstrap/readme/11_example.png
153
+ - demo/doc/screenshots/bootstrap/readme/12_example.png
154
+ - demo/doc/screenshots/bootstrap/readme/13_example.png
155
+ - demo/doc/screenshots/bootstrap/readme/14_example.png
156
+ - demo/doc/screenshots/bootstrap/readme/15_example.png
157
+ - demo/doc/screenshots/bootstrap/readme/16_example.png
158
+ - demo/doc/screenshots/bootstrap/readme/17_example.png
159
+ - demo/doc/screenshots/bootstrap/readme/18_example.png
160
+ - demo/doc/screenshots/bootstrap/readme/19_example.png
161
+ - demo/doc/screenshots/bootstrap/readme/20_example.png
162
+ - demo/doc/screenshots/bootstrap/readme/21_example.png
163
+ - demo/doc/screenshots/bootstrap/readme/22_example.png
164
+ - demo/doc/screenshots/bootstrap/readme/23_example.png
165
+ - demo/doc/screenshots/bootstrap/readme/24_example.png
166
+ - demo/doc/screenshots/bootstrap/readme/25_example.png
167
+ - demo/doc/screenshots/bootstrap/readme/26_example.png
168
+ - demo/doc/screenshots/bootstrap/readme/27_example.png
169
+ - demo/doc/screenshots/bootstrap/readme/28_example.png
170
+ - demo/doc/screenshots/bootstrap/readme/29_example.png
171
+ - demo/doc/screenshots/bootstrap/readme/30_example.png
172
+ - demo/doc/screenshots/bootstrap/readme/31_example.png
173
+ - demo/doc/screenshots/bootstrap/readme/32_example.png
174
+ - demo/doc/screenshots/bootstrap/readme/33_example.png
175
+ - demo/doc/screenshots/bootstrap/readme/34_example.png
176
+ - demo/doc/screenshots/bootstrap/readme/35_example.png
177
+ - demo/doc/screenshots/bootstrap/readme/36_example.png
178
+ - demo/doc/screenshots/bootstrap/readme/37_example.png
179
+ - demo/doc/screenshots/bootstrap/readme/38_example.png
180
+ - demo/doc/screenshots/bootstrap/readme/39_example.png
181
+ - demo/doc/screenshots/bootstrap/readme/40_example.png
182
+ - demo/doc/screenshots/bootstrap/readme/41_example.png
183
+ - demo/doc/screenshots/bootstrap/readme/42_example.png
184
+ - demo/doc/screenshots/bootstrap/readme/43_example.png
185
+ - demo/doc/screenshots/bootstrap/readme/44_example.png
186
+ - demo/doc/screenshots/bootstrap/readme/45_example.png
187
+ - demo/doc/screenshots/bootstrap/readme/46_example.png
188
+ - demo/doc/screenshots/bootstrap/readme/47_example.png
189
+ - demo/doc/screenshots/bootstrap/readme/48_example.png
190
+ - demo/doc/screenshots/bootstrap/readme/49_example.png
191
+ - demo/doc/screenshots/bootstrap/readme/50_example.png
123
192
  - demo/log/.keep
124
193
  - demo/package.json
125
194
  - demo/public/favicon.ico
195
+ - demo/test/application_system_test_case.rb
196
+ - demo/test/controllers/bootstrap_controller_test.rb
197
+ - demo/test/controllers/users_controller_test.rb
126
198
  - demo/test/fixtures/action_text/rich_texts.yml
199
+ - demo/test/fixtures/users.yml
200
+ - demo/test/system/bootstrap_test.rb
201
+ - demo/test/test_helper.rb
202
+ - demo/webpack.config.js
127
203
  - demo/yarn.lock
128
- - gemfiles/5.0.gemfile
129
- - gemfiles/5.1.gemfile
204
+ - docker-compose.yml
130
205
  - gemfiles/5.2.gemfile
131
206
  - gemfiles/6.0.gemfile
207
+ - gemfiles/6.1.gemfile
208
+ - gemfiles/7.0.gemfile
132
209
  - gemfiles/edge.gemfile
133
210
  - lib/bootstrap_form.rb
134
211
  - lib/bootstrap_form/action_view_extensions/form_helper.rb
@@ -137,6 +214,7 @@ files:
137
214
  - lib/bootstrap_form/components/labels.rb
138
215
  - lib/bootstrap_form/components/layout.rb
139
216
  - lib/bootstrap_form/components/validation.rb
217
+ - lib/bootstrap_form/configuration.rb
140
218
  - lib/bootstrap_form/engine.rb
141
219
  - lib/bootstrap_form/form_builder.rb
142
220
  - lib/bootstrap_form/form_group.rb
@@ -180,7 +258,8 @@ files:
180
258
  homepage: https://github.com/bootstrap-ruby/bootstrap_form
181
259
  licenses:
182
260
  - MIT
183
- metadata: {}
261
+ metadata:
262
+ rubygems_mfa_required: 'true'
184
263
  post_install_message:
185
264
  rdoc_options: []
186
265
  require_paths:
@@ -189,16 +268,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
189
268
  requirements:
190
269
  - - ">="
191
270
  - !ruby/object:Gem::Version
192
- version: '2.3'
271
+ version: '2.7'
193
272
  required_rubygems_version: !ruby/object:Gem::Requirement
194
273
  requirements:
195
274
  - - ">="
196
275
  - !ruby/object:Gem::Version
197
276
  version: '0'
198
277
  requirements: []
199
- rubyforge_project:
200
- rubygems_version: 2.7.6
278
+ rubygems_version: 3.1.2
201
279
  signing_key:
202
280
  specification_version: 4
203
- summary: Rails form builder that makes it easy to style forms using Bootstrap 4
281
+ summary: Rails form builder that makes it easy to style forms using Bootstrap 5
204
282
  test_files: []
data/.travis.yml DELETED
@@ -1,42 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.7
4
- - 2.6.5
5
- - 2.5.7
6
- - 2.4.9
7
- gemfile:
8
- - gemfiles/5.0.gemfile
9
- - gemfiles/5.1.gemfile
10
- - gemfiles/5.2.gemfile
11
- - gemfiles/6.0.gemfile
12
- cache:
13
- bundler: true
14
- script:
15
- - bundle exec rake test
16
-
17
- matrix:
18
- exclude:
19
- - rvm: 2.4.9
20
- gemfile: gemfiles/6.0.gemfile
21
-
22
- include:
23
- # Bleeding edge Ruby
24
- - rvm: ruby-head
25
- gemfile: gemfiles/6.0.gemfile
26
-
27
- # Next version of Rails
28
- - rvm: 2.5.7
29
- gemfile: gemfiles/edge.gemfile
30
-
31
- # Running one job to execute DANGER bot and linting
32
- - rvm: 2.5.7
33
- gemfile: gemfiles/6.0.gemfile
34
- script:
35
- - gem install danger
36
- - danger
37
- - bundle exec rake rubocop
38
-
39
- allow_failures:
40
- - rvm: ruby-head
41
- - rvm: 2.5.7
42
- gemfile: gemfiles/edge.gemfile
@@ -1,14 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Version of your assets, change this if you want to expire all your assets.
4
- Rails.application.config.assets.version = "1.0"
5
-
6
- # Add additional assets to the asset load path.
7
- # Rails.application.config.assets.paths << Emoji.images_path
8
- # Add Yarn node_modules folder to the asset load path.
9
- Rails.application.config.assets.paths << Rails.root.join("node_modules")
10
-
11
- # Precompile additional assets.
12
- # application.js, application.css, and all non-JS/CSS in the app/assets
13
- # folder are already added.
14
- # Rails.application.config.assets.precompile += %w( admin.js admin.css )
data/gemfiles/5.0.gemfile DELETED
@@ -1,18 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gemspec path: "../"
4
-
5
- gem "rails", "~> 5.0.0"
6
-
7
- group :development do
8
- gem "rubocop-rails", require: false
9
- end
10
-
11
- group :test do
12
- gem "diffy"
13
- gem "equivalent-xml"
14
- gem "minitest", "~> 5.10.3"
15
- gem "mocha"
16
- gem "sqlite3", "~> 1.3.6"
17
- gem "timecop", "~> 0.7.1"
18
- end
data/gemfiles/5.1.gemfile DELETED
@@ -1,17 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gemspec path: "../"
4
-
5
- gem "rails", "~> 5.1.0"
6
-
7
- group :development do
8
- gem "rubocop-rails", require: false
9
- end
10
-
11
- group :test do
12
- gem "diffy"
13
- gem "equivalent-xml"
14
- gem "mocha"
15
- gem "sqlite3", "~> 1.4"
16
- gem "timecop", "~> 0.7.1"
17
- end