bootstrap_form 5.0.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 +14 -12
- data/.gitignore +12 -2
- data/.rubocop.yml +2 -1
- data/CHANGELOG.md +45 -2
- data/CONTRIBUTING.md +17 -16
- data/Dangerfile +1 -1
- data/Dockerfile +2 -7
- data/Gemfile +5 -7
- data/README.md +756 -52
- data/RELEASING.md +5 -10
- data/bootstrap_form.gemspec +2 -3
- 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 +1 -0
- 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 +1 -1
- 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/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/routes.rb +1 -0
- data/demo/db/schema.rb +29 -14
- 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 +22 -43
- data/gemfiles/7.0.gemfile +6 -0
- data/lib/bootstrap_form/components/hints.rb +13 -4
- data/lib/bootstrap_form/components/labels.rb +1 -1
- data/lib/bootstrap_form/form_builder.rb +6 -6
- data/lib/bootstrap_form/form_group.rb +6 -2
- data/lib/bootstrap_form/helpers/bootstrap.rb +7 -3
- data/lib/bootstrap_form/inputs/check_box.rb +5 -3
- data/lib/bootstrap_form/inputs/collection_check_boxes.rb +5 -1
- data/lib/bootstrap_form/inputs/collection_select.rb +1 -1
- data/lib/bootstrap_form/inputs/grouped_collection_select.rb +1 -1
- data/lib/bootstrap_form/inputs/radio_button.rb +13 -8
- data/lib/bootstrap_form/version.rb +1 -1
- metadata +82 -21
- data/demo/config/initializers/assets.rb +0 -14
data/RELEASING.md
CHANGED
|
@@ -6,20 +6,15 @@ 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
|
|
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).
|
|
9
|
+
* You must be using a Ruby version that is not end-of-life.
|
|
11
10
|
|
|
12
11
|
## How to release
|
|
13
12
|
|
|
14
|
-
1. Run `bundle
|
|
15
|
-
2. **Ensure the tests are passing by running `bundle
|
|
13
|
+
1. Run `BUNDLE_GEMFILE=gemfiles/7.0.gemfile bundle update` to make sure that you have all the gems necessary for testing and releasing.
|
|
14
|
+
2. **Ensure the tests are passing by running `BUNDLE_GEMFILE=gemfiles/7.0.gemfile bundle update`.** (Currently this step shows a lot of warnings about method redefinitions, but otherwise everything must be green before release.)
|
|
16
15
|
3. Determine which would be the correct next version number according to [semver](http://semver.org/).
|
|
17
16
|
4. Update the version in `./lib/bootstrap_form/version.rb`.
|
|
18
|
-
5. Update the `CHANGELOG.md` (
|
|
19
|
-
* Rename the Pending Release section to `[version][] (date)` with appropriate values `version` and `date`
|
|
20
|
-
* Remove the "Your contribution here!" bullets from the release notes
|
|
21
|
-
* Add a new Pending Release section at the top of the file with a template for contributors to fill in, including "Your contribution here!" bullets
|
|
22
|
-
* Add the appropriate GitHub diff links to the footer of the document
|
|
17
|
+
5. Update the GitHub diff links at the beginning of `CHANGELOG.md` (The pattern should be obvious when you look at them).
|
|
23
18
|
6. Update the installation instructions in `README.md` to use the new version.
|
|
24
19
|
7. Commit the CHANGELOG and version changes in a single commit; the message should be "Preparing vX.Y.Z" where `X.Y.Z` is the version being released.
|
|
25
|
-
8. Run `bundle exec rake release`; this will tag, push to GitHub, publish to rubygems.org
|
|
20
|
+
8. Run `bundle exec rake release`; this will tag, push to GitHub, and publish to rubygems.org.
|
data/bootstrap_form.gemspec
CHANGED
|
@@ -16,6 +16,7 @@ Gem::Specification.new do |s|
|
|
|
16
16
|
s.description = "bootstrap_form is a rails form builder that makes it super "\
|
|
17
17
|
"easy to create beautiful-looking forms using Bootstrap 5"
|
|
18
18
|
s.license = "MIT"
|
|
19
|
+
s.metadata = { "rubygems_mfa_required" => "true" }
|
|
19
20
|
|
|
20
21
|
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
21
22
|
f.match(%r{^(test)/})
|
|
@@ -24,10 +25,8 @@ Gem::Specification.new do |s|
|
|
|
24
25
|
s.bindir = "exe"
|
|
25
26
|
s.require_paths = ["lib"]
|
|
26
27
|
|
|
27
|
-
s.required_ruby_version = ">= 2.
|
|
28
|
+
s.required_ruby_version = ">= 2.7"
|
|
28
29
|
|
|
29
30
|
s.add_dependency("actionpack", REQUIRED_RAILS_VERSION)
|
|
30
31
|
s.add_dependency("activemodel", REQUIRED_RAILS_VERSION)
|
|
31
|
-
|
|
32
|
-
s.add_development_dependency("rails", REQUIRED_RAILS_VERSION)
|
|
33
32
|
end
|
data/demo/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ruby-2.7.6
|
data/demo/Gemfile
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
source "https://rubygems.org"
|
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
|
3
|
+
|
|
4
|
+
ruby File.read("#{__dir__}/.ruby-version").delete_prefix("ruby-").chomp
|
|
5
|
+
|
|
6
|
+
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
|
7
|
+
gem "rails", "~> 7.0.0"
|
|
8
|
+
|
|
9
|
+
# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
|
|
10
|
+
gem "sprockets-rails"
|
|
11
|
+
|
|
12
|
+
# Use sqlite3 as the database for Active Record
|
|
13
|
+
gem "sqlite3", "~> 1.4"
|
|
14
|
+
|
|
15
|
+
# Use the Puma web server [https://github.com/puma/puma]
|
|
16
|
+
gem "puma", "~> 5.0"
|
|
17
|
+
|
|
18
|
+
# Bundle and transpile JavaScript [https://github.com/rails/jsbundling-rails]
|
|
19
|
+
gem "jsbundling-rails"
|
|
20
|
+
|
|
21
|
+
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
|
|
22
|
+
gem "turbo-rails"
|
|
23
|
+
|
|
24
|
+
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
|
|
25
|
+
gem "stimulus-rails"
|
|
26
|
+
|
|
27
|
+
# Bundle and process CSS [https://github.com/rails/cssbundling-rails]
|
|
28
|
+
gem "cssbundling-rails"
|
|
29
|
+
|
|
30
|
+
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
|
|
31
|
+
gem "jbuilder"
|
|
32
|
+
|
|
33
|
+
# Use Redis adapter to run Action Cable in production
|
|
34
|
+
# gem "redis", "~> 4.0"
|
|
35
|
+
|
|
36
|
+
# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
|
|
37
|
+
# gem "kredis"
|
|
38
|
+
|
|
39
|
+
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
|
|
40
|
+
# gem "bcrypt", "~> 3.1.7"
|
|
41
|
+
|
|
42
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
43
|
+
gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby]
|
|
44
|
+
|
|
45
|
+
# Reduces boot times through caching; required in config/boot.rb
|
|
46
|
+
gem "bootsnap", require: false
|
|
47
|
+
|
|
48
|
+
gem "bootstrap_form", "~> 5.0"
|
|
49
|
+
|
|
50
|
+
# Needed for our demo app but not the gem itself
|
|
51
|
+
gem "htmlbeautifier"
|
|
52
|
+
|
|
53
|
+
# Use Sass to process CSS
|
|
54
|
+
gem "sassc-rails"
|
|
55
|
+
|
|
56
|
+
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
|
|
57
|
+
# gem "image_processing", "~> 1.2"
|
|
58
|
+
|
|
59
|
+
group :development, :test do
|
|
60
|
+
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
|
|
61
|
+
gem "debug", platforms: %i[mri mingw x64_mingw]
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
group :development do
|
|
65
|
+
# Use console on exceptions pages [https://github.com/rails/web-console]
|
|
66
|
+
gem "web-console"
|
|
67
|
+
|
|
68
|
+
# Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
|
|
69
|
+
# gem "rack-mini-profiler"
|
|
70
|
+
|
|
71
|
+
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
|
|
72
|
+
# gem "spring"
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
group :test do
|
|
76
|
+
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
|
|
77
|
+
gem "capybara-screenshot-diff"
|
|
78
|
+
gem "selenium-webdriver"
|
|
79
|
+
gem "webdrivers"
|
|
80
|
+
end
|
data/demo/Gemfile.lock
ADDED
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
GEM
|
|
2
|
+
remote: https://rubygems.org/
|
|
3
|
+
specs:
|
|
4
|
+
actioncable (7.0.2.4)
|
|
5
|
+
actionpack (= 7.0.2.4)
|
|
6
|
+
activesupport (= 7.0.2.4)
|
|
7
|
+
nio4r (~> 2.0)
|
|
8
|
+
websocket-driver (>= 0.6.1)
|
|
9
|
+
actionmailbox (7.0.2.4)
|
|
10
|
+
actionpack (= 7.0.2.4)
|
|
11
|
+
activejob (= 7.0.2.4)
|
|
12
|
+
activerecord (= 7.0.2.4)
|
|
13
|
+
activestorage (= 7.0.2.4)
|
|
14
|
+
activesupport (= 7.0.2.4)
|
|
15
|
+
mail (>= 2.7.1)
|
|
16
|
+
net-imap
|
|
17
|
+
net-pop
|
|
18
|
+
net-smtp
|
|
19
|
+
actionmailer (7.0.2.4)
|
|
20
|
+
actionpack (= 7.0.2.4)
|
|
21
|
+
actionview (= 7.0.2.4)
|
|
22
|
+
activejob (= 7.0.2.4)
|
|
23
|
+
activesupport (= 7.0.2.4)
|
|
24
|
+
mail (~> 2.5, >= 2.5.4)
|
|
25
|
+
net-imap
|
|
26
|
+
net-pop
|
|
27
|
+
net-smtp
|
|
28
|
+
rails-dom-testing (~> 2.0)
|
|
29
|
+
actionpack (7.0.2.4)
|
|
30
|
+
actionview (= 7.0.2.4)
|
|
31
|
+
activesupport (= 7.0.2.4)
|
|
32
|
+
rack (~> 2.0, >= 2.2.0)
|
|
33
|
+
rack-test (>= 0.6.3)
|
|
34
|
+
rails-dom-testing (~> 2.0)
|
|
35
|
+
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
|
36
|
+
actiontext (7.0.2.4)
|
|
37
|
+
actionpack (= 7.0.2.4)
|
|
38
|
+
activerecord (= 7.0.2.4)
|
|
39
|
+
activestorage (= 7.0.2.4)
|
|
40
|
+
activesupport (= 7.0.2.4)
|
|
41
|
+
globalid (>= 0.6.0)
|
|
42
|
+
nokogiri (>= 1.8.5)
|
|
43
|
+
actionview (7.0.2.4)
|
|
44
|
+
activesupport (= 7.0.2.4)
|
|
45
|
+
builder (~> 3.1)
|
|
46
|
+
erubi (~> 1.4)
|
|
47
|
+
rails-dom-testing (~> 2.0)
|
|
48
|
+
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
|
49
|
+
activejob (7.0.2.4)
|
|
50
|
+
activesupport (= 7.0.2.4)
|
|
51
|
+
globalid (>= 0.3.6)
|
|
52
|
+
activemodel (7.0.2.4)
|
|
53
|
+
activesupport (= 7.0.2.4)
|
|
54
|
+
activerecord (7.0.2.4)
|
|
55
|
+
activemodel (= 7.0.2.4)
|
|
56
|
+
activesupport (= 7.0.2.4)
|
|
57
|
+
activestorage (7.0.2.4)
|
|
58
|
+
actionpack (= 7.0.2.4)
|
|
59
|
+
activejob (= 7.0.2.4)
|
|
60
|
+
activerecord (= 7.0.2.4)
|
|
61
|
+
activesupport (= 7.0.2.4)
|
|
62
|
+
marcel (~> 1.0)
|
|
63
|
+
mini_mime (>= 1.1.0)
|
|
64
|
+
activesupport (7.0.2.4)
|
|
65
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
66
|
+
i18n (>= 1.6, < 2)
|
|
67
|
+
minitest (>= 5.1)
|
|
68
|
+
tzinfo (~> 2.0)
|
|
69
|
+
addressable (2.8.0)
|
|
70
|
+
public_suffix (>= 2.0.2, < 5.0)
|
|
71
|
+
bindex (0.8.1)
|
|
72
|
+
bootsnap (1.11.1)
|
|
73
|
+
msgpack (~> 1.2)
|
|
74
|
+
bootstrap_form (5.0.0)
|
|
75
|
+
actionpack (>= 5.2)
|
|
76
|
+
activemodel (>= 5.2)
|
|
77
|
+
builder (3.2.4)
|
|
78
|
+
capybara (3.36.0)
|
|
79
|
+
addressable
|
|
80
|
+
matrix
|
|
81
|
+
mini_mime (>= 0.1.3)
|
|
82
|
+
nokogiri (~> 1.8)
|
|
83
|
+
rack (>= 1.6.0)
|
|
84
|
+
rack-test (>= 0.6.3)
|
|
85
|
+
regexp_parser (>= 1.5, < 3.0)
|
|
86
|
+
xpath (~> 3.2)
|
|
87
|
+
capybara-screenshot-diff (1.6.1)
|
|
88
|
+
actionpack (>= 4.2, < 8)
|
|
89
|
+
capybara (>= 2, < 4)
|
|
90
|
+
chunky_png (~> 1.3)
|
|
91
|
+
childprocess (4.1.0)
|
|
92
|
+
chunky_png (1.4.0)
|
|
93
|
+
concurrent-ruby (1.1.10)
|
|
94
|
+
crass (1.0.6)
|
|
95
|
+
cssbundling-rails (1.1.0)
|
|
96
|
+
railties (>= 6.0.0)
|
|
97
|
+
debug (1.5.0)
|
|
98
|
+
irb (>= 1.3.6)
|
|
99
|
+
reline (>= 0.2.7)
|
|
100
|
+
digest (3.1.0)
|
|
101
|
+
erubi (1.10.0)
|
|
102
|
+
ffi (1.15.5)
|
|
103
|
+
globalid (1.0.0)
|
|
104
|
+
activesupport (>= 5.0)
|
|
105
|
+
htmlbeautifier (1.4.2)
|
|
106
|
+
i18n (1.10.0)
|
|
107
|
+
concurrent-ruby (~> 1.0)
|
|
108
|
+
io-console (0.5.11)
|
|
109
|
+
irb (1.4.1)
|
|
110
|
+
reline (>= 0.3.0)
|
|
111
|
+
jbuilder (2.11.5)
|
|
112
|
+
actionview (>= 5.0.0)
|
|
113
|
+
activesupport (>= 5.0.0)
|
|
114
|
+
jsbundling-rails (1.0.2)
|
|
115
|
+
railties (>= 6.0.0)
|
|
116
|
+
loofah (2.16.0)
|
|
117
|
+
crass (~> 1.0.2)
|
|
118
|
+
nokogiri (>= 1.5.9)
|
|
119
|
+
mail (2.7.1)
|
|
120
|
+
mini_mime (>= 0.1.1)
|
|
121
|
+
marcel (1.0.2)
|
|
122
|
+
matrix (0.4.2)
|
|
123
|
+
method_source (1.0.0)
|
|
124
|
+
mini_mime (1.1.2)
|
|
125
|
+
minitest (5.15.0)
|
|
126
|
+
msgpack (1.5.1)
|
|
127
|
+
net-imap (0.2.3)
|
|
128
|
+
digest
|
|
129
|
+
net-protocol
|
|
130
|
+
strscan
|
|
131
|
+
net-pop (0.1.1)
|
|
132
|
+
digest
|
|
133
|
+
net-protocol
|
|
134
|
+
timeout
|
|
135
|
+
net-protocol (0.1.3)
|
|
136
|
+
timeout
|
|
137
|
+
net-smtp (0.3.1)
|
|
138
|
+
digest
|
|
139
|
+
net-protocol
|
|
140
|
+
timeout
|
|
141
|
+
nio4r (2.5.8)
|
|
142
|
+
nokogiri (1.13.4-x86_64-darwin)
|
|
143
|
+
racc (~> 1.4)
|
|
144
|
+
nokogiri (1.13.4-x86_64-linux)
|
|
145
|
+
racc (~> 1.4)
|
|
146
|
+
public_suffix (4.0.7)
|
|
147
|
+
puma (5.6.4)
|
|
148
|
+
nio4r (~> 2.0)
|
|
149
|
+
racc (1.6.0)
|
|
150
|
+
rack (2.2.3)
|
|
151
|
+
rack-test (1.1.0)
|
|
152
|
+
rack (>= 1.0, < 3)
|
|
153
|
+
rails (7.0.2.4)
|
|
154
|
+
actioncable (= 7.0.2.4)
|
|
155
|
+
actionmailbox (= 7.0.2.4)
|
|
156
|
+
actionmailer (= 7.0.2.4)
|
|
157
|
+
actionpack (= 7.0.2.4)
|
|
158
|
+
actiontext (= 7.0.2.4)
|
|
159
|
+
actionview (= 7.0.2.4)
|
|
160
|
+
activejob (= 7.0.2.4)
|
|
161
|
+
activemodel (= 7.0.2.4)
|
|
162
|
+
activerecord (= 7.0.2.4)
|
|
163
|
+
activestorage (= 7.0.2.4)
|
|
164
|
+
activesupport (= 7.0.2.4)
|
|
165
|
+
bundler (>= 1.15.0)
|
|
166
|
+
railties (= 7.0.2.4)
|
|
167
|
+
rails-dom-testing (2.0.3)
|
|
168
|
+
activesupport (>= 4.2.0)
|
|
169
|
+
nokogiri (>= 1.6)
|
|
170
|
+
rails-html-sanitizer (1.4.2)
|
|
171
|
+
loofah (~> 2.3)
|
|
172
|
+
railties (7.0.2.4)
|
|
173
|
+
actionpack (= 7.0.2.4)
|
|
174
|
+
activesupport (= 7.0.2.4)
|
|
175
|
+
method_source
|
|
176
|
+
rake (>= 12.2)
|
|
177
|
+
thor (~> 1.0)
|
|
178
|
+
zeitwerk (~> 2.5)
|
|
179
|
+
rake (13.0.6)
|
|
180
|
+
regexp_parser (2.3.1)
|
|
181
|
+
reline (0.3.1)
|
|
182
|
+
io-console (~> 0.5)
|
|
183
|
+
rexml (3.2.5)
|
|
184
|
+
rubyzip (2.3.2)
|
|
185
|
+
sassc (2.4.0)
|
|
186
|
+
ffi (~> 1.9)
|
|
187
|
+
sassc-rails (2.1.2)
|
|
188
|
+
railties (>= 4.0.0)
|
|
189
|
+
sassc (>= 2.0)
|
|
190
|
+
sprockets (> 3.0)
|
|
191
|
+
sprockets-rails
|
|
192
|
+
tilt
|
|
193
|
+
selenium-webdriver (4.1.0)
|
|
194
|
+
childprocess (>= 0.5, < 5.0)
|
|
195
|
+
rexml (~> 3.2, >= 3.2.5)
|
|
196
|
+
rubyzip (>= 1.2.2)
|
|
197
|
+
sprockets (4.0.3)
|
|
198
|
+
concurrent-ruby (~> 1.0)
|
|
199
|
+
rack (> 1, < 3)
|
|
200
|
+
sprockets-rails (3.4.2)
|
|
201
|
+
actionpack (>= 5.2)
|
|
202
|
+
activesupport (>= 5.2)
|
|
203
|
+
sprockets (>= 3.0.0)
|
|
204
|
+
sqlite3 (1.4.2)
|
|
205
|
+
stimulus-rails (1.0.4)
|
|
206
|
+
railties (>= 6.0.0)
|
|
207
|
+
strscan (3.0.1)
|
|
208
|
+
thor (1.2.1)
|
|
209
|
+
tilt (2.0.10)
|
|
210
|
+
timeout (0.2.0)
|
|
211
|
+
turbo-rails (1.0.1)
|
|
212
|
+
actionpack (>= 6.0.0)
|
|
213
|
+
railties (>= 6.0.0)
|
|
214
|
+
tzinfo (2.0.4)
|
|
215
|
+
concurrent-ruby (~> 1.0)
|
|
216
|
+
web-console (4.2.0)
|
|
217
|
+
actionview (>= 6.0.0)
|
|
218
|
+
activemodel (>= 6.0.0)
|
|
219
|
+
bindex (>= 0.4.0)
|
|
220
|
+
railties (>= 6.0.0)
|
|
221
|
+
webdrivers (5.0.0)
|
|
222
|
+
nokogiri (~> 1.6)
|
|
223
|
+
rubyzip (>= 1.3.0)
|
|
224
|
+
selenium-webdriver (~> 4.0)
|
|
225
|
+
websocket-driver (0.7.5)
|
|
226
|
+
websocket-extensions (>= 0.1.0)
|
|
227
|
+
websocket-extensions (0.1.5)
|
|
228
|
+
xpath (3.2.0)
|
|
229
|
+
nokogiri (~> 1.8)
|
|
230
|
+
zeitwerk (2.5.4)
|
|
231
|
+
|
|
232
|
+
PLATFORMS
|
|
233
|
+
x86_64-darwin-21
|
|
234
|
+
x86_64-linux
|
|
235
|
+
|
|
236
|
+
DEPENDENCIES
|
|
237
|
+
bootsnap
|
|
238
|
+
bootstrap_form (~> 5.0)
|
|
239
|
+
capybara-screenshot-diff
|
|
240
|
+
cssbundling-rails
|
|
241
|
+
debug
|
|
242
|
+
htmlbeautifier
|
|
243
|
+
jbuilder
|
|
244
|
+
jsbundling-rails
|
|
245
|
+
puma (~> 5.0)
|
|
246
|
+
rails (~> 7.0.0)
|
|
247
|
+
sassc-rails
|
|
248
|
+
selenium-webdriver
|
|
249
|
+
sprockets-rails
|
|
250
|
+
sqlite3 (~> 1.4)
|
|
251
|
+
stimulus-rails
|
|
252
|
+
turbo-rails
|
|
253
|
+
tzinfo-data
|
|
254
|
+
web-console
|
|
255
|
+
webdrivers
|
|
256
|
+
|
|
257
|
+
RUBY VERSION
|
|
258
|
+
ruby 2.7.6p219
|
|
259
|
+
|
|
260
|
+
BUNDLED WITH
|
|
261
|
+
2.3.12
|
data/demo/Procfile.dev
ADDED
|
File without changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
|
4
|
+
* This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
|
5
|
+
* The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
|
6
|
+
* The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
|
7
|
+
* Code distributed by Google as part of the polymer project is also
|
|
8
|
+
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
|
9
|
+
*/
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Provides a drop-in pointer for the default Trix stylesheet that will format the toolbar and
|
|
3
|
+
* the trix-editor content (whether displayed or under editing). Feel free to incorporate this
|
|
4
|
+
* inclusion directly in any other asset bundle and remove this file.
|
|
5
|
+
*
|
|
6
|
+
*= require trix
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* We need to override trix.css’s image gallery styles to accommodate the
|
|
11
|
+
* <action-text-attachment> element we wrap around attachments. Otherwise,
|
|
12
|
+
* images in galleries will be squished by the max-width: 33%; rule.
|
|
13
|
+
*/
|
|
14
|
+
.trix-content .attachment-gallery > action-text-attachment,
|
|
15
|
+
.trix-content .attachment-gallery > .attachment {
|
|
16
|
+
flex: 1 0 33%;
|
|
17
|
+
padding: 0 0.5em;
|
|
18
|
+
max-width: 33%;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.trix-content .attachment-gallery.attachment-gallery--2 > action-text-attachment,
|
|
22
|
+
.trix-content .attachment-gallery.attachment-gallery--2 > .attachment, .trix-content .attachment-gallery.attachment-gallery--4 > action-text-attachment,
|
|
23
|
+
.trix-content .attachment-gallery.attachment-gallery--4 > .attachment {
|
|
24
|
+
flex-basis: 50%;
|
|
25
|
+
max-width: 50%;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.trix-content action-text-attachment .attachment {
|
|
29
|
+
padding: 0 !important;
|
|
30
|
+
max-width: 100% !important;
|
|
31
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@import "actiontext";
|
|
1
|
+
// @import "actiontext";
|
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
class BootstrapController < ApplicationController
|
|
2
2
|
def form
|
|
3
|
+
load_models
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def fragment
|
|
7
|
+
@erb = params[:erb]
|
|
8
|
+
|
|
9
|
+
@erb.prepend '<div class="p-3 border">'
|
|
10
|
+
@erb << "</div>"
|
|
11
|
+
load_models
|
|
12
|
+
render inline: @erb, layout: "application" # rubocop: disable Rails/RenderInline
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
def load_models
|
|
3
18
|
@collection = [
|
|
4
19
|
Address.new(id: 1, street: "Foo"),
|
|
5
20
|
Address.new(id: 2, street: "Bar")
|
|
6
21
|
]
|
|
7
22
|
|
|
8
|
-
@user = User.new
|
|
23
|
+
@user = User.new email: "steve@example.com"
|
|
9
24
|
|
|
10
|
-
@user_with_error = User.new
|
|
25
|
+
@user_with_error = User.new email: "steve.example.com"
|
|
11
26
|
@user_with_error.errors.add(:email)
|
|
12
27
|
@user_with_error.errors.add(:misc)
|
|
13
28
|
end
|
data/demo/app/models/user.rb
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
class User < ApplicationRecord
|
|
2
|
+
attr_accessor :remember_me
|
|
3
|
+
|
|
2
4
|
serialize :preferences
|
|
3
5
|
|
|
4
6
|
validates :email, presence: true, length: { minimum: 5 }
|
|
@@ -8,4 +10,16 @@ class User < ApplicationRecord
|
|
|
8
10
|
accepts_nested_attributes_for :address
|
|
9
11
|
|
|
10
12
|
has_rich_text(:life_story) if Rails::VERSION::STRING > "6"
|
|
13
|
+
|
|
14
|
+
def age
|
|
15
|
+
42
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def feet
|
|
19
|
+
5
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def inches
|
|
23
|
+
7
|
|
24
|
+
end
|
|
11
25
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<figure class="attachment attachment--<%= blob.representable? ? "preview" : "file" %> attachment--<%= blob.filename.extension %>">
|
|
2
2
|
<% if blob.representable? %>
|
|
3
|
-
<%= image_tag blob.representation(
|
|
3
|
+
<%= image_tag blob.representation(resize_to_limit: local_assigns[:in_gallery] ? [ 800, 600 ] : [ 1024, 768 ]) %>
|
|
4
4
|
<% end %>
|
|
5
5
|
|
|
6
6
|
<figcaption class="attachment__caption">
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
7
7
|
|
|
8
8
|
<!-- Bootstrap CSS -->
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
<!-- CSS only -->
|
|
10
|
+
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
|
|
11
11
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.33.0/codemirror.min.css">
|
|
12
12
|
|
|
13
13
|
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
|
|
14
|
-
<%=
|
|
14
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload', defer: true %>
|
|
15
15
|
|
|
16
16
|
<style type="text/css">
|
|
17
17
|
.example {
|
|
@@ -19,8 +19,11 @@
|
|
|
19
19
|
border: .2rem solid #f7f7f9;
|
|
20
20
|
margin-bottom: 3em;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
margin-
|
|
22
|
+
.toggle {
|
|
23
|
+
margin-top: 1.5em;
|
|
24
|
+
}
|
|
25
|
+
.code {
|
|
26
|
+
margin-top: 1rem;
|
|
24
27
|
}
|
|
25
28
|
.CodeMirror {
|
|
26
29
|
border: 1px solid #eee;
|
|
@@ -34,6 +37,7 @@
|
|
|
34
37
|
|
|
35
38
|
<title>Hello, world!</title>
|
|
36
39
|
<%= csrf_meta_tags %>
|
|
40
|
+
<%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>
|
|
37
41
|
</head>
|
|
38
42
|
|
|
39
43
|
<body>
|
|
@@ -42,26 +46,30 @@
|
|
|
42
46
|
</div>
|
|
43
47
|
|
|
44
48
|
<!-- Optional JavaScript -->
|
|
45
|
-
<!--
|
|
46
|
-
<script src="https://
|
|
47
|
-
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.1/dist/umd/popper.min.js" integrity="sha384-SR1sx49pcuLnqZUnnPwx6FCym0wLsk5JZuNx2bPPENzswTNFaQU1RDvt3wT4gWFG" crossorigin="anonymous"></script>
|
|
48
|
-
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.min.js" integrity="sha384-j0CNLUeiqtyaRmlzUHCPZ+Gy5fQu0dQ6eZ/xAww941Ai1SxSY+0EQqNXNE6DZiVc" crossorigin="anonymous"></script>
|
|
49
|
-
|
|
49
|
+
<!-- JavaScript Bundle with Popper -->
|
|
50
|
+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
|
|
50
51
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.33.0/codemirror.min.js"></script>
|
|
51
52
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.33.0/mode/htmlmixed/htmlmixed.min.js"></script>
|
|
52
53
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.33.0/mode/xml/xml.min.js"></script>
|
|
53
54
|
|
|
54
55
|
<script type="text/javascript">
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
const buttons = document.querySelectorAll('button.toggle');
|
|
57
|
+
const buttonsArray = Array.prototype.slice.call(buttons);
|
|
58
|
+
buttonsArray.forEach(function(elem) {
|
|
59
|
+
elem.addEventListener('click', function() {
|
|
60
|
+
const example = this.closest('.example');
|
|
61
|
+
if (example.querySelector('.code').style.display === "block") {
|
|
62
|
+
example.querySelector('.code').style.display = "none";
|
|
63
|
+
} else {
|
|
64
|
+
example.querySelector('.code').style.display = "block";
|
|
65
|
+
}
|
|
66
|
+
CodeMirror.fromTextArea(example.querySelector('textarea.codemirror'), {
|
|
67
|
+
mode: 'htmlmixed',
|
|
68
|
+
tabSize: 2,
|
|
69
|
+
lineNumbers: true,
|
|
70
|
+
viewportMargin: Infinity,
|
|
71
|
+
});
|
|
72
|
+
});
|
|
65
73
|
});
|
|
66
74
|
</script>
|
|
67
75
|
</body>
|
data/demo/bin/dev
ADDED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Rails.application.configure do
|
|
2
2
|
# Verifies that versions and hashed value of the package contents in the project's package.json
|
|
3
|
-
config.webpacker.check_yarn_integrity = true
|
|
3
|
+
# config.webpacker.check_yarn_integrity = true
|
|
4
4
|
# Settings specified here will take precedence over those in config/application.rb.
|
|
5
5
|
|
|
6
6
|
# In the development environment your application's code is reloaded on
|
|
@@ -46,10 +46,10 @@ Rails.application.configure do
|
|
|
46
46
|
# Debug mode disables concatenation and preprocessing of assets.
|
|
47
47
|
# This option may cause significant delays in view rendering with a large
|
|
48
48
|
# number of complex assets.
|
|
49
|
-
config.assets.debug = true
|
|
49
|
+
# config.assets.debug = true
|
|
50
50
|
|
|
51
51
|
# Suppress logger output for asset requests.
|
|
52
|
-
config.assets.quiet = true
|
|
52
|
+
# config.assets.quiet = true
|
|
53
53
|
|
|
54
54
|
# Raises error for missing translations
|
|
55
55
|
# config.action_view.raise_on_missing_translations = true
|