acfs 1.7.0 → 2.0.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/CHANGELOG.md +144 -116
- data/README.md +19 -24
- data/acfs.gemspec +7 -10
- data/lib/acfs/collections/paginatable.rb +11 -11
- data/lib/acfs/configuration.rb +1 -1
- data/lib/acfs/errors.rb +6 -6
- data/lib/acfs/global.rb +2 -2
- data/lib/acfs/location.rb +1 -1
- data/lib/acfs/resource/attributes/uuid.rb +1 -1
- data/lib/acfs/resource/attributes.rb +1 -1
- data/lib/acfs/resource/dirty.rb +1 -1
- data/lib/acfs/resource/operational.rb +4 -4
- data/lib/acfs/resource/query_methods.rb +3 -3
- data/lib/acfs/response/status.rb +1 -1
- data/lib/acfs/service/middleware.rb +2 -2
- data/lib/acfs/singleton_resource.rb +2 -2
- data/lib/acfs/stub.rb +1 -1
- data/lib/acfs/version.rb +2 -2
- data/lib/acfs/yard.rb +1 -0
- data/spec/acfs/adapter/typhoeus_spec.rb +3 -3
- data/spec/acfs/configuration_spec.rb +1 -1
- data/spec/acfs/global_spec.rb +5 -5
- data/spec/acfs/location_spec.rb +1 -1
- data/spec/acfs/middleware/json_spec.rb +1 -1
- data/spec/acfs/middleware/message_pack_spec.rb +1 -1
- data/spec/acfs/operation_spec.rb +1 -1
- data/spec/acfs/resource/attributes/boolean_spec.rb +31 -31
- data/spec/acfs/resource/attributes/date_time_spec.rb +9 -9
- data/spec/acfs/resource/attributes/dict_spec.rb +10 -10
- data/spec/acfs/resource/attributes/float_spec.rb +11 -11
- data/spec/acfs/resource/attributes/integer_spec.rb +6 -6
- data/spec/acfs/resource/attributes/list_spec.rb +1 -1
- data/spec/acfs/resource/attributes/uuid_spec.rb +8 -8
- data/spec/acfs/resource/attributes_spec.rb +8 -8
- data/spec/acfs/resource/dirty_spec.rb +1 -1
- data/spec/acfs/resource/persistence_spec.rb +7 -7
- data/spec/acfs/resource/query_methods_spec.rb +1 -1
- data/spec/acfs/runner_spec.rb +12 -12
- data/spec/acfs/stub_spec.rb +13 -18
- data/spec/acfs_spec.rb +4 -4
- data/spec/spec_helper.rb +9 -5
- data/spec/support/hash.rb +1 -1
- data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/README.md +23 -0
- data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/rubocop-config.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/CHANGELOG.md +205 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/README.rdoc +57 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/CHANGELOG.md +67 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/README.rdoc +40 -0
- data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/CHANGELOG.md +110 -0
- data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/README.rdoc +266 -0
- data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/CHANGELOG.md +157 -0
- data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/README.rdoc +40 -0
- data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/CHANGELOG.md +301 -0
- data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/LICENSE.txt +202 -0
- data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/README.md +121 -0
- data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/addressable.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/gems/appraisal-2.5.0/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/appraisal-2.5.0/README.md +243 -0
- data/vendor/bundle/ruby/3.4.0/gems/appraisal-2.5.0/appraisal.gemspec +29 -0
- data/vendor/bundle/ruby/3.4.0/gems/base64-0.2.0/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/base64-0.2.0/README.md +48 -0
- data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/README.md +138 -0
- data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/benchmark.gemspec +32 -0
- data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.1.9/LICENSE +56 -0
- data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.1.9/bigdecimal.gemspec +57 -0
- data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/README.md +258 -0
- data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/builder.gemspec +49 -0
- data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/CHANGELOG.md +603 -0
- data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/LICENSE.txt +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/README.md +407 -0
- data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/README.md +167 -0
- data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/connection_pool.gemspec +24 -0
- data/vendor/bundle/ruby/3.4.0/gems/crack-1.0.0/LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/crack-1.0.0/README.md +43 -0
- data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/LICENSE +18 -0
- data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/README.md +192 -0
- data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/crass.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.5.1/License.md +41 -0
- data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.5.1/README.rdoc +84 -0
- data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.1/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.1/drb.gemspec +41 -0
- data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/CHANGELOG +111 -0
- data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/README.rdoc +151 -0
- data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/CHANGELOG.md +375 -0
- data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/README.md +118 -0
- data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/ethon.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/CHANGELOG.md +465 -0
- data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/LICENSE +24 -0
- data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/LICENSE.SPECS +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/README.md +137 -0
- data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/ffi.gemspec +42 -0
- data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/LICENSE +19 -0
- data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/README.md +298 -0
- data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/changelog.md +119 -0
- data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/hashdiff.gemspec +39 -0
- data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.6/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.6/README.md +127 -0
- data/vendor/bundle/ruby/3.4.0/gems/json-2.9.1/README.md +195 -0
- data/vendor/bundle/ruby/3.4.0/gems/json-2.9.1/json.gemspec +64 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/README.md +104 -0
- data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/logger.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.0/CHANGELOG.md +591 -0
- data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.0/MIT-LICENSE.txt +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.0/README.md +410 -0
- data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.4/README.rdoc +835 -0
- data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/CHANGELOG.md +275 -0
- data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/LICENSE.md +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/README.md +121 -0
- data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.1-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md +2224 -0
- data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.1-x86_64-linux-gnu/LICENSE.md +9 -0
- data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.1-x86_64-linux-gnu/README.md +293 -0
- data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/CHANGELOG.md +491 -0
- data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/README.md +222 -0
- data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/ChangeLog +846 -0
- data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
- data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/README.rdoc +60 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.1.8/CHANGELOG.md +998 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.1.8/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-3.1.8/README.md +328 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.0/license.md +72 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.0/readme.md +47 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-test-2.2.0/MIT-LICENSE.txt +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/rack-test-2.2.0/README.md +139 -0
- data/vendor/bundle/ruby/3.4.0/gems/rails-dom-testing-2.2.0/MIT-LICENSE +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/rails-dom-testing-2.2.0/README.md +91 -0
- data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/CHANGELOG.md +255 -0
- data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/MIT-LICENSE +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/README.md +267 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.2.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.2.1/README.rdoc +155 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-13.2.1/rake.gemspec +101 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/LICENSE +21 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/README.md +107 -0
- data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/rake-release.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/rexml-3.4.0/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/rexml-3.4.0/README.md +57 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-3.13.0/LICENSE.md +27 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-3.13.0/README.md +47 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/Changelog.md +68 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/LICENSE.txt +27 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/README.md +76 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/rspec-collection_matchers.gemspec +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.2/Changelog.md +2415 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.2/LICENSE.md +26 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.2/README.md +389 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.3/Changelog.md +1352 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.3/LICENSE.md +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.3/README.md +326 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/Changelog.md +73 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/LICENSE.txt +27 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/README.md +104 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/rspec-its.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.2/Changelog.md +1299 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.2/LICENSE.md +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.2/README.md +465 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.2/Changelog.md +408 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.2/LICENSE.md +23 -0
- data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.2/README.md +40 -0
- data/vendor/bundle/ruby/3.4.0/gems/securerandom-0.4.1/README.md +72 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.3.2/LICENSE.md +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.3.2/README.md +45 -0
- data/vendor/bundle/ruby/3.4.0/gems/thor-1.3.2/thor.gemspec +33 -0
- data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/CHANGELOG.md +410 -0
- data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/LICENSE +22 -0
- data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/README.md +588 -0
- data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/typhoeus.gemspec +25 -0
- data/vendor/bundle/ruby/3.4.0/gems/tzinfo-2.0.6/LICENSE +19 -0
- data/vendor/bundle/ruby/3.4.0/gems/tzinfo-2.0.6/README.md +406 -0
- data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.2/README.md +55 -0
- data/vendor/bundle/ruby/3.4.0/gems/useragent-0.16.11/LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/useragent-0.16.11/README.md +42 -0
- data/vendor/bundle/ruby/3.4.0/gems/webmock-3.24.0/CHANGELOG.md +2104 -0
- data/vendor/bundle/ruby/3.4.0/gems/webmock-3.24.0/LICENSE +20 -0
- data/vendor/bundle/ruby/3.4.0/gems/webmock-3.24.0/README.md +1222 -0
- data/vendor/bundle/ruby/3.4.0/specifications/actionpack-8.0.1.gemspec +36 -0
- data/vendor/bundle/ruby/3.4.0/specifications/actionview-8.0.1.gemspec +33 -0
- data/vendor/bundle/ruby/3.4.0/specifications/activemodel-8.0.1.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/activesupport-8.0.1.gemspec +38 -0
- data/vendor/bundle/ruby/3.4.0/specifications/addressable-2.8.7.gemspec +30 -0
- data/vendor/bundle/ruby/3.4.0/specifications/appraisal-2.5.0.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/base64-0.2.0.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.0.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/specifications/bigdecimal-3.1.9.gemspec +25 -0
- data/vendor/bundle/ruby/3.4.0/specifications/builder-3.3.0.gemspec +22 -0
- data/vendor/bundle/ruby/3.4.0/specifications/concurrent-ruby-1.3.5.gemspec +24 -0
- data/vendor/bundle/ruby/3.4.0/specifications/connection_pool-2.5.0.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/specifications/crack-1.0.0.gemspec +27 -0
- data/vendor/bundle/ruby/3.4.0/specifications/crass-1.0.6.gemspec +27 -0
- data/vendor/bundle/ruby/3.4.0/specifications/diff-lcs-1.5.1.gemspec +37 -0
- data/vendor/bundle/ruby/3.4.0/specifications/drb-2.2.1.gemspec +22 -0
- data/vendor/bundle/ruby/3.4.0/specifications/erubi-1.13.1.gemspec +29 -0
- data/vendor/bundle/ruby/3.4.0/specifications/ethon-0.16.0.gemspec +24 -0
- data/vendor/bundle/ruby/3.4.0/specifications/ffi-1.17.1-x86_64-linux-gnu.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/hashdiff-1.1.2.gemspec +30 -0
- data/vendor/bundle/ruby/3.4.0/specifications/i18n-1.14.6.gemspec +27 -0
- data/vendor/bundle/ruby/3.4.0/specifications/json-2.9.1.gemspec +0 -0
- data/vendor/bundle/ruby/3.4.0/specifications/logger-1.6.5.gemspec +22 -0
- data/vendor/bundle/ruby/3.4.0/specifications/loofah-2.24.0.gemspec +27 -0
- data/vendor/bundle/ruby/3.4.0/specifications/minitest-5.25.4.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/multi_json-1.15.0.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/nokogiri-1.18.1-x86_64-linux-gnu.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/public_suffix-6.0.1.gemspec +24 -0
- data/vendor/bundle/ruby/3.4.0/specifications/racc-1.8.1.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rack-3.1.8.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rack-session-2.1.0.gemspec +30 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rack-test-2.2.0.gemspec +29 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rails-dom-testing-2.2.0.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec +27 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rake-13.2.1.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rake-release-1.3.0.gemspec +26 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rexml-3.4.0.gemspec +25 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-3.13.0.gemspec +31 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-collection_matchers-1.2.1.gemspec +27 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-core-3.13.2.gemspec +39 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-expectations-3.13.3.gemspec +33 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-its-2.0.0.gemspec +27 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-mocks-3.13.2.gemspec +33 -0
- data/vendor/bundle/ruby/3.4.0/specifications/rspec-support-3.13.2.gemspec +29 -0
- data/vendor/bundle/ruby/3.4.0/specifications/securerandom-0.4.1.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/specifications/thor-1.3.2.gemspec +28 -0
- data/vendor/bundle/ruby/3.4.0/specifications/typhoeus-1.4.1.gemspec +24 -0
- data/vendor/bundle/ruby/3.4.0/specifications/tzinfo-2.0.6.gemspec +30 -0
- data/vendor/bundle/ruby/3.4.0/specifications/uri-1.0.2.gemspec +23 -0
- data/vendor/bundle/ruby/3.4.0/specifications/useragent-0.16.11.gemspec +25 -0
- data/vendor/bundle/ruby/3.4.0/specifications/webmock-3.24.0.gemspec +45 -0
- metadata +204 -67
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
## Rails 8.0.1 (December 13, 2024) ##
|
|
2
|
+
|
|
3
|
+
* Add `ActionDispatch::Request::Session#store` method to conform Rack spec.
|
|
4
|
+
|
|
5
|
+
*Yaroslav*
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## Rails 8.0.0.1 (December 10, 2024) ##
|
|
9
|
+
|
|
10
|
+
* Add validation to content security policies to disallow spaces and semicolons.
|
|
11
|
+
Developers should use multiple arguments, and different directive methods instead.
|
|
12
|
+
|
|
13
|
+
[CVE-2024-54133]
|
|
14
|
+
|
|
15
|
+
*Gannon McGibbon*
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Rails 8.0.0 (November 07, 2024) ##
|
|
19
|
+
|
|
20
|
+
* No changes.
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Rails 8.0.0.rc2 (October 30, 2024) ##
|
|
24
|
+
|
|
25
|
+
* Fix routes with `::` in the path.
|
|
26
|
+
|
|
27
|
+
*Rafael Mendonça França*
|
|
28
|
+
|
|
29
|
+
* Maintain Rack 2 parameter parsing behaviour.
|
|
30
|
+
|
|
31
|
+
*Matthew Draper*
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Rails 8.0.0.rc1 (October 19, 2024) ##
|
|
35
|
+
|
|
36
|
+
* Remove `Rails.application.config.action_controller.allow_deprecated_parameters_hash_equality`.
|
|
37
|
+
|
|
38
|
+
*Rafael Mendonça França*
|
|
39
|
+
|
|
40
|
+
* Improve `ActionController::TestCase` to expose a binary encoded `request.body`.
|
|
41
|
+
|
|
42
|
+
The rack spec clearly states:
|
|
43
|
+
|
|
44
|
+
> The input stream is an IO-like object which contains the raw HTTP POST data.
|
|
45
|
+
> When applicable, its external encoding must be “ASCII-8BIT” and it must be opened in binary mode.
|
|
46
|
+
|
|
47
|
+
Until now its encoding was generally UTF-8, which doesn't accurately reflect production
|
|
48
|
+
behavior.
|
|
49
|
+
|
|
50
|
+
*Jean Boussier*
|
|
51
|
+
|
|
52
|
+
* Update `ActionController::AllowBrowser` to support passing method names to `:block`
|
|
53
|
+
|
|
54
|
+
```ruby
|
|
55
|
+
class ApplicationController < ActionController::Base
|
|
56
|
+
allow_browser versions: :modern, block: :handle_outdated_browser
|
|
57
|
+
|
|
58
|
+
private
|
|
59
|
+
def handle_outdated_browser
|
|
60
|
+
render file: Rails.root.join("public/custom-error.html"), status: :not_acceptable
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
*Sean Doyle*
|
|
66
|
+
|
|
67
|
+
* Raise an `ArgumentError` when invalid `:only` or `:except` options are passed into `#resource` and `#resources`.
|
|
68
|
+
|
|
69
|
+
*Joshua Young*
|
|
70
|
+
|
|
71
|
+
## Rails 8.0.0.beta1 (September 26, 2024) ##
|
|
72
|
+
|
|
73
|
+
* Fix non-GET requests not updating cookies in `ActionController::TestCase`.
|
|
74
|
+
|
|
75
|
+
*Jon Moss*, *Hartley McGuire*
|
|
76
|
+
|
|
77
|
+
* Update `ActionController::Live` to use a thread-pool to reuse threads across requests.
|
|
78
|
+
|
|
79
|
+
*Adam Renberg Tamm*
|
|
80
|
+
|
|
81
|
+
* Introduce safer, more explicit params handling method with `params#expect` such that
|
|
82
|
+
`params.expect(table: [ :attr ])` replaces `params.require(:table).permit(:attr)`
|
|
83
|
+
|
|
84
|
+
Ensures params are filtered with consideration for the expected
|
|
85
|
+
types of values, improving handling of params and avoiding ignorable
|
|
86
|
+
errors caused by params tampering.
|
|
87
|
+
|
|
88
|
+
```ruby
|
|
89
|
+
# If the url is altered to ?person=hacked
|
|
90
|
+
# Before
|
|
91
|
+
params.require(:person).permit(:name, :age, pets: [:name])
|
|
92
|
+
# raises NoMethodError, causing a 500 and potential error reporting
|
|
93
|
+
|
|
94
|
+
# After
|
|
95
|
+
params.expect(person: [ :name, :age, pets: [[:name]] ])
|
|
96
|
+
# raises ActionController::ParameterMissing, correctly returning a 400 error
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
You may also notice the new double array `[[:name]]`. In order to
|
|
100
|
+
declare when a param is expected to be an array of parameter hashes,
|
|
101
|
+
this new double array syntax is used to explicitly declare an array.
|
|
102
|
+
`expect` requires you to declare expected arrays in this way, and will
|
|
103
|
+
ignore arrays that are passed when, for example, `pet: [:name]` is used.
|
|
104
|
+
|
|
105
|
+
In order to preserve compatibility, `permit` does not adopt the new
|
|
106
|
+
double array syntax and is therefore more permissive about unexpected
|
|
107
|
+
types. Using `expect` everywhere is recommended.
|
|
108
|
+
|
|
109
|
+
We suggest replacing `params.require(:person).permit(:name, :age)`
|
|
110
|
+
with the direct replacement `params.expect(person: [:name, :age])`
|
|
111
|
+
to prevent external users from manipulating params to trigger 500
|
|
112
|
+
errors. A 400 error will be returned instead, using public/400.html
|
|
113
|
+
|
|
114
|
+
Usage of `params.require(:id)` should likewise be replaced with
|
|
115
|
+
`params.expect(:id)` which is designed to ensure that `params[:id]`
|
|
116
|
+
is a scalar and not an array or hash, also requiring the param.
|
|
117
|
+
|
|
118
|
+
```ruby
|
|
119
|
+
# Before
|
|
120
|
+
User.find(params.require(:id)) # allows an array, altering behavior
|
|
121
|
+
|
|
122
|
+
# After
|
|
123
|
+
User.find(params.expect(:id)) # expect only returns non-blank permitted scalars (excludes Hash, Array, nil, "", etc)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
*Martin Emde*
|
|
127
|
+
|
|
128
|
+
* System Testing: Disable Chrome's search engine choice by default in system tests.
|
|
129
|
+
|
|
130
|
+
*glaszig*
|
|
131
|
+
|
|
132
|
+
* Fix `Request#raw_post` raising `NoMethodError` when `rack.input` is `nil`.
|
|
133
|
+
|
|
134
|
+
*Hartley McGuire*
|
|
135
|
+
|
|
136
|
+
* Remove `racc` dependency by manually writing `ActionDispatch::Journey::Scanner`.
|
|
137
|
+
|
|
138
|
+
*Gannon McGibbon*
|
|
139
|
+
|
|
140
|
+
* Speed up `ActionDispatch::Routing::Mapper::Scope#[]` by merging frame hashes.
|
|
141
|
+
|
|
142
|
+
*Gannon McGibbon*
|
|
143
|
+
|
|
144
|
+
* Allow bots to ignore `allow_browser`.
|
|
145
|
+
|
|
146
|
+
*Matthew Nguyen*
|
|
147
|
+
|
|
148
|
+
* Deprecate drawing routes with multiple paths to make routing faster.
|
|
149
|
+
You may use `with_options` or a loop to make drawing multiple paths easier.
|
|
150
|
+
|
|
151
|
+
```ruby
|
|
152
|
+
# Before
|
|
153
|
+
get "/users", "/other_path", to: "users#index"
|
|
154
|
+
|
|
155
|
+
# After
|
|
156
|
+
get "/users", to: "users#index"
|
|
157
|
+
get "/other_path", to: "users#index"
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
*Gannon McGibbon*
|
|
161
|
+
|
|
162
|
+
* Make `http_cache_forever` use `immutable: true`
|
|
163
|
+
|
|
164
|
+
*Nate Matykiewicz*
|
|
165
|
+
|
|
166
|
+
* Add `config.action_dispatch.strict_freshness`.
|
|
167
|
+
|
|
168
|
+
When set to `true`, the `ETag` header takes precedence over the `Last-Modified` header when both are present,
|
|
169
|
+
as specified by RFC 7232, Section 6.
|
|
170
|
+
|
|
171
|
+
Defaults to `false` to maintain compatibility with previous versions of Rails, but is enabled as part of
|
|
172
|
+
Rails 8.0 defaults.
|
|
173
|
+
|
|
174
|
+
*heka1024*
|
|
175
|
+
|
|
176
|
+
* Support `immutable` directive in Cache-Control
|
|
177
|
+
|
|
178
|
+
```ruby
|
|
179
|
+
expires_in 1.minute, public: true, immutable: true
|
|
180
|
+
# Cache-Control: public, max-age=60, immutable
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
*heka1024*
|
|
184
|
+
|
|
185
|
+
* Add `:wasm_unsafe_eval` mapping for `content_security_policy`
|
|
186
|
+
|
|
187
|
+
```ruby
|
|
188
|
+
# Before
|
|
189
|
+
policy.script_src "'wasm-unsafe-eval'"
|
|
190
|
+
|
|
191
|
+
# After
|
|
192
|
+
policy.script_src :wasm_unsafe_eval
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
*Joe Haig*
|
|
196
|
+
|
|
197
|
+
* Add `display_capture` and `keyboard_map` in `permissions_policy`
|
|
198
|
+
|
|
199
|
+
*Cyril Blaecke*
|
|
200
|
+
|
|
201
|
+
* Add `connect` route helper.
|
|
202
|
+
|
|
203
|
+
*Samuel Williams*
|
|
204
|
+
|
|
205
|
+
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actionpack/CHANGELOG.md) for previous changes.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Copyright (c) David Heinemeier Hansson
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
|
+
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
= Action Pack -- From request to response
|
|
2
|
+
|
|
3
|
+
Action Pack is a framework for handling and responding to web requests. It
|
|
4
|
+
provides mechanisms for *routing* (mapping request URLs to actions), defining
|
|
5
|
+
*controllers* that implement actions, and generating responses. In short, Action Pack
|
|
6
|
+
provides the controller layer in the MVC paradigm.
|
|
7
|
+
|
|
8
|
+
It consists of several modules:
|
|
9
|
+
|
|
10
|
+
* Action Dispatch, which parses information about the web request, handles
|
|
11
|
+
routing as defined by the user, and does advanced processing related to HTTP
|
|
12
|
+
such as MIME-type negotiation, decoding parameters in POST, PATCH, or PUT bodies,
|
|
13
|
+
handling HTTP caching logic, cookies and sessions.
|
|
14
|
+
|
|
15
|
+
* Action Controller, which provides a base controller class that can be
|
|
16
|
+
subclassed to implement filters and actions to handle requests. The result
|
|
17
|
+
of an action is typically content generated from views.
|
|
18
|
+
|
|
19
|
+
With the Ruby on \Rails framework, users only directly interface with the
|
|
20
|
+
Action Controller module. Necessary Action Dispatch functionality is activated
|
|
21
|
+
by default and Action View rendering is implicitly triggered by Action
|
|
22
|
+
Controller. However, these modules are designed to function on their own and
|
|
23
|
+
can be used outside of \Rails.
|
|
24
|
+
|
|
25
|
+
You can read more about Action Pack in the {Action Controller Overview}[https://guides.rubyonrails.org/action_controller_overview.html] guide.
|
|
26
|
+
|
|
27
|
+
== Download and installation
|
|
28
|
+
|
|
29
|
+
The latest version of Action Pack can be installed with RubyGems:
|
|
30
|
+
|
|
31
|
+
$ gem install actionpack
|
|
32
|
+
|
|
33
|
+
Source code can be downloaded as part of the \Rails project on GitHub:
|
|
34
|
+
|
|
35
|
+
* https://github.com/rails/rails/tree/main/actionpack
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
== License
|
|
39
|
+
|
|
40
|
+
Action Pack is released under the MIT license:
|
|
41
|
+
|
|
42
|
+
* https://opensource.org/licenses/MIT
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
== Support
|
|
46
|
+
|
|
47
|
+
API documentation is at:
|
|
48
|
+
|
|
49
|
+
* https://api.rubyonrails.org
|
|
50
|
+
|
|
51
|
+
Bug reports for the Ruby on \Rails project can be filed here:
|
|
52
|
+
|
|
53
|
+
* https://github.com/rails/rails/issues
|
|
54
|
+
|
|
55
|
+
Feature requests should be discussed on the rails-core mailing list here:
|
|
56
|
+
|
|
57
|
+
* https://discuss.rubyonrails.org/c/rubyonrails-core
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
## Rails 8.0.1 (December 13, 2024) ##
|
|
2
|
+
|
|
3
|
+
* Fix a crash in ERB template error highlighting when the error occurs on a
|
|
4
|
+
line in the compiled template that is past the end of the source template.
|
|
5
|
+
|
|
6
|
+
*Martin Emde*
|
|
7
|
+
|
|
8
|
+
* Improve reliability of ERB template error highlighting.
|
|
9
|
+
Fix infinite loops and crashes in highlighting and
|
|
10
|
+
improve tolerance for alternate ERB handlers.
|
|
11
|
+
|
|
12
|
+
*Martin Emde*
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Rails 8.0.0.1 (December 10, 2024) ##
|
|
16
|
+
|
|
17
|
+
* No changes.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## Rails 8.0.0 (November 07, 2024) ##
|
|
21
|
+
|
|
22
|
+
* No changes.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## Rails 8.0.0.rc2 (October 30, 2024) ##
|
|
26
|
+
|
|
27
|
+
* No changes.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## Rails 8.0.0.rc1 (October 19, 2024) ##
|
|
31
|
+
|
|
32
|
+
* Remove deprecated support to passing a content to void tag elements on the `tag` builder.
|
|
33
|
+
|
|
34
|
+
*Rafael Mendonça França*
|
|
35
|
+
|
|
36
|
+
* Remove deprecated support to passing `nil` to the `model:` argument of `form_with`.
|
|
37
|
+
|
|
38
|
+
*Rafael Mendonça França*
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Rails 8.0.0.beta1 (September 26, 2024) ##
|
|
42
|
+
|
|
43
|
+
* Enable DependencyTracker to evaluate renders with trailing interpolation.
|
|
44
|
+
|
|
45
|
+
```erb
|
|
46
|
+
<%= render "maintenance_tasks/runs/info/#{run.status}" %>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Previously, the DependencyTracker would ignore this render, but now it will
|
|
50
|
+
mark all partials in the "maintenance_tasks/runs/info" folder as
|
|
51
|
+
dependencies.
|
|
52
|
+
|
|
53
|
+
*Hartley McGuire*
|
|
54
|
+
|
|
55
|
+
* Rename `text_area` methods into `textarea`
|
|
56
|
+
|
|
57
|
+
Old names are still available as aliases.
|
|
58
|
+
|
|
59
|
+
*Sean Doyle*
|
|
60
|
+
|
|
61
|
+
* Rename `check_box*` methods into `checkbox*`.
|
|
62
|
+
|
|
63
|
+
Old names are still available as aliases.
|
|
64
|
+
|
|
65
|
+
*Jean Boussier*
|
|
66
|
+
|
|
67
|
+
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actionview/CHANGELOG.md) for previous changes.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Copyright (c) David Heinemeier Hansson
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
= Action View
|
|
2
|
+
|
|
3
|
+
Action View is a framework for handling view template lookup and rendering, and provides
|
|
4
|
+
view helpers that assist when building HTML forms, Atom feeds and more.
|
|
5
|
+
Template formats that Action View handles are ERB (embedded Ruby, typically
|
|
6
|
+
used to inline short Ruby snippets inside HTML), and XML Builder.
|
|
7
|
+
|
|
8
|
+
You can read more about Action View in the {Action View Overview}[https://guides.rubyonrails.org/action_view_overview.html] guide.
|
|
9
|
+
|
|
10
|
+
== Download and installation
|
|
11
|
+
|
|
12
|
+
The latest version of Action View can be installed with RubyGems:
|
|
13
|
+
|
|
14
|
+
$ gem install actionview
|
|
15
|
+
|
|
16
|
+
Source code can be downloaded as part of the \Rails project on GitHub:
|
|
17
|
+
|
|
18
|
+
* https://github.com/rails/rails/tree/main/actionview
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
== License
|
|
22
|
+
|
|
23
|
+
Action View is released under the MIT license:
|
|
24
|
+
|
|
25
|
+
* https://opensource.org/licenses/MIT
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
== Support
|
|
29
|
+
|
|
30
|
+
API documentation is at
|
|
31
|
+
|
|
32
|
+
* https://api.rubyonrails.org
|
|
33
|
+
|
|
34
|
+
Bug reports for the Ruby on \Rails project can be filed here:
|
|
35
|
+
|
|
36
|
+
* https://github.com/rails/rails/issues
|
|
37
|
+
|
|
38
|
+
Feature requests should be discussed on the rails-core mailing list here:
|
|
39
|
+
|
|
40
|
+
* https://discuss.rubyonrails.org/c/rubyonrails-core
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
## Rails 8.0.1 (December 13, 2024) ##
|
|
2
|
+
|
|
3
|
+
* No changes.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Rails 8.0.0.1 (December 10, 2024) ##
|
|
7
|
+
|
|
8
|
+
* No changes.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Rails 8.0.0 (November 07, 2024) ##
|
|
12
|
+
|
|
13
|
+
* No changes.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Rails 8.0.0.rc2 (October 30, 2024) ##
|
|
17
|
+
|
|
18
|
+
* No changes.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## Rails 8.0.0.rc1 (October 19, 2024) ##
|
|
22
|
+
|
|
23
|
+
* Add `:except_on` option for validations. Grants the ability to _skip_ validations in specified contexts.
|
|
24
|
+
|
|
25
|
+
```ruby
|
|
26
|
+
class User < ApplicationRecord
|
|
27
|
+
#...
|
|
28
|
+
validates :birthday, presence: { except_on: :admin }
|
|
29
|
+
#...
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
user = User.new(attributes except birthday)
|
|
33
|
+
user.save(context: :admin)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
*Drew Bragg*
|
|
37
|
+
|
|
38
|
+
## Rails 8.0.0.beta1 (September 26, 2024) ##
|
|
39
|
+
|
|
40
|
+
* Make `ActiveModel::Serialization#read_attribute_for_serialization` public
|
|
41
|
+
|
|
42
|
+
*Sean Doyle*
|
|
43
|
+
|
|
44
|
+
* Add a default token generator for password reset tokens when using `has_secure_password`.
|
|
45
|
+
|
|
46
|
+
```ruby
|
|
47
|
+
class User < ApplicationRecord
|
|
48
|
+
has_secure_password
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
user = User.create!(name: "david", password: "123", password_confirmation: "123")
|
|
52
|
+
token = user.password_reset_token
|
|
53
|
+
User.find_by_password_reset_token(token) # returns user
|
|
54
|
+
|
|
55
|
+
# 16 minutes later...
|
|
56
|
+
User.find_by_password_reset_token(token) # returns nil
|
|
57
|
+
|
|
58
|
+
# raises ActiveSupport::MessageVerifier::InvalidSignature since the token is expired
|
|
59
|
+
User.find_by_password_reset_token!(token)
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
*DHH*
|
|
63
|
+
|
|
64
|
+
* Add a load hook `active_model_translation` for `ActiveModel::Translation`.
|
|
65
|
+
|
|
66
|
+
*Shouichi Kamiya*
|
|
67
|
+
|
|
68
|
+
* Add `raise_on_missing_translations` option to `ActiveModel::Translation`.
|
|
69
|
+
When the option is set, `human_attribute_name` raises an error if a translation of the given attribute is missing.
|
|
70
|
+
|
|
71
|
+
```ruby
|
|
72
|
+
# ActiveModel::Translation.raise_on_missing_translations = false
|
|
73
|
+
Post.human_attribute_name("title")
|
|
74
|
+
=> "Title"
|
|
75
|
+
|
|
76
|
+
# ActiveModel::Translation.raise_on_missing_translations = true
|
|
77
|
+
Post.human_attribute_name("title")
|
|
78
|
+
=> Translation missing. Options considered were: (I18n::MissingTranslationData)
|
|
79
|
+
- en.activerecord.attributes.post.title
|
|
80
|
+
- en.attributes.title
|
|
81
|
+
|
|
82
|
+
raise exception.respond_to?(:to_exception) ? exception.to_exception : exception
|
|
83
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
*Shouichi Kamiya*
|
|
87
|
+
|
|
88
|
+
* Introduce `ActiveModel::AttributeAssignment#attribute_writer_missing`
|
|
89
|
+
|
|
90
|
+
Provide instances with an opportunity to gracefully handle assigning to an
|
|
91
|
+
unknown attribute:
|
|
92
|
+
|
|
93
|
+
```ruby
|
|
94
|
+
class Rectangle
|
|
95
|
+
include ActiveModel::AttributeAssignment
|
|
96
|
+
|
|
97
|
+
attr_accessor :length, :width
|
|
98
|
+
|
|
99
|
+
def attribute_writer_missing(name, value)
|
|
100
|
+
Rails.logger.warn "Tried to assign to unknown attribute #{name}"
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
rectangle = Rectangle.new
|
|
105
|
+
rectangle.assign_attributes(height: 10) # => Logs "Tried to assign to unknown attribute 'height'"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
*Sean Doyle*
|
|
109
|
+
|
|
110
|
+
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activemodel/CHANGELOG.md) for previous changes.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Copyright (c) David Heinemeier Hansson
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
|
+
|