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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +48 -0
- data/.gitignore +28 -3
- data/.rubocop.yml +19 -15
- data/CHANGELOG.md +82 -1
- data/CONTRIBUTING.md +73 -12
- data/Dangerfile +5 -7
- data/Dockerfile +21 -0
- data/Gemfile +8 -11
- data/README.md +829 -82
- data/RELEASING.md +5 -10
- data/UPGRADE-4.0.md +1 -1
- data/UPGRADE-5.0.md +25 -0
- data/bootstrap_form.gemspec +8 -5
- data/demo/.ruby-version +1 -0
- data/demo/Gemfile +80 -0
- data/demo/Gemfile.lock +261 -0
- data/demo/Procfile.dev +2 -0
- data/demo/app/assets/builds/.keep +0 -0
- data/demo/app/assets/builds/application.js.LICENSE.txt +9 -0
- data/demo/app/assets/config/manifest.js +2 -2
- data/demo/app/assets/stylesheets/actiontext.css +31 -0
- data/demo/app/assets/stylesheets/application.scss +1 -1
- data/demo/app/controllers/bootstrap_controller.rb +17 -2
- data/demo/app/controllers/users_controller.rb +9 -0
- data/demo/app/helpers/bootstrap_helper.rb +5 -5
- data/demo/app/javascript/application.js +3 -0
- data/demo/app/models/skill.rb +15 -0
- data/demo/app/models/user.rb +14 -0
- data/demo/app/views/active_storage/blobs/_blob.html.erb +1 -1
- data/demo/app/views/bootstrap/form.html.erb +13 -0
- data/demo/app/views/layouts/action_text/contents/_content.html.erb +3 -0
- data/demo/app/views/layouts/application.html.erb +28 -20
- data/demo/bin/dev +9 -0
- data/demo/config/environments/development.rb +3 -3
- data/demo/config/puma.rb +2 -2
- data/demo/config/routes.rb +1 -0
- data/demo/db/schema.rb +31 -16
- data/demo/doc/screenshots/bootstrap/index/00_horizontal_form.png +0 -0
- data/demo/doc/screenshots/bootstrap/index/01_with_validation_error.png +0 -0
- data/demo/doc/screenshots/bootstrap/index/02_inline_form.png +0 -0
- data/demo/doc/screenshots/bootstrap/index/03_simple_action_text_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/index/04_floating_labels.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/00_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/01_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/02_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/03_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/04_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/05_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/06_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/07_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/08_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/09_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/10_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/11_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/12_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/13_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/14_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/15_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/16_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/17_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/18_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/19_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/20_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/21_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/22_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/23_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/24_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/25_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/26_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/27_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/28_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/29_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/30_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/31_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/32_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/33_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/34_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/35_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/36_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/37_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/38_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/39_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/40_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/41_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/42_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/43_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/44_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/45_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/46_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/47_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/48_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/49_example.png +0 -0
- data/demo/doc/screenshots/bootstrap/readme/50_example.png +0 -0
- data/demo/package.json +10 -6
- data/demo/test/application_system_test_case.rb +8 -0
- data/demo/test/controllers/bootstrap_controller_test.rb +8 -0
- data/demo/test/controllers/users_controller_test.rb +13 -0
- data/demo/test/fixtures/users.yml +2 -0
- data/demo/test/system/bootstrap_test.rb +84 -0
- data/demo/test/test_helper.rb +10 -0
- data/demo/webpack.config.js +20 -0
- data/demo/yarn.lock +4063 -3144
- data/docker-compose.yml +49 -0
- data/gemfiles/5.2.gemfile +2 -15
- data/gemfiles/6.0.gemfile +2 -17
- data/gemfiles/6.1.gemfile +4 -0
- data/gemfiles/7.0.gemfile +6 -0
- data/gemfiles/edge.gemfile +2 -17
- data/lib/bootstrap_form/action_view_extensions/form_helper.rb +1 -1
- data/lib/bootstrap_form/components/hints.rb +13 -4
- data/lib/bootstrap_form/components/labels.rb +2 -2
- data/lib/bootstrap_form/components/validation.rb +1 -1
- data/lib/bootstrap_form/configuration.rb +22 -0
- data/lib/bootstrap_form/form_builder.rb +10 -12
- data/lib/bootstrap_form/form_group.rb +26 -11
- data/lib/bootstrap_form/form_group_builder.rb +6 -8
- data/lib/bootstrap_form/helpers/bootstrap.rb +17 -12
- data/lib/bootstrap_form/inputs/base.rb +5 -5
- data/lib/bootstrap_form/inputs/check_box.rb +11 -23
- data/lib/bootstrap_form/inputs/collection_check_boxes.rb +5 -1
- data/lib/bootstrap_form/inputs/collection_select.rb +2 -1
- data/lib/bootstrap_form/inputs/file_field.rb +3 -15
- data/lib/bootstrap_form/inputs/grouped_collection_select.rb +2 -1
- data/lib/bootstrap_form/inputs/radio_button.rb +17 -30
- data/lib/bootstrap_form/inputs/select.rb +1 -0
- data/lib/bootstrap_form/inputs/time_zone_select.rb +1 -0
- data/lib/bootstrap_form/version.rb +1 -1
- data/lib/bootstrap_form.rb +17 -7
- metadata +94 -16
- data/.travis.yml +0 -42
- data/demo/config/initializers/assets.rb +0 -14
- 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: 75c715774dfcbad34c15dbd54c3a14da015c4e67805c0a1adfbfd36ff0f0d27b
|
|
4
|
+
data.tar.gz: f1a3c95a6cd6f2012c8062f5e3c3f8b680cb17292141443d8465625a552d1e5b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 75107dba8802198d3685161d292ae40e28e9e83acd688c7779a5bf9eade665bdad236c7f64aeac906872a9e751f77ad98a6e24bda27334a8472bb5ec11855906
|
|
7
|
+
data.tar.gz: 0c30626a9bde0725bc7ca12713bc9d9acc588832e450752a4142c3a9bc63a47aec9bbdf016a1973ea173153ae700c88f4e0be820ca75c0047ced7cd5d8daa0dc
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: Ruby
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
pull_request:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
Lint:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v2
|
|
12
|
+
with:
|
|
13
|
+
fetch-depth: 0
|
|
14
|
+
- uses: ruby/setup-ruby@v1
|
|
15
|
+
with:
|
|
16
|
+
ruby-version: 2.7
|
|
17
|
+
bundler-cache: true
|
|
18
|
+
# Disabled since it requires access not granted by GitHub Actions for PRs
|
|
19
|
+
# - name: Danger
|
|
20
|
+
# if: ${{ github.event_name == 'pull_request' }}
|
|
21
|
+
# env:
|
|
22
|
+
# DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
23
|
+
# run: |
|
|
24
|
+
# bundle exec danger
|
|
25
|
+
- name: Rubocop
|
|
26
|
+
run: bundle exec rubocop --auto-correct
|
|
27
|
+
Test:
|
|
28
|
+
runs-on: ubuntu-latest
|
|
29
|
+
strategy:
|
|
30
|
+
fail-fast: false
|
|
31
|
+
matrix:
|
|
32
|
+
ruby-version: [ '3.1', '3.0', '2.7' ]
|
|
33
|
+
gemfile: [ '7.0', '6.1', '6.0', '5.2', 'edge' ]
|
|
34
|
+
exclude:
|
|
35
|
+
- { ruby-version: '3.1', gemfile: "6.0" }
|
|
36
|
+
- { ruby-version: '3.1', gemfile: "5.2" }
|
|
37
|
+
- { ruby-version: '3.0', gemfile: "5.2" }
|
|
38
|
+
env:
|
|
39
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
|
40
|
+
steps:
|
|
41
|
+
- uses: actions/checkout@v2
|
|
42
|
+
- name: Set up Ruby
|
|
43
|
+
uses: ruby/setup-ruby@v1
|
|
44
|
+
with:
|
|
45
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
46
|
+
bundler-cache: true
|
|
47
|
+
- name: Run tests
|
|
48
|
+
run: bundle exec rake test
|
data/.gitignore
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
.bundle/
|
|
2
|
+
.idea
|
|
2
3
|
log/*.log
|
|
3
4
|
pkg/
|
|
4
5
|
demo/db/*.sqlite3
|
|
6
|
+
demo/doc/screenshots/**/*.committed.png
|
|
7
|
+
demo/doc/screenshots/**/*.latest.png
|
|
5
8
|
demo/log/*.log
|
|
6
9
|
demo/tmp/
|
|
7
10
|
*.gem
|
|
8
11
|
.rbenv-gemsets
|
|
9
12
|
*.swp
|
|
10
|
-
Gemfile.lock
|
|
13
|
+
/Gemfile.lock
|
|
11
14
|
test/gemfiles/*.lock
|
|
12
|
-
|
|
15
|
+
gemfiles/*.lock
|
|
16
|
+
/.ruby-version
|
|
13
17
|
Vagrantfile
|
|
14
18
|
.vagrant
|
|
19
|
+
.yarnrc
|
|
15
20
|
|
|
16
|
-
|
|
21
|
+
# For the demo app.
|
|
17
22
|
|
|
18
23
|
# Ignore uploaded files in development.
|
|
19
24
|
demo/storage/*
|
|
@@ -26,7 +31,27 @@ demo/public/assets
|
|
|
26
31
|
demo/config/master.key
|
|
27
32
|
demo/public/packs
|
|
28
33
|
demo/public/packs-test
|
|
34
|
+
demo/app/assets/builds/*
|
|
35
|
+
!demo/app/assets/builds/.keep
|
|
29
36
|
demo/node_modules
|
|
30
37
|
demo/yarn-error.log
|
|
31
38
|
demo/yarn-debug.log*
|
|
32
39
|
demo/.yarn-integrity
|
|
40
|
+
demo/vendor/bundle
|
|
41
|
+
|
|
42
|
+
# For stuff that gets created if using the Dockerfile image
|
|
43
|
+
.bundle/
|
|
44
|
+
.cache/
|
|
45
|
+
vendor/bundle
|
|
46
|
+
|
|
47
|
+
# or .local/share/pry/pry_history if you need to be more exact
|
|
48
|
+
.local/
|
|
49
|
+
.irb_history
|
|
50
|
+
.byebug_history
|
|
51
|
+
# For Debian images with Bash
|
|
52
|
+
.bash_history
|
|
53
|
+
# For Alpine images
|
|
54
|
+
.ash_history
|
|
55
|
+
.sqlite_history
|
|
56
|
+
|
|
57
|
+
docker-compose.override.yml
|
data/.rubocop.yml
CHANGED
|
@@ -1,33 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
require:
|
|
2
|
+
- rubocop-performance
|
|
3
|
+
- rubocop-rails
|
|
4
4
|
|
|
5
5
|
AllCops:
|
|
6
6
|
DisplayCopNames: true
|
|
7
7
|
DisplayStyleGuide: true
|
|
8
|
-
TargetRubyVersion: 2.
|
|
8
|
+
TargetRubyVersion: 2.7
|
|
9
|
+
NewCops: enable
|
|
9
10
|
Exclude:
|
|
10
|
-
-
|
|
11
|
+
- bin/*
|
|
11
12
|
- Capfile
|
|
12
13
|
- demo/bin/*
|
|
13
|
-
-
|
|
14
|
+
- demo/bower_components/**/*
|
|
14
15
|
- demo/config/boot.rb
|
|
15
16
|
- demo/config/environment.rb
|
|
16
17
|
- demo/config/initializers/version.rb
|
|
17
18
|
- demo/db/schema.rb
|
|
18
|
-
-
|
|
19
|
+
- demo/node_modules/**/*
|
|
19
20
|
- demo/Rakefile
|
|
20
|
-
-
|
|
21
|
-
-
|
|
21
|
+
- demo/tmp/**/*
|
|
22
|
+
- demo/vendor/**/*
|
|
22
23
|
- Gemfile
|
|
23
24
|
- gemfiles/vendor/bundle/**/*
|
|
25
|
+
- vendor/bundle/**/*
|
|
24
26
|
- Guardfile
|
|
25
27
|
- Rakefile
|
|
28
|
+
- vendor/**/*
|
|
29
|
+
|
|
30
|
+
Layout/LineLength:
|
|
31
|
+
Max: 132
|
|
32
|
+
Exclude:
|
|
33
|
+
- "demo/config/**/*"
|
|
34
|
+
- "demo/db/**/*"
|
|
26
35
|
|
|
27
36
|
Layout/SpaceAroundEqualsInParameterDefault:
|
|
28
37
|
EnforcedStyle: no_space
|
|
29
38
|
|
|
30
39
|
Metrics/AbcSize:
|
|
40
|
+
Max: 18
|
|
31
41
|
Exclude:
|
|
32
42
|
- "demo/test/**/*"
|
|
33
43
|
- "test/**/*"
|
|
@@ -43,12 +53,6 @@ Metrics/ClassLength:
|
|
|
43
53
|
- "demo/test/**/*"
|
|
44
54
|
- "test/**/*"
|
|
45
55
|
|
|
46
|
-
Metrics/LineLength:
|
|
47
|
-
Max: 132
|
|
48
|
-
Exclude:
|
|
49
|
-
- "demo/config/**/*"
|
|
50
|
-
- "demo/db/**/*"
|
|
51
|
-
|
|
52
56
|
Metrics/MethodLength:
|
|
53
57
|
Max: 12
|
|
54
58
|
Exclude:
|
data/CHANGELOG.md
CHANGED
|
@@ -1,17 +1,95 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
## Apology
|
|
4
|
+
|
|
5
|
+
The tooling to support our old way of doing the change log doesn't work anymore, and we don't have a better solution, so this change log has become unreliable since version 4.5.0. Please refer to the commit history if you need to debug changes.
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
- [Pending Release](https://github.com/bootstrap-ruby/bootstrap_form/compare/v5.1.0...HEAD)
|
|
9
|
+
- [5.1.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v5.0.0...v5.1.0)
|
|
10
|
+
- [5.0.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.5.0...v5.0.0)
|
|
11
|
+
- [4.5.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.4.0...v4.5.0)
|
|
12
|
+
- [4.4.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.3.0...v4.4.0)
|
|
13
|
+
- [4.3.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.2.0...v4.3.0)
|
|
14
|
+
- [4.2.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.1.0...v4.2.0)
|
|
15
|
+
- [4.1.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.0.0...v4.1.0)
|
|
16
|
+
- [4.0.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.0.0.alpha1...v4.0.0)
|
|
17
|
+
- [4.0.0.alpha1](https://github.com/bootstrap-ruby/bootstrap_form/compare/v2.7.0...v4.0.0.alpha1)
|
|
18
|
+
- [2.7.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v2.6.0...v2.7.0)
|
|
19
|
+
- [2.6.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v2.5.3...v2.6.0)
|
|
20
|
+
- [2.5.3](https://github.com/bootstrap-ruby/bootstrap_form/compare/v2.5.2...v2.5.3)
|
|
21
|
+
- [2.5.2](https://github.com/bootstrap-ruby/bootstrap_form/compare/v2.5.1...v2.5.2)
|
|
22
|
+
- [2.5.1](https://github.com/bootstrap-ruby/bootstrap_form/compare/v2.5.0...v2.5.1)
|
|
23
|
+
- [2.5.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v2.4.0...v2.5.0)
|
|
24
|
+
- [2.4.0](https://github.com/bootstrap-ruby/bootstrap_form/compare/v2.3.0...v2.4.0)
|
|
25
|
+
|
|
1
26
|
## [Pending Release][]
|
|
2
27
|
|
|
3
28
|
### Breaking changes
|
|
4
29
|
|
|
30
|
+
* [#618](https://github.com/bootstrap-ruby/bootstrap_form/pull/618): Allow overriding the wrapper class - [@donv](https://github.com/donv).
|
|
5
31
|
* Your contribution here!
|
|
6
32
|
|
|
7
33
|
### New features
|
|
8
34
|
|
|
35
|
+
* [#572](https://github.com/bootstrap-ruby/bootstrap_form/issues/572): Simplify the formatting of the file upload control to follow the new Bootstrap 5 styles
|
|
36
|
+
* [#573](https://github.com/bootstrap-ruby/bootstrap_form/issues/573): Add support for Bootstrap 5's floating labels
|
|
37
|
+
|
|
38
|
+
* [#215](https://github.com/bootstrap-ruby/bootstrap_form/issues/215): Add `include_hidden` option to `check_box`
|
|
39
|
+
### Bugfixes
|
|
40
|
+
|
|
41
|
+
* [#582](https://github.com/bootstrap-ruby/bootstrap_form/issues/582): Fix tests in bootstrap-5 branch, removes Rubocop offenses, and adds testing with Rails 6.1.
|
|
42
|
+
|
|
43
|
+
## [5.0.0.alpha1][]
|
|
44
|
+
|
|
45
|
+
### Breaking changes
|
|
46
|
+
|
|
47
|
+
* [#569] Remove `role="form"` from the default generated form HTML so forms pass W3C validation. (Only a breaking change if you depended on the `form` attribute. `bootstrap_form` doesn't depend on it.)
|
|
48
|
+
|
|
49
|
+
### New features
|
|
50
|
+
|
|
9
51
|
* Your contribution here!
|
|
10
52
|
|
|
11
53
|
### Bugfixes
|
|
12
54
|
|
|
55
|
+
* [#284] [#300] Field's help message is displayed, even while inline error message is displayed. - [@antpaw](https://github.com/antpaw)
|
|
56
|
+
|
|
57
|
+
## [5.0.0][] (2021-11-11)
|
|
58
|
+
|
|
59
|
+
### Breaking changes
|
|
60
|
+
|
|
61
|
+
* Generates markup for Bootstrap 5.
|
|
62
|
+
|
|
63
|
+
### New features
|
|
64
|
+
|
|
65
|
+
* [#572](https://github.com/bootstrap-ruby/bootstrap_form/issues/572): Simplify the formatting of the file upload control to follow the new Bootstrap 5 styles
|
|
66
|
+
* [#573](https://github.com/bootstrap-ruby/bootstrap_form/issues/573): Add support for Bootstrap 5's floating labels
|
|
67
|
+
|
|
68
|
+
### Bugfixes
|
|
69
|
+
|
|
70
|
+
* [#582](https://github.com/bootstrap-ruby/bootstrap_form/issues/582): Fix tests in bootstrap-5 branch, removes Rubocop offenses, and adds testing with Rails 6.1.
|
|
71
|
+
|
|
72
|
+
## [5.0.0.alpha1][]
|
|
73
|
+
|
|
74
|
+
### Breaking changes
|
|
75
|
+
|
|
76
|
+
* [#569] Remove `role="form"` from the default generated form HTML so forms pass W3C validation. (Only a breaking change if you depended on the `form` attribute. `bootstrap_form` doesn't depend on it.)
|
|
77
|
+
|
|
78
|
+
### New features
|
|
79
|
+
|
|
13
80
|
* Your contribution here!
|
|
14
81
|
|
|
82
|
+
### Bugfixes
|
|
83
|
+
|
|
84
|
+
* [#586](https://github.com/bootstrap-ruby/bootstrap_form/pull/586): Fix Rails 6.1 tests on master - [@thimo](https://github.com/thimo).
|
|
85
|
+
* [#587](https://github.com/bootstrap-ruby/bootstrap_form/pull/587): Replace `strip_heredoc` with `<<~` - [@thimo](https://github.com/thimo).
|
|
86
|
+
|
|
87
|
+
## [4.5.0][] (2020-04-29)
|
|
88
|
+
|
|
89
|
+
### New features
|
|
90
|
+
|
|
91
|
+
* [#562](https://github.com/bootstrap-ruby/bootstrap_form/pull/562): Allow to configure default form attributes - [@sharshenov](https://github.com/sharshenov).
|
|
92
|
+
|
|
15
93
|
## [4.4.0][] (2020-03-08)
|
|
16
94
|
|
|
17
95
|
### New features
|
|
@@ -286,7 +364,10 @@ Features:
|
|
|
286
364
|
- Added support for bootstrap_form_tag (@baldwindavid)
|
|
287
365
|
|
|
288
366
|
|
|
289
|
-
[Pending Release]: https://github.com/bootstrap-ruby/bootstrap_form/compare/
|
|
367
|
+
[Pending Release]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v5.1.0...HEAD
|
|
368
|
+
[5.1.0]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v5.0.0...v5.1.0
|
|
369
|
+
[5.0.0]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.5.0...v5.0.0
|
|
370
|
+
[4.5.0]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.4.0...v4.5.0
|
|
290
371
|
[4.4.0]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.3.0...v4.4.0
|
|
291
372
|
[4.3.0]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.2.0...v4.3.0
|
|
292
373
|
[4.2.0]: https://github.com/bootstrap-ruby/bootstrap_form/compare/v4.1.0...v4.2.0
|
data/CONTRIBUTING.md
CHANGED
|
@@ -42,12 +42,7 @@ Fork the project. Optionally, create a branch you want to work on.
|
|
|
42
42
|
- Add a line to the CHANGELOG for your bug fix or feature.
|
|
43
43
|
- Read the [Coding Guidelines](#coding-guidelines) section and make sure that `rake lint` doesn't find any offences.
|
|
44
44
|
|
|
45
|
-
You may find the demo application useful for development and debugging.
|
|
46
|
-
|
|
47
|
-
- `cd demo`
|
|
48
|
-
- `rake db:schema:load`
|
|
49
|
-
- `rails s`
|
|
50
|
-
- Navigate to http://localhost:3000
|
|
45
|
+
You may find the [demo application](#the-demo-application) useful for development and debugging.
|
|
51
46
|
|
|
52
47
|
### 6. Make a pull request
|
|
53
48
|
|
|
@@ -58,16 +53,16 @@ You may find the demo application useful for development and debugging.
|
|
|
58
53
|
### 7. Done!
|
|
59
54
|
|
|
60
55
|
Somebody will shortly review your pull request and if everything is good, it will be
|
|
61
|
-
merged into the
|
|
56
|
+
merged into the main branch. Eventually the gem will be published with your changes.
|
|
62
57
|
|
|
63
58
|
### Coding guidelines
|
|
64
59
|
|
|
65
60
|
This project uses [RuboCop](https://github.com/bbatsov/rubocop) to enforce standard Ruby coding
|
|
66
61
|
guidelines.
|
|
67
62
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
63
|
+
- Test that your contribution passes with `rake rubocop`.
|
|
64
|
+
- RuboCop is also run as part of the full test suite with `bundle exec rake`.
|
|
65
|
+
- Note the Travis build will fail and your PR cannot be merged if RuboCop finds offences.
|
|
71
66
|
|
|
72
67
|
Note that most editors have plugins to run RuboCop as you type, or when you save a file. You may find it well worth your time to install and configure the RuboCop plugin for your editor. Read the [RuboCop documentation](https://rubocop.readthedocs.io/en/latest/integration_with_other_tools/).
|
|
73
68
|
|
|
@@ -77,11 +72,74 @@ The goal of `bootstrap_form` is to support all versions of Rails currently suppo
|
|
|
77
72
|
|
|
78
73
|
The Ruby on Rails support policy is [here](https://guides.rubyonrails.org/maintenance_policy.html).
|
|
79
74
|
|
|
75
|
+
### Developing with Docker
|
|
76
|
+
|
|
77
|
+
This repository includes a `Dockerfile` to build an image with the minimum `bootstrap_form`-supported Ruby environment. To build the image:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
docker build --tag bootstrap_form .
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
This builds an image called `bootstrap_form`. You can change that to any tag you wish. Just make sure you use the same tag name in the `docker run` command.
|
|
84
|
+
|
|
85
|
+
If you want to use a different Ruby version, or a smaller Linux distribution (although the distro may be missing tools you need):
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
docker build --build-arg "RUBY_VERSION=2.7" --build-arg "DISTRO=slim-buster" --tag bootstrap_form .
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Then run the container you built with the shell, and create the bundle:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
docker run --volume "$PWD:/app" --user $UID:`grep ^$USERNAME /etc/passwd | cut -d: -f4` -it bootstrap_form /bin/bash
|
|
95
|
+
bundle install
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
You can run tests in the container as normal, with `rake test`.
|
|
99
|
+
|
|
100
|
+
(Some of that command line is need for Linux hosts, to run the container as the current user.)
|
|
101
|
+
|
|
102
|
+
### The Demo Application
|
|
103
|
+
|
|
104
|
+
There is a demo app in this repository. It shows some of the features of `bootstrap_form`, and provides a base on which to build ad-hoc testing, if you need it.
|
|
105
|
+
|
|
106
|
+
Currently, the demo app is only set up to run for Rails 7, due to the variety of ways to include CSS and JavaScript in a modern Rails application.
|
|
107
|
+
To run the demo app, set up the database and run the server:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
cd demo
|
|
111
|
+
bundle
|
|
112
|
+
rails db:setup
|
|
113
|
+
yarn build --watch &
|
|
114
|
+
rails s -b 0.0.0.0
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
To run the demo app in the Docker container:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
docker run --volume "$PWD:/app" --user $UID:`grep ^$USERNAME /etc/passwd | cut -d: -f4` -p 3000:3000 -it bootstrap_form /bin/bash
|
|
121
|
+
cd demo
|
|
122
|
+
export BUNDLE_GEMFILE=../gemfiles/7.0.gemfile
|
|
123
|
+
rails db:setup
|
|
124
|
+
yarn build --watch &
|
|
125
|
+
rails s -b 0.0.0.0
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
The app doesn't appear to find the source map, or perhaps it isn't being generated. In the Rails log you will see messages similar to:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
ActionController::RoutingError (No route matches [GET] "/assets/application.js-c6c0edbd68f05cffd0e2495198bfbc4bf42be8a11b76eecbfade30a8036b6b87.map")
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
But this doesn't seem to affect how the app runs.
|
|
135
|
+
|
|
136
|
+
To use other supported versions of Rails, you will need to create a `Gemfile` for the Rails version. Then, change the `export BUNDLE_GEMFILE...` line to your gem file. Finally, figure out how to include the assets.
|
|
137
|
+
|
|
80
138
|
## Documentation Contributions
|
|
81
139
|
|
|
82
140
|
Contributions to documentation are always welcome. Even fixing one typo improves the quality of `bootstrap_form`. To make a documentation contribution, follow steps 1-3 of Code Contributions, then make the documentation changes, then make the pull request (step 6 of Code Contributions).
|
|
83
141
|
|
|
84
|
-
If you put `[ci skip]` in the commit message of the most recent commit of the PR, you'll be a good citizen by not causing
|
|
142
|
+
If you put `[ci skip]` in the commit message of the most recent commit of the PR, you'll be a good citizen by not causing our CI pipeline to run all the tests when it's not necessary.
|
|
85
143
|
|
|
86
144
|
## Reviewing Pull Requests
|
|
87
145
|
|
|
@@ -92,11 +150,14 @@ We are an entirely volunteer project. Sometimes it's hard for people to find the
|
|
|
92
150
|
Thanks to all the great contributors over the years: https://github.com/bootstrap-ruby/bootstrap_form/graphs/contributors
|
|
93
151
|
|
|
94
152
|
## Troubleshooting
|
|
153
|
+
|
|
95
154
|
### Models and Database Tables
|
|
155
|
+
|
|
96
156
|
`bootstrap_form` needs a few models and tables to support testing. It appears that the necessary tables were created via the `demo/db/schema.rb` file. To support `rich_text_area`, Rails 6 creates some migrations. These migrations had to be run in the existing database (not an empty one) to create a new `schema.rb` that creates the `bootstrap_form` test tables, and the tables needed by Rails 6. The `schema.rb` file was checked in to GitHub, but the migrations were not.
|
|
97
157
|
|
|
98
158
|
In the future, any new Rails functionality that creates tables would likely have to be prepared the same way:
|
|
99
|
-
|
|
159
|
+
|
|
160
|
+
```bash
|
|
100
161
|
cd demo
|
|
101
162
|
rails db:setup # create the databases from `schema.rb`
|
|
102
163
|
rails db:migrate # add the new tables and create a new `schema.rb`
|
data/Dangerfile
CHANGED
|
@@ -44,11 +44,9 @@ end
|
|
|
44
44
|
# ------------------------------------------------------------------------------
|
|
45
45
|
# Did you remove the CHANGELOG's "Your contribution here!" line?
|
|
46
46
|
# ------------------------------------------------------------------------------
|
|
47
|
-
if has_changelog_changes
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
)
|
|
53
|
-
end
|
|
47
|
+
if has_changelog_changes && File.read("CHANGELOG.md").scan(/^\s*[-*] Your contribution here/i).count < 3
|
|
48
|
+
raise(
|
|
49
|
+
"Please put the `- Your contribution here!` line back into CHANGELOG.md.",
|
|
50
|
+
sticky: false
|
|
51
|
+
)
|
|
54
52
|
end
|
data/Dockerfile
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
ARG RUBY_VERSION=2.7
|
|
2
|
+
ARG DISTRO=bullseye
|
|
3
|
+
|
|
4
|
+
FROM ruby:$RUBY_VERSION-$DISTRO
|
|
5
|
+
|
|
6
|
+
RUN mkdir -p /app
|
|
7
|
+
ENV HOME /app
|
|
8
|
+
WORKDIR /app
|
|
9
|
+
|
|
10
|
+
ENV GEM_HOME $HOME/vendor/bundle
|
|
11
|
+
ENV BUNDLE_APP_CONFIG="$GEM_HOME"
|
|
12
|
+
ENV PATH ./bin:$GEM_HOME/bin:$PATH
|
|
13
|
+
RUN (echo 'docker'; echo 'docker') | passwd root
|
|
14
|
+
|
|
15
|
+
# Yarn installs nodejs.
|
|
16
|
+
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
|
17
|
+
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
|
|
18
|
+
apt update -y -q && \
|
|
19
|
+
apt install -y -q yarn sqlite3
|
|
20
|
+
|
|
21
|
+
EXPOSE 3000
|
data/Gemfile
CHANGED
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
source "http://rubygems.org"
|
|
2
2
|
|
|
3
|
-
gemspec
|
|
3
|
+
gemspec path: __dir__
|
|
4
4
|
|
|
5
|
-
#
|
|
6
|
-
# gem "rails", "~> 5.2.0"
|
|
7
|
-
gem "rails", "~> 6.0.0"
|
|
5
|
+
# To test with different Rails versions, use the files in `./gemfiles`
|
|
8
6
|
|
|
9
7
|
group :development do
|
|
10
|
-
gem "chandler", ">= 0.7.0"
|
|
11
8
|
gem "htmlbeautifier"
|
|
9
|
+
gem "rubocop-performance", require: false
|
|
12
10
|
gem "rubocop-rails", require: false
|
|
13
|
-
gem "
|
|
14
|
-
gem "webpacker", ">= 4.0.0.rc.3"
|
|
11
|
+
gem "webpacker"
|
|
15
12
|
end
|
|
16
13
|
|
|
17
14
|
group :test do
|
|
18
|
-
# can relax version requirement for Rails 5.2.beta3+
|
|
19
|
-
gem "minitest", "~> 5.10.3"
|
|
20
|
-
|
|
21
15
|
gem "diffy"
|
|
22
16
|
gem "equivalent-xml"
|
|
23
17
|
gem "mocha"
|
|
24
18
|
gem "sqlite3"
|
|
25
|
-
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
group :ci do
|
|
22
|
+
gem "danger"
|
|
26
23
|
end
|