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,266 @@
|
|
|
1
|
+
= Active Model -- model interfaces for \Rails
|
|
2
|
+
|
|
3
|
+
Active Model provides a known set of interfaces for usage in model classes.
|
|
4
|
+
They allow for Action Pack helpers to interact with non-Active Record models,
|
|
5
|
+
for example. Active Model also helps with building custom ORMs for use outside of
|
|
6
|
+
the \Rails framework.
|
|
7
|
+
|
|
8
|
+
You can read more about Active Model in the {Active Model Basics}[https://guides.rubyonrails.org/active_model_basics.html] guide.
|
|
9
|
+
|
|
10
|
+
Prior to \Rails 3.0, if a plugin or gem developer wanted to have an object
|
|
11
|
+
interact with Action Pack helpers, it was required to either copy chunks of
|
|
12
|
+
code from \Rails, or monkey patch entire helpers to make them handle objects
|
|
13
|
+
that did not exactly conform to the Active Record interface. This would result
|
|
14
|
+
in code duplication and fragile applications that broke on upgrades. Active
|
|
15
|
+
Model solves this by defining an explicit API. You can read more about the
|
|
16
|
+
API in +ActiveModel::Lint::Tests+.
|
|
17
|
+
|
|
18
|
+
Active Model provides a default module that implements the basic API required
|
|
19
|
+
to integrate with Action Pack out of the box: ActiveModel::API.
|
|
20
|
+
|
|
21
|
+
class Person
|
|
22
|
+
include ActiveModel::API
|
|
23
|
+
|
|
24
|
+
attr_accessor :name, :age
|
|
25
|
+
validates_presence_of :name
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
person = Person.new(name: 'bob', age: '18')
|
|
29
|
+
person.name # => 'bob'
|
|
30
|
+
person.age # => '18'
|
|
31
|
+
person.valid? # => true
|
|
32
|
+
|
|
33
|
+
It includes model name introspections, conversions, translations and
|
|
34
|
+
validations, resulting in a class suitable to be used with Action Pack.
|
|
35
|
+
See ActiveModel::API for more examples.
|
|
36
|
+
|
|
37
|
+
Active Model also provides the following functionality to have ORM-like
|
|
38
|
+
behavior out of the box:
|
|
39
|
+
|
|
40
|
+
* Add attribute magic to objects
|
|
41
|
+
|
|
42
|
+
class Person
|
|
43
|
+
include ActiveModel::AttributeMethods
|
|
44
|
+
|
|
45
|
+
attribute_method_prefix 'clear_'
|
|
46
|
+
define_attribute_methods :name, :age
|
|
47
|
+
|
|
48
|
+
attr_accessor :name, :age
|
|
49
|
+
|
|
50
|
+
def clear_attribute(attr)
|
|
51
|
+
send("#{attr}=", nil)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
person = Person.new
|
|
56
|
+
person.clear_name
|
|
57
|
+
person.clear_age
|
|
58
|
+
|
|
59
|
+
{Learn more}[https://api.rubyonrails.org/classes/ActiveModel/AttributeMethods.html]
|
|
60
|
+
|
|
61
|
+
* Callbacks for certain operations
|
|
62
|
+
|
|
63
|
+
class Person
|
|
64
|
+
extend ActiveModel::Callbacks
|
|
65
|
+
define_model_callbacks :create
|
|
66
|
+
|
|
67
|
+
def create
|
|
68
|
+
run_callbacks :create do
|
|
69
|
+
# Your create action methods here
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
This generates +before_create+, +around_create+ and +after_create+
|
|
75
|
+
class methods that wrap your create method.
|
|
76
|
+
|
|
77
|
+
{Learn more}[https://api.rubyonrails.org/classes/ActiveModel/Callbacks.html]
|
|
78
|
+
|
|
79
|
+
* Tracking value changes
|
|
80
|
+
|
|
81
|
+
class Person
|
|
82
|
+
include ActiveModel::Dirty
|
|
83
|
+
|
|
84
|
+
define_attribute_methods :name
|
|
85
|
+
|
|
86
|
+
def name
|
|
87
|
+
@name
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def name=(val)
|
|
91
|
+
name_will_change! unless val == @name
|
|
92
|
+
@name = val
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def save
|
|
96
|
+
# do persistence work
|
|
97
|
+
changes_applied
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
person = Person.new
|
|
102
|
+
person.name # => nil
|
|
103
|
+
person.changed? # => false
|
|
104
|
+
person.name = 'bob'
|
|
105
|
+
person.changed? # => true
|
|
106
|
+
person.changed # => ['name']
|
|
107
|
+
person.changes # => { 'name' => [nil, 'bob'] }
|
|
108
|
+
person.save
|
|
109
|
+
person.name = 'robert'
|
|
110
|
+
person.save
|
|
111
|
+
person.previous_changes # => {'name' => ['bob, 'robert']}
|
|
112
|
+
|
|
113
|
+
{Learn more}[https://api.rubyonrails.org/classes/ActiveModel/Dirty.html]
|
|
114
|
+
|
|
115
|
+
* Adding +errors+ interface to objects
|
|
116
|
+
|
|
117
|
+
Exposing error messages allows objects to interact with Action Pack
|
|
118
|
+
helpers seamlessly.
|
|
119
|
+
|
|
120
|
+
class Person
|
|
121
|
+
|
|
122
|
+
def initialize
|
|
123
|
+
@errors = ActiveModel::Errors.new(self)
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
attr_accessor :name
|
|
127
|
+
attr_reader :errors
|
|
128
|
+
|
|
129
|
+
def validate!
|
|
130
|
+
errors.add(:name, "cannot be nil") if name.nil?
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
def self.human_attribute_name(attr, options = {})
|
|
134
|
+
"Name"
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
person = Person.new
|
|
139
|
+
person.name = nil
|
|
140
|
+
person.validate!
|
|
141
|
+
person.errors.full_messages
|
|
142
|
+
# => ["Name cannot be nil"]
|
|
143
|
+
|
|
144
|
+
{Learn more}[https://api.rubyonrails.org/classes/ActiveModel/Errors.html]
|
|
145
|
+
|
|
146
|
+
* Model name introspection
|
|
147
|
+
|
|
148
|
+
class NamedPerson
|
|
149
|
+
extend ActiveModel::Naming
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
NamedPerson.model_name.name # => "NamedPerson"
|
|
153
|
+
NamedPerson.model_name.human # => "Named person"
|
|
154
|
+
|
|
155
|
+
{Learn more}[https://api.rubyonrails.org/classes/ActiveModel/Naming.html]
|
|
156
|
+
|
|
157
|
+
* Making objects serializable
|
|
158
|
+
|
|
159
|
+
ActiveModel::Serialization provides a standard interface for your object
|
|
160
|
+
to provide +to_json+ serialization.
|
|
161
|
+
|
|
162
|
+
class SerialPerson
|
|
163
|
+
include ActiveModel::Serialization
|
|
164
|
+
|
|
165
|
+
attr_accessor :name
|
|
166
|
+
|
|
167
|
+
def attributes
|
|
168
|
+
{'name' => name}
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
s = SerialPerson.new
|
|
173
|
+
s.serializable_hash # => {"name"=>nil}
|
|
174
|
+
|
|
175
|
+
class SerialPerson
|
|
176
|
+
include ActiveModel::Serializers::JSON
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
s = SerialPerson.new
|
|
180
|
+
s.to_json # => "{\"name\":null}"
|
|
181
|
+
|
|
182
|
+
{Learn more}[https://api.rubyonrails.org/classes/ActiveModel/Serialization.html]
|
|
183
|
+
|
|
184
|
+
* Internationalization (i18n) support
|
|
185
|
+
|
|
186
|
+
class Person
|
|
187
|
+
extend ActiveModel::Translation
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
Person.human_attribute_name('my_attribute')
|
|
191
|
+
# => "My attribute"
|
|
192
|
+
|
|
193
|
+
{Learn more}[https://api.rubyonrails.org/classes/ActiveModel/Translation.html]
|
|
194
|
+
|
|
195
|
+
* Validation support
|
|
196
|
+
|
|
197
|
+
class Person
|
|
198
|
+
include ActiveModel::Validations
|
|
199
|
+
|
|
200
|
+
attr_accessor :first_name, :last_name
|
|
201
|
+
|
|
202
|
+
validates_each :first_name, :last_name do |record, attr, value|
|
|
203
|
+
record.errors.add attr, "starts with z." if value.start_with?("z")
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
person = Person.new
|
|
208
|
+
person.first_name = 'zoolander'
|
|
209
|
+
person.valid? # => false
|
|
210
|
+
|
|
211
|
+
{Learn more}[https://api.rubyonrails.org/classes/ActiveModel/Validations.html]
|
|
212
|
+
|
|
213
|
+
* Custom validators
|
|
214
|
+
|
|
215
|
+
class HasNameValidator < ActiveModel::Validator
|
|
216
|
+
def validate(record)
|
|
217
|
+
record.errors.add(:name, "must exist") if record.name.blank?
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
class ValidatorPerson
|
|
222
|
+
include ActiveModel::Validations
|
|
223
|
+
validates_with HasNameValidator
|
|
224
|
+
attr_accessor :name
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
p = ValidatorPerson.new
|
|
228
|
+
p.valid? # => false
|
|
229
|
+
p.errors.full_messages # => ["Name must exist"]
|
|
230
|
+
p.name = "Bob"
|
|
231
|
+
p.valid? # => true
|
|
232
|
+
|
|
233
|
+
{Learn more}[https://api.rubyonrails.org/classes/ActiveModel/Validator.html]
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
== Download and installation
|
|
237
|
+
|
|
238
|
+
The latest version of Active Model can be installed with RubyGems:
|
|
239
|
+
|
|
240
|
+
$ gem install activemodel
|
|
241
|
+
|
|
242
|
+
Source code can be downloaded as part of the \Rails project on GitHub
|
|
243
|
+
|
|
244
|
+
* https://github.com/rails/rails/tree/main/activemodel
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
== License
|
|
248
|
+
|
|
249
|
+
Active Model is released under the MIT license:
|
|
250
|
+
|
|
251
|
+
* https://opensource.org/licenses/MIT
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
== Support
|
|
255
|
+
|
|
256
|
+
API documentation is at:
|
|
257
|
+
|
|
258
|
+
* https://api.rubyonrails.org
|
|
259
|
+
|
|
260
|
+
Bug reports for the Ruby on \Rails project can be filed here:
|
|
261
|
+
|
|
262
|
+
* https://github.com/rails/rails/issues
|
|
263
|
+
|
|
264
|
+
Feature requests should be discussed on the rails-core mailing list here:
|
|
265
|
+
|
|
266
|
+
* https://discuss.rubyonrails.org/c/rubyonrails-core
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
## Rails 8.0.1 (December 13, 2024) ##
|
|
2
|
+
|
|
3
|
+
* Fix a bug in `ERB::Util.tokenize` that causes incorrect tokenization when ERB tags are preceeded by multibyte characters.
|
|
4
|
+
|
|
5
|
+
*Martin Emde*
|
|
6
|
+
|
|
7
|
+
* Restore the ability to decorate methods generated by `class_attribute`.
|
|
8
|
+
|
|
9
|
+
It always has been complicated to use Module#prepend or an alias method chain
|
|
10
|
+
to decorate methods defined by `class_attribute`, but became even harder in 8.0.
|
|
11
|
+
|
|
12
|
+
This capability is now supported for both reader and writer methods.
|
|
13
|
+
|
|
14
|
+
*Jean Boussier*
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Rails 8.0.0.1 (December 10, 2024) ##
|
|
18
|
+
|
|
19
|
+
* No changes.
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Rails 8.0.0 (November 07, 2024) ##
|
|
23
|
+
|
|
24
|
+
* No changes.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Rails 8.0.0.rc2 (October 30, 2024) ##
|
|
28
|
+
|
|
29
|
+
* No changes.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## Rails 8.0.0.rc1 (October 19, 2024) ##
|
|
33
|
+
|
|
34
|
+
* Remove deprecated support to passing an array of strings to `ActiveSupport::Deprecation#warn`.
|
|
35
|
+
|
|
36
|
+
*Rafael Mendonça França*
|
|
37
|
+
|
|
38
|
+
* Remove deprecated support to setting `attr_internal_naming_format` with a `@` prefix.
|
|
39
|
+
|
|
40
|
+
*Rafael Mendonça França*
|
|
41
|
+
|
|
42
|
+
* Remove deprecated `ActiveSupport::ProxyObject`.
|
|
43
|
+
|
|
44
|
+
*Rafael Mendonça França*
|
|
45
|
+
|
|
46
|
+
* Don't execute i18n watcher on boot. It shouldn't catch any file changes initially,
|
|
47
|
+
and unnecessarily slows down boot of applications with lots of translations.
|
|
48
|
+
|
|
49
|
+
*Gannon McGibbon*, *David Stosik*
|
|
50
|
+
|
|
51
|
+
* Fix `ActiveSupport::HashWithIndifferentAccess#stringify_keys` to stringify all keys not just symbols.
|
|
52
|
+
|
|
53
|
+
Previously:
|
|
54
|
+
|
|
55
|
+
```ruby
|
|
56
|
+
{ 1 => 2 }.with_indifferent_access.stringify_keys[1] # => 2
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
After this change:
|
|
60
|
+
|
|
61
|
+
```ruby
|
|
62
|
+
{ 1 => 2 }.with_indifferent_access.stringify_keys["1"] # => 2
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
This change can be seen as a bug fix, but since it behaved like this for a very long time, we're deciding
|
|
66
|
+
to not backport the fix and to make the change in a major release.
|
|
67
|
+
|
|
68
|
+
*Jean Boussier*
|
|
69
|
+
|
|
70
|
+
## Rails 8.0.0.beta1 (September 26, 2024) ##
|
|
71
|
+
|
|
72
|
+
* Include options when instrumenting `ActiveSupport::Cache::Store#delete` and `ActiveSupport::Cache::Store#delete_multi`.
|
|
73
|
+
|
|
74
|
+
*Adam Renberg Tamm*
|
|
75
|
+
|
|
76
|
+
* Print test names when running `rails test -v` for parallel tests.
|
|
77
|
+
|
|
78
|
+
*John Hawthorn*, *Abeid Ahmed*
|
|
79
|
+
|
|
80
|
+
* Deprecate `Benchmark.ms` core extension.
|
|
81
|
+
|
|
82
|
+
The `benchmark` gem will become bundled in Ruby 3.5
|
|
83
|
+
|
|
84
|
+
*Earlopain*
|
|
85
|
+
|
|
86
|
+
* `ActiveSupport::TimeWithZone#inspect` now uses ISO 8601 style time like `Time#inspect`
|
|
87
|
+
|
|
88
|
+
*John Hawthorn*
|
|
89
|
+
|
|
90
|
+
* `ActiveSupport::ErrorReporter#report` now assigns a backtrace to unraised exceptions.
|
|
91
|
+
|
|
92
|
+
Previously reporting an un-raised exception would result in an error report without
|
|
93
|
+
a backtrace. Now it automatically generates one.
|
|
94
|
+
|
|
95
|
+
*Jean Boussier*
|
|
96
|
+
|
|
97
|
+
* Add `escape_html_entities` option to `ActiveSupport::JSON.encode`.
|
|
98
|
+
|
|
99
|
+
This allows for overriding the global configuration found at
|
|
100
|
+
`ActiveSupport.escape_html_entities_in_json` for specific calls to `to_json`.
|
|
101
|
+
|
|
102
|
+
This should be usable from controllers in the following manner:
|
|
103
|
+
```ruby
|
|
104
|
+
class MyController < ApplicationController
|
|
105
|
+
def index
|
|
106
|
+
render json: { hello: "world" }, escape_html_entities: false
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
*Nigel Baillie*
|
|
112
|
+
|
|
113
|
+
* Raise when using key which can't respond to `#to_sym` in `EncryptedConfiguration`.
|
|
114
|
+
|
|
115
|
+
As is the case when trying to use an Integer or Float as a key, which is unsupported.
|
|
116
|
+
|
|
117
|
+
*zzak*
|
|
118
|
+
|
|
119
|
+
* Deprecate addition and since between two `Time` and `ActiveSupport::TimeWithZone`.
|
|
120
|
+
|
|
121
|
+
Previously adding time instances together such as `10.days.ago + 10.days.ago` or `10.days.ago.since(10.days.ago)` produced a nonsensical future date. This behavior is deprecated and will be removed in Rails 8.1.
|
|
122
|
+
|
|
123
|
+
*Nick Schwaderer*
|
|
124
|
+
|
|
125
|
+
* Support rfc2822 format for Time#to_fs & Date#to_fs.
|
|
126
|
+
|
|
127
|
+
*Akshay Birajdar*
|
|
128
|
+
|
|
129
|
+
* Optimize load time for `Railtie#initialize_i18n`. Filter `I18n.load_path`s passed to the file watcher to only those
|
|
130
|
+
under `Rails.root`. Previously the watcher would grab all available locales, including those in gems
|
|
131
|
+
which do not require a watcher because they won't change.
|
|
132
|
+
|
|
133
|
+
*Nick Schwaderer*
|
|
134
|
+
|
|
135
|
+
* Add a `filter` option to `in_order_of` to prioritize certain values in the sorting without filtering the results
|
|
136
|
+
by these values.
|
|
137
|
+
|
|
138
|
+
*Igor Depolli*
|
|
139
|
+
|
|
140
|
+
* Improve error message when using `assert_difference` or `assert_changes` with a
|
|
141
|
+
proc by printing the proc's source code (MRI only).
|
|
142
|
+
|
|
143
|
+
*Richard Böhme*, *Jean Boussier*
|
|
144
|
+
|
|
145
|
+
* Add a new configuration value `:zone` for `ActiveSupport.to_time_preserves_timezone` and rename the previous `true` value to `:offset`. The new default value is `:zone`.
|
|
146
|
+
|
|
147
|
+
*Jason Kim*, *John Hawthorn*
|
|
148
|
+
|
|
149
|
+
* Align instrumentation `payload[:key]` in ActiveSupport::Cache to follow the same pattern, with namespaced and normalized keys.
|
|
150
|
+
|
|
151
|
+
*Frederik Erbs Spang Thomsen*
|
|
152
|
+
|
|
153
|
+
* Fix `travel_to` to set usec 0 when `with_usec` is `false` and the given argument String or DateTime.
|
|
154
|
+
|
|
155
|
+
*mopp*
|
|
156
|
+
|
|
157
|
+
Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activesupport/CHANGELOG.md) for previous changes.
|
|
@@ -0,0 +1,20 @@
|
|
|
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.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
= Active Support -- Utility classes and Ruby extensions from \Rails
|
|
2
|
+
|
|
3
|
+
Active Support is a collection of utility classes and standard library
|
|
4
|
+
extensions that were found useful for the \Rails framework. These additions
|
|
5
|
+
reside in this package so they can be loaded as needed in Ruby projects
|
|
6
|
+
outside of \Rails.
|
|
7
|
+
|
|
8
|
+
You can read more about the extensions in the {Active Support Core Extensions}[https://guides.rubyonrails.org/active_support_core_extensions.html] guide.
|
|
9
|
+
|
|
10
|
+
== Download and installation
|
|
11
|
+
|
|
12
|
+
The latest version of Active Support can be installed with RubyGems:
|
|
13
|
+
|
|
14
|
+
$ gem install activesupport
|
|
15
|
+
|
|
16
|
+
Source code can be downloaded as part of the \Rails project on GitHub:
|
|
17
|
+
|
|
18
|
+
* https://github.com/rails/rails/tree/main/activesupport
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
== License
|
|
22
|
+
|
|
23
|
+
Active Support 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
|