bootstrap_form 4.4.0 → 4.5.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/.travis.yml +6 -13
- data/CHANGELOG.md +8 -1
- data/Gemfile +2 -4
- data/README.md +23 -3
- data/RELEASING.md +1 -1
- data/bootstrap_form.gemspec +5 -3
- data/demo/config/environments/development.rb +1 -1
- data/lib/bootstrap_form.rb +16 -5
- data/lib/bootstrap_form/action_view_extensions/form_helper.rb +1 -1
- data/lib/bootstrap_form/configuration.rb +23 -0
- data/lib/bootstrap_form/form_builder.rb +3 -3
- data/lib/bootstrap_form/version.rb +1 -1
- metadata +9 -10
- data/gemfiles/5.0.gemfile +0 -18
- data/gemfiles/5.1.gemfile +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d9c9c11dc8a15ead08e2e5060d5c003933c82630d7124692a9e6dae838d34dde
|
4
|
+
data.tar.gz: dfd08f5247ebb273aa6696ef09c023d294c3fde7ec936f1e7721b81bc735dd3a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b84c600054f7987edbf2774ac4603ed7b0c2c6f13ef4e6a6cb3f84c716d680b5ba8bbb14b9263831d3b9e2d1cea75128aab657cbf48e0110c1f0141df96d2c3
|
7
|
+
data.tar.gz: b0b64178a6158c444021ed3818fa02921aff33a6dc1bd299448b72387ee7e4ec19ffa017af1ac4a5e2fe42a952338870c1ec793d64c7bc098a1fa2b31d86f6a2
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
@@ -1,35 +1,28 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.7
|
3
|
+
- 2.7.1
|
4
4
|
- 2.6.5
|
5
5
|
- 2.5.7
|
6
|
-
- 2.4.9
|
7
6
|
gemfile:
|
8
|
-
- gemfiles/5.0.gemfile
|
9
|
-
- gemfiles/5.1.gemfile
|
10
|
-
- gemfiles/5.2.gemfile
|
11
7
|
- gemfiles/6.0.gemfile
|
8
|
+
- gemfiles/5.2.gemfile
|
12
9
|
cache:
|
13
10
|
bundler: true
|
14
11
|
script:
|
15
12
|
- bundle exec rake test
|
16
13
|
|
17
14
|
matrix:
|
18
|
-
exclude:
|
19
|
-
- rvm: 2.4.9
|
20
|
-
gemfile: gemfiles/6.0.gemfile
|
21
|
-
|
22
15
|
include:
|
23
16
|
# Bleeding edge Ruby
|
24
17
|
- rvm: ruby-head
|
25
|
-
gemfile: gemfiles/
|
18
|
+
gemfile: gemfiles/edge.gemfile
|
26
19
|
|
27
20
|
# Next version of Rails
|
28
|
-
- rvm: 2.
|
21
|
+
- rvm: 2.7.1
|
29
22
|
gemfile: gemfiles/edge.gemfile
|
30
23
|
|
31
24
|
# Running one job to execute DANGER bot and linting
|
32
|
-
- rvm: 2.
|
25
|
+
- rvm: 2.7.1
|
33
26
|
gemfile: gemfiles/6.0.gemfile
|
34
27
|
script:
|
35
28
|
- gem install danger
|
@@ -38,5 +31,5 @@ matrix:
|
|
38
31
|
|
39
32
|
allow_failures:
|
40
33
|
- rvm: ruby-head
|
41
|
-
- rvm: 2.
|
34
|
+
- rvm: 2.7.1
|
42
35
|
gemfile: gemfiles/edge.gemfile
|
data/CHANGELOG.md
CHANGED
@@ -12,6 +12,12 @@
|
|
12
12
|
|
13
13
|
* Your contribution here!
|
14
14
|
|
15
|
+
## [4.5.0][] (2020-04-29)
|
16
|
+
|
17
|
+
### New features
|
18
|
+
|
19
|
+
* [#562](https://github.com/bootstrap-ruby/bootstrap_form/pull/562): Allow to configure default form attributes - [@sharshenov](https://github.com/sharshenov).
|
20
|
+
|
15
21
|
## [4.4.0][] (2020-03-08)
|
16
22
|
|
17
23
|
### New features
|
@@ -286,7 +292,8 @@ Features:
|
|
286
292
|
- Added support for bootstrap_form_tag (@baldwindavid)
|
287
293
|
|
288
294
|
|
289
|
-
[Pending Release]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.
|
295
|
+
[Pending Release]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.5.0...HEAD
|
296
|
+
[4.5.0]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.4.0...v4.5.0
|
290
297
|
[4.4.0]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.3.0...v4.4.0
|
291
298
|
[4.3.0]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.2.0...v4.3.0
|
292
299
|
[4.2.0]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.1.0...v4.2.0
|
data/Gemfile
CHANGED
@@ -5,22 +5,20 @@ gemspec
|
|
5
5
|
# Uncomment and change rails version for testing purposes
|
6
6
|
# gem "rails", "~> 5.2.0"
|
7
7
|
gem "rails", "~> 6.0.0"
|
8
|
+
# gem "rails", git: "https://github.com/rails/rails.git"
|
8
9
|
|
9
10
|
group :development do
|
10
11
|
gem "chandler", ">= 0.7.0"
|
11
12
|
gem "htmlbeautifier"
|
12
13
|
gem "rubocop-rails", require: false
|
13
14
|
gem "sassc-rails"
|
14
|
-
gem "webpacker"
|
15
|
+
gem "webpacker"
|
15
16
|
end
|
16
17
|
|
17
18
|
group :test do
|
18
19
|
# can relax version requirement for Rails 5.2.beta3+
|
19
|
-
gem "minitest", "~> 5.10.3"
|
20
|
-
|
21
20
|
gem "diffy"
|
22
21
|
gem "equivalent-xml"
|
23
22
|
gem "mocha"
|
24
23
|
gem "sqlite3"
|
25
|
-
gem "timecop", "~> 0.7.1"
|
26
24
|
end
|
data/README.md
CHANGED
@@ -31,8 +31,8 @@ Some other nice things that `bootstrap_form` does for you are:
|
|
31
31
|
|
32
32
|
`bootstrap_form` supports at a minimum the currently supported versions of Ruby and Rails:
|
33
33
|
|
34
|
-
* Ruby 2.
|
35
|
-
* Rails 5.
|
34
|
+
* Ruby 2.5+
|
35
|
+
* Rails 5.2+
|
36
36
|
* Bootstrap 4.0+
|
37
37
|
|
38
38
|
## Installation
|
@@ -107,7 +107,7 @@ If your form is not backed by a model, use the `bootstrap_form_tag`. Usage of th
|
|
107
107
|
<% end %>
|
108
108
|
```
|
109
109
|
|
110
|
-
### bootstrap_form_with
|
110
|
+
### bootstrap_form_with
|
111
111
|
|
112
112
|
Note that `form_with` in Rails 5.1 does not add IDs to form elements and labels by default, which are both important to Bootstrap markup. This behaviour is corrected in Rails 5.2.
|
113
113
|
|
@@ -150,6 +150,26 @@ in `form_with`.
|
|
150
150
|
|
151
151
|
`form_with` has some important differences compared to `form_for` and `form_tag`, and these differences apply to `bootstrap_form_with`. A good summary of the differences can be found at: https://m.patrikonrails.com/rails-5-1s-form-with-vs-old-form-helpers-3a5f72a8c78a, or in the [Rails documentation](api.rubyonrails.org).
|
152
152
|
|
153
|
+
|
154
|
+
## Configuration
|
155
|
+
|
156
|
+
`bootstrap_form` can be used out-of-the-box without any configuration. However, `bootstrap_form` does have an optional configuration file at `config/initializers/bootstrap_form.rb` for setting options that affect all generated forms in an application.
|
157
|
+
|
158
|
+
The current configuration options are:
|
159
|
+
|
160
|
+
| Option | Default value | Description |
|
161
|
+
|---------------------------|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
162
|
+
| `default_form_attributes` | `{role: "form"}` | version [2.2.0](https://github.com/bootstrap-ruby/bootstrap_form/blob/master/CHANGELOG.md#220-2014-09-16) added a role="form" attribute to all forms. The W3C validator will raise a **warning** on forms with a role="form" attribute. Set this option to `{}` to make forms be W3C compliant. |
|
163
|
+
|
164
|
+
|
165
|
+
Example:
|
166
|
+
```ruby
|
167
|
+
# config/initializers/bootstrap_form.rb
|
168
|
+
BootstrapForm.configure do |c|
|
169
|
+
c.default_form_attributes = {} # to make forms W3C compliant
|
170
|
+
end
|
171
|
+
```
|
172
|
+
|
153
173
|
## Form Helpers
|
154
174
|
|
155
175
|
`bootstrap_form` provides its own version of the following Rails form helpers:
|
data/RELEASING.md
CHANGED
@@ -6,7 +6,7 @@ Follow these steps to release a new version of bootstrap_form to rubygems.org.
|
|
6
6
|
|
7
7
|
* You must have commit rights to the bootstrap_form repository.
|
8
8
|
* You must have push rights for the bootstrap_form gem on rubygems.org.
|
9
|
-
* You must be using Ruby >= 2.
|
9
|
+
* You must be using Ruby >= 2.5.
|
10
10
|
* Your GitHub credentials must be available to Chandler via `~/.netrc` or an environment variable, [as explained here](https://github.com/mattbrictson/chandler#2-configure-credentials).
|
11
11
|
|
12
12
|
## How to release
|
data/bootstrap_form.gemspec
CHANGED
@@ -15,6 +15,8 @@ Gem::Specification.new do |s|
|
|
15
15
|
"easy to create beautiful-looking forms using Bootstrap 4"
|
16
16
|
s.license = "MIT"
|
17
17
|
|
18
|
+
s.post_install_message = "Default form attribute role=\"form\" will be dropped in 5.0.0"
|
19
|
+
|
18
20
|
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
19
21
|
f.match(%r{^(test)/})
|
20
22
|
end
|
@@ -22,8 +24,8 @@ Gem::Specification.new do |s|
|
|
22
24
|
s.bindir = "exe"
|
23
25
|
s.require_paths = ["lib"]
|
24
26
|
|
25
|
-
s.required_ruby_version = ">= 2.
|
27
|
+
s.required_ruby_version = ">= 2.5"
|
26
28
|
|
27
|
-
s.add_dependency("actionpack", ">= 5.
|
28
|
-
s.add_dependency("activemodel", ">= 5.
|
29
|
+
s.add_dependency("actionpack", ">= 5.2")
|
30
|
+
s.add_dependency("activemodel", ">= 5.2")
|
29
31
|
end
|
@@ -16,7 +16,7 @@ Rails.application.configure do
|
|
16
16
|
|
17
17
|
# Enable/disable caching. By default caching is disabled.
|
18
18
|
# Run rails dev:cache to toggle caching.
|
19
|
-
if Rails.root.join("tmp
|
19
|
+
if Rails.root.join("tmp", "caching-dev.txt").exist?
|
20
20
|
config.action_controller.perform_caching = true
|
21
21
|
|
22
22
|
config.cache_store = :memory_store
|
data/lib/bootstrap_form.rb
CHANGED
@@ -13,6 +13,7 @@ module BootstrapForm
|
|
13
13
|
extend ActiveSupport::Autoload
|
14
14
|
|
15
15
|
eager_autoload do
|
16
|
+
autoload :Configuration
|
16
17
|
autoload :FormBuilder
|
17
18
|
autoload :FormGroupBuilder
|
18
19
|
autoload :FormGroup
|
@@ -21,11 +22,21 @@ module BootstrapForm
|
|
21
22
|
autoload :Helpers
|
22
23
|
end
|
23
24
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
class << self
|
26
|
+
def eager_load!
|
27
|
+
super
|
28
|
+
BootstrapForm::Components.eager_load!
|
29
|
+
BootstrapForm::Helpers.eager_load!
|
30
|
+
BootstrapForm::Inputs.eager_load!
|
31
|
+
end
|
32
|
+
|
33
|
+
def config
|
34
|
+
@config ||= BootstrapForm::Configuration.new
|
35
|
+
end
|
36
|
+
|
37
|
+
def configure
|
38
|
+
yield config
|
39
|
+
end
|
29
40
|
end
|
30
41
|
|
31
42
|
mattr_accessor :field_error_proc
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BootstrapForm
|
4
|
+
class Configuration
|
5
|
+
def default_form_attributes=(attributes)
|
6
|
+
case attributes
|
7
|
+
when nil
|
8
|
+
@default_form_attributes = {}
|
9
|
+
when Hash
|
10
|
+
@default_form_attributes = attributes
|
11
|
+
else
|
12
|
+
raise ArgumentError, "Unsupported default_form_attributes #{attributes.inspect}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def default_form_attributes
|
17
|
+
return @default_form_attributes if defined? @default_form_attributes
|
18
|
+
|
19
|
+
# TODO: Return blank hash ({}) in 5.0.0. Role "form" for form tags is redundant and makes W3C to raise a warning.
|
20
|
+
{ role: "form" }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -58,14 +58,14 @@ module BootstrapForm
|
|
58
58
|
options[:inline_errors] != false
|
59
59
|
end
|
60
60
|
@acts_like_form_tag = options[:acts_like_form_tag]
|
61
|
-
|
61
|
+
add_default_form_attributes_and_form_inline options
|
62
62
|
super
|
63
63
|
end
|
64
64
|
# rubocop:enable Metrics/AbcSize
|
65
65
|
|
66
|
-
def
|
66
|
+
def add_default_form_attributes_and_form_inline(options)
|
67
67
|
options[:html] ||= {}
|
68
|
-
options[:html]
|
68
|
+
options[:html].reverse_merge!(BootstrapForm.config.default_form_attributes)
|
69
69
|
|
70
70
|
return unless options[:layout] == :inline
|
71
71
|
|
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
|
+
version: 4.5.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-
|
12
|
+
date: 2020-04-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -17,28 +17,28 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '5.
|
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.
|
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.
|
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.
|
41
|
+
version: '5.2'
|
42
42
|
description: bootstrap_form is a rails form builder that makes it super easy to create
|
43
43
|
beautiful-looking forms using Bootstrap 4
|
44
44
|
email:
|
@@ -125,8 +125,6 @@ files:
|
|
125
125
|
- demo/public/favicon.ico
|
126
126
|
- demo/test/fixtures/action_text/rich_texts.yml
|
127
127
|
- demo/yarn.lock
|
128
|
-
- gemfiles/5.0.gemfile
|
129
|
-
- gemfiles/5.1.gemfile
|
130
128
|
- gemfiles/5.2.gemfile
|
131
129
|
- gemfiles/6.0.gemfile
|
132
130
|
- gemfiles/edge.gemfile
|
@@ -137,6 +135,7 @@ files:
|
|
137
135
|
- lib/bootstrap_form/components/labels.rb
|
138
136
|
- lib/bootstrap_form/components/layout.rb
|
139
137
|
- lib/bootstrap_form/components/validation.rb
|
138
|
+
- lib/bootstrap_form/configuration.rb
|
140
139
|
- lib/bootstrap_form/engine.rb
|
141
140
|
- lib/bootstrap_form/form_builder.rb
|
142
141
|
- lib/bootstrap_form/form_group.rb
|
@@ -181,7 +180,7 @@ homepage: https://github.com/bootstrap-ruby/bootstrap_form
|
|
181
180
|
licenses:
|
182
181
|
- MIT
|
183
182
|
metadata: {}
|
184
|
-
post_install_message:
|
183
|
+
post_install_message: Default form attribute role="form" will be dropped in 5.0.0
|
185
184
|
rdoc_options: []
|
186
185
|
require_paths:
|
187
186
|
- lib
|
@@ -189,7 +188,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
189
188
|
requirements:
|
190
189
|
- - ">="
|
191
190
|
- !ruby/object:Gem::Version
|
192
|
-
version: '2.
|
191
|
+
version: '2.5'
|
193
192
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
194
193
|
requirements:
|
195
194
|
- - ">="
|
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
|