acfs 1.7.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
|