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,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
|