restify 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/lib/restify/adapter/base.rb +1 -1
- data/lib/restify/cache.rb +1 -1
- data/lib/restify/relation.rb +1 -9
- data/lib/restify/response.rb +2 -2
- data/lib/restify/version.rb +2 -2
- data/spec/restify/adapter/base_spec.rb +33 -0
- data/spec/restify/context_spec.rb +2 -2
- data/spec/restify/features/opentelemetry_spec.rb +1 -1
- data/spec/restify/global_spec.rb +50 -1
- data/spec/restify/link_spec.rb +13 -3
- data/spec/restify/relation_spec.rb +25 -6
- data/spec/restify/resource_spec.rb +6 -0
- data/spec/restify_spec.rb +1 -1
- data/spec/spec_helper.rb +0 -1
- data/vendor/bundle/ruby/4.0.0/gems/activesupport-8.1.3/CHANGELOG.md +561 -0
- data/vendor/bundle/ruby/{3.4.0/gems/activesupport-8.0.2 → 4.0.0/gems/activesupport-8.1.3}/README.rdoc +1 -1
- data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/CHANGELOG.md +71 -46
- data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/README.md +6 -6
- data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/LICENSE.MIT +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/ast-2.4.3/README.YARD.md +12 -0
- data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/CHANGELOG.md +12 -0
- data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/README.md +4 -2
- data/vendor/bundle/ruby/{3.4.0/gems/connection_pool-2.5.3 → 4.0.0/gems/connection_pool-3.0.2}/README.md +49 -34
- data/vendor/bundle/ruby/4.0.0/gems/crack-1.0.1/LICENSE +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/crack-1.0.1/README.md +43 -0
- data/vendor/bundle/ruby/4.0.0/gems/diff-lcs-1.6.2/CHANGELOG.md +518 -0
- data/vendor/bundle/ruby/4.0.0/gems/diff-lcs-1.6.2/README.md +92 -0
- data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/LICENSE +21 -0
- data/vendor/bundle/ruby/4.0.0/gems/docile-1.4.1/README.md +409 -0
- data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/CHANGELOG.md +43 -1
- data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/README.md +1 -1
- data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.2-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/CHANGELOG.md +34 -0
- data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.2-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/README.md +1 -0
- data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/LICENSE +19 -0
- data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/README.md +323 -0
- data/vendor/bundle/ruby/4.0.0/gems/hashdiff-1.2.1/changelog.md +127 -0
- data/vendor/bundle/ruby/{3.4.0/gems/hitimes-3.1.0 → 4.0.0/gems/hitimes-3.2.0}/README.md +1 -1
- data/vendor/bundle/ruby/{3.4.0/gems/i18n-1.14.7 → 4.0.0/gems/i18n-1.15.2}/README.md +13 -1
- data/vendor/bundle/ruby/4.0.0/gems/json-2.19.9/README.md +310 -0
- data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/LICENSE.txt +21 -0
- data/vendor/bundle/ruby/4.0.0/gems/language_server-protocol-3.17.0.5/README.md +88 -0
- data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/CHANGELOG.md +15 -0
- data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/LICENSE.txt +21 -0
- data/vendor/bundle/ruby/4.0.0/gems/lint_roller-1.1.0/README.md +173 -0
- data/vendor/bundle/ruby/{3.4.0/gems/minitest-5.25.5 → 4.0.0/gems/minitest-6.0.6}/README.rdoc +21 -100
- data/vendor/bundle/ruby/{3.4.0/gems/msgpack-1.8.0 → 4.0.0/gems/msgpack-1.8.3}/ChangeLog +15 -0
- data/vendor/bundle/ruby/{3.4.0/gems/msgpack-1.8.0 → 4.0.0/gems/msgpack-1.8.3}/README.md +1 -1
- data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/LICENSE.md +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/multi_json-1.21.1/README.md +281 -0
- data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/ext/libev/LICENSE +37 -0
- data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/ext/libev/README +59 -0
- data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/license.md +80 -0
- data/vendor/bundle/ruby/4.0.0/gems/nio4r-2.7.5/readme.md +91 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-api-1.10.0/CHANGELOG.md +219 -0
- data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.22.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/CHANGELOG.md +12 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/CHANGELOG.md +97 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/LICENSE +201 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-base-0.26.1/README.md +155 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/CHANGELOG.md +192 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/LICENSE +201 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-instrumentation-ethon-0.29.0/README.md +66 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/CHANGELOG.md +31 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/LICENSE +201 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-registry-0.6.0/README.md +40 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/CHANGELOG.md +302 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/LICENSE +201 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-sdk-1.12.0/README.md +101 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/CHANGELOG.md +65 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/LICENSE +201 -0
- data/vendor/bundle/ruby/4.0.0/gems/opentelemetry-semantic_conventions-1.41.0/README.md +115 -0
- data/vendor/bundle/ruby/4.0.0/gems/parallel-2.1.0/MIT-LICENSE.txt +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/parser-3.3.11.1/LICENSE.txt +26 -0
- data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/CHANGELOG.md +786 -0
- data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/LICENSE.md +7 -0
- data/vendor/bundle/ruby/4.0.0/gems/prism-1.9.0/README.md +143 -0
- data/vendor/bundle/ruby/4.0.0/gems/public_suffix-7.0.5/CHANGELOG.md +649 -0
- data/vendor/bundle/ruby/{3.4.0/gems/public_suffix-6.0.2 → 4.0.0/gems/public_suffix-7.0.5}/LICENSE.txt +1 -1
- data/vendor/bundle/ruby/{3.4.0/gems/public_suffix-6.0.2 → 4.0.0/gems/public_suffix-7.0.5}/README.md +38 -29
- data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/LICENSE +29 -0
- data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/README.md +484 -0
- data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/docs/jungle/README.md +9 -0
- data/vendor/bundle/ruby/4.0.0/gems/puma-8.0.2/docs/jungle/rc.d/README.md +74 -0
- data/vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/ChangeLog +846 -0
- data/vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
- data/vendor/bundle/ruby/4.0.0/gems/racc-1.8.1/README.rdoc +60 -0
- data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.15 → 4.0.0/gems/rack-3.2.6}/CHANGELOG.md +216 -16
- data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.15 → 4.0.0/gems/rack-3.2.6}/README.md +49 -20
- data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/Changelog.md +101 -0
- data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/LICENSE +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/rainbow-3.1.1/README.markdown +227 -0
- data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/README.rdoc +5 -5
- data/vendor/bundle/ruby/4.0.0/gems/regexp_parser-2.12.0/LICENSE +22 -0
- data/vendor/bundle/ruby/4.0.0/gems/rexml-3.4.4/README.md +57 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-3.13.2/LICENSE.md +27 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-3.13.2/README.md +47 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/Changelog.md +2447 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/LICENSE.md +26 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-core-3.13.6/README.md +389 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/Changelog.md +1366 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/LICENSE.md +25 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-expectations-3.13.5/README.md +326 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/Changelog.md +1351 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/LICENSE.md +25 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-mocks-3.13.8/README.md +465 -0
- data/vendor/bundle/ruby/4.0.0/gems/rspec-support-3.13.7/Changelog.md +444 -0
- data/vendor/bundle/ruby/{3.4.0/gems/multi_json-1.15.0 → 4.0.0/gems/rspec-support-3.13.7}/LICENSE.md +4 -1
- data/vendor/bundle/ruby/4.0.0/gems/rspec-support-3.13.7/README.md +40 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/LICENSE.txt +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-1.88.0/README.md +255 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/LICENSE.txt +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-ast-1.49.1/README.md +54 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/CHANGELOG.md +116 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/MIT-LICENSE.md +21 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-capybara-2.23.0/README.md +91 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/CHANGELOG.md +135 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/MIT-LICENSE.md +21 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-factory_bot-2.28.0/README.md +91 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/LICENSE.txt +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-performance-1.26.1/README.md +100 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/CHANGELOG.md +1136 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/MIT-LICENSE.md +21 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec-3.10.2/README.md +112 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/CHANGELOG.md +98 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/MIT-LICENSE.md +21 -0
- data/vendor/bundle/ruby/4.0.0/gems/rubocop-rspec_rails-2.32.0/README.md +93 -0
- data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +19 -0
- data/vendor/bundle/ruby/4.0.0/gems/ruby-progressbar-1.13.0/README.md +131 -0
- data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/CHANGELOG.md +191 -0
- data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/LICENSE +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/simplecov-0.22.0/README.md +974 -0
- data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/LICENSE +202 -0
- data/vendor/bundle/ruby/4.0.0/gems/simplecov-cobertura-3.2.0/README.md +65 -0
- data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/CHANGELOG.md +114 -0
- data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/LICENSE +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/simplecov-html-0.13.2/README.md +30 -0
- data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +13 -0
- data/vendor/bundle/ruby/4.0.0/gems/simplecov_json_formatter-0.1.4/README.md +29 -0
- data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/CHANGELOG.md +56 -1
- data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/README.md +2 -2
- data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +299 -0
- data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt +22 -0
- data/vendor/bundle/ruby/4.0.0/gems/unicode-display_width-3.2.0/README.md +194 -0
- data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/CHANGELOG.md +202 -0
- data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/MIT-LICENSE.txt +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/unicode-emoji-4.2.0/README.md +205 -0
- data/vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/CHANGELOG.md +2148 -0
- data/vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/LICENSE +20 -0
- data/vendor/bundle/ruby/4.0.0/gems/webmock-3.26.2/README.md +1229 -0
- metadata +170 -65
- data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.2/CHANGELOG.md +0 -255
- data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/README.md +0 -138
- data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/CHANGELOG.md +0 -275
- data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/README.md +0 -121
- data/vendor/bundle/ruby/3.4.0/gems/opentelemetry-api-1.5.0/CHANGELOG.md +0 -193
- data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.2/CHANGELOG.md +0 -498
- /data/vendor/bundle/ruby/{3.4.0/bundler/gems/my-rubocop-3bcd2110ca87 → 4.0.0/bundler/gems/my-rubocop-2b861962124a}/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/bundler/gems/my-rubocop-3bcd2110ca87 → 4.0.0/bundler/gems/my-rubocop-2b861962124a}/README.md +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/activesupport-8.0.2 → 4.0.0/gems/activesupport-8.1.3}/MIT-LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/LICENSE.txt +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/base64-0.2.0 → 4.0.0/gems/base64-0.3.0}/README.md +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/bigdecimal-3.1.9 → 4.0.0/gems/bigdecimal-4.1.2}/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/concurrent-ruby-1.3.5 → 4.0.0/gems/concurrent-ruby-1.3.7}/LICENSE.txt +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/connection_pool-2.5.3 → 4.0.0/gems/connection_pool-3.0.2}/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/base64-0.2.0 → 4.0.0/gems/drb-2.2.3}/LICENSE.txt +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/ethon-0.16.0 → 4.0.0/gems/ethon-0.18.0}/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.2-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/ffi-1.17.2-x86_64-linux-gnu → 4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu}/LICENSE.SPECS +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/hitimes-3.1.0 → 4.0.0/gems/hitimes-3.2.0}/LICENSE.txt +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/i18n-1.14.7 → 4.0.0/gems/i18n-1.15.2}/MIT-LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/little-plugger-1.1.4/README.rdoc +0 -0
- /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/logger-1.7.0/README.md +0 -0
- /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/logging-2.4.0/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/logging-2.4.0/README.md +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/msgpack-1.8.0 → 4.0.0/gems/msgpack-1.8.3}/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-api-1.5.0 → 4.0.0/gems/opentelemetry-api-1.10.0}/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-api-1.5.0 → 4.0.0/gems/opentelemetry-api-1.10.0}/README.md +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.22.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/opentelemetry-common-0.22.0 → 4.0.0/gems/opentelemetry-common-0.25.0}/README.md +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/rack-3.1.15 → 4.0.0/gems/rack-3.2.6}/MIT-LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/rake-13.2.1 → 4.0.0/gems/rake-13.4.2}/MIT-LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/rake-release-1.3.0 → 4.0.0/gems/rake-release-1.4.0}/README.md +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/drb-2.2.1 → 4.0.0/gems/rexml-3.4.4}/LICENSE.txt +0 -0
- /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/securerandom-0.4.1/README.md +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/typhoeus-1.4.1 → 4.0.0/gems/typhoeus-1.6.0}/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/tzinfo-2.0.6/LICENSE +0 -0
- /data/vendor/bundle/ruby/{3.4.0 → 4.0.0}/gems/tzinfo-2.0.6/README.md +0 -0
- /data/vendor/bundle/ruby/{3.4.0/gems/uri-1.0.3 → 4.0.0/gems/uri-1.1.1}/README.md +0 -0
data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/CHANGELOG.md
RENAMED
|
@@ -1,14 +1,39 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Addressable 2.9.0 <a name="v2.9.0">
|
|
4
|
+
- fixes ReDoS vulnerability in Addressable::Template#match (fixes incomplete
|
|
5
|
+
remediation in 2.8.10)
|
|
6
|
+
|
|
7
|
+
## Addressable 2.8.10 <a name="v2.8.10">
|
|
8
|
+
- fixes ReDoS vulnerability in Addressable::Template#match
|
|
9
|
+
|
|
10
|
+
## Addressable 2.8.9 <a name="v2.8.9">
|
|
11
|
+
- Reduce gem size by excluding test files ([#569])
|
|
12
|
+
- No need for bundler as development dependency ([#571], [5fc1d93](https://github.com/sporkmonger/addressable/commit/5fc1d93))
|
|
13
|
+
- idna/pure: stop building the useless `COMPOSITION_TABLE` (removes the `Addressable::IDNA::COMPOSITION_TABLE` constant) ([#564])
|
|
14
|
+
|
|
15
|
+
[#569]: https://github.com/sporkmonger/addressable/pull/569
|
|
16
|
+
[#571]: https://github.com/sporkmonger/addressable/pull/571
|
|
17
|
+
[#564]: https://github.com/sporkmonger/addressable/pull/564
|
|
18
|
+
|
|
19
|
+
## Addressable 2.8.8 <a name="v2.8.8">
|
|
20
|
+
- Replace the `unicode.data` blob by a ruby constant ([#561])
|
|
21
|
+
- Allow `public_suffix` 7 ([#558])
|
|
22
|
+
|
|
23
|
+
[#561]: https://github.com/sporkmonger/addressable/pull/561
|
|
24
|
+
[#558]: https://github.com/sporkmonger/addressable/pull/558
|
|
25
|
+
|
|
26
|
+
## Addressable 2.8.7 <a name="v2.8.7">
|
|
2
27
|
- Allow `public_suffix` 6 ([#535])
|
|
3
28
|
|
|
4
29
|
[#535]: https://github.com/sporkmonger/addressable/pull/535
|
|
5
30
|
|
|
6
|
-
|
|
31
|
+
## Addressable 2.8.6 <a name="v2.8.6">
|
|
7
32
|
- Memoize regexps for common character classes ([#524])
|
|
8
33
|
|
|
9
34
|
[#524]: https://github.com/sporkmonger/addressable/pull/524
|
|
10
35
|
|
|
11
|
-
|
|
36
|
+
## Addressable 2.8.5 <a name="v2.8.5">
|
|
12
37
|
- Fix thread safety issue with encoding tables ([#515])
|
|
13
38
|
- Define URI::NONE as a module to avoid serialization issues ([#509])
|
|
14
39
|
- Fix YAML serialization ([#508])
|
|
@@ -17,18 +42,18 @@
|
|
|
17
42
|
[#509]: https://github.com/sporkmonger/addressable/pull/509
|
|
18
43
|
[#515]: https://github.com/sporkmonger/addressable/pull/515
|
|
19
44
|
|
|
20
|
-
|
|
45
|
+
## Addressable 2.8.4 <a name="v2.8.4">
|
|
21
46
|
- Restore `Addressable::IDNA.unicode_normalize_kc` as a deprecated method ([#504])
|
|
22
47
|
|
|
23
48
|
[#504]: https://github.com/sporkmonger/addressable/pull/504
|
|
24
49
|
|
|
25
|
-
|
|
50
|
+
## Addressable 2.8.3 <a name="v2.8.3">
|
|
26
51
|
- Fix template expand level 2 hash support for non-string objects ([#499], [#498])
|
|
27
52
|
|
|
28
53
|
[#499]: https://github.com/sporkmonger/addressable/pull/499
|
|
29
54
|
[#498]: https://github.com/sporkmonger/addressable/pull/498
|
|
30
55
|
|
|
31
|
-
|
|
56
|
+
## Addressable 2.8.2 <a name="v2.8.2">
|
|
32
57
|
- Improve cache hits and JIT friendliness ([#486](https://github.com/sporkmonger/addressable/pull/486))
|
|
33
58
|
- Improve code style and test coverage ([#482](https://github.com/sporkmonger/addressable/pull/482))
|
|
34
59
|
- Ensure reset of deferred validation ([#481](https://github.com/sporkmonger/addressable/pull/481))
|
|
@@ -37,7 +62,7 @@
|
|
|
37
62
|
|
|
38
63
|
[#492]: https://github.com/sporkmonger/addressable/pull/492
|
|
39
64
|
|
|
40
|
-
|
|
65
|
+
## Addressable 2.8.1 <a name="v2.8.1">
|
|
41
66
|
- refactor `Addressable::URI.normalize_path` to address linter offenses ([#430](https://github.com/sporkmonger/addressable/pull/430))
|
|
42
67
|
- update gemspec to reflect supported Ruby versions ([#466], [#464], [#463])
|
|
43
68
|
- compatibility w/ public_suffix 5.x ([#466], [#465], [#460])
|
|
@@ -53,7 +78,7 @@
|
|
|
53
78
|
[#465]: https://github.com/sporkmonger/addressable/pull/465
|
|
54
79
|
[#466]: https://github.com/sporkmonger/addressable/pull/466
|
|
55
80
|
|
|
56
|
-
|
|
81
|
+
## Addressable 2.8.0 <a name="v2.8.0">
|
|
57
82
|
- fixes ReDoS vulnerability in Addressable::Template#match
|
|
58
83
|
- no longer replaces `+` with spaces in queries for non-http(s) schemes
|
|
59
84
|
- fixed encoding ipv6 literals
|
|
@@ -65,14 +90,14 @@
|
|
|
65
90
|
- performance improvements
|
|
66
91
|
- switch CI/CD to GitHub Actions
|
|
67
92
|
|
|
68
|
-
|
|
93
|
+
## Addressable 2.7.0 <a name="v2.7.0">
|
|
69
94
|
- added `:compacted` flag to `normalized_query`
|
|
70
95
|
- `heuristic_parse` handles `mailto:` more intuitively
|
|
71
96
|
- dropped explicit support for JRuby 9.0.5.0
|
|
72
97
|
- compatibility w/ public_suffix 4.x
|
|
73
98
|
- performance improvements
|
|
74
99
|
|
|
75
|
-
|
|
100
|
+
## Addressable 2.6.0 <a name="v2.6.0">
|
|
76
101
|
- added `tld=` method to allow assignment to the public suffix
|
|
77
102
|
- most `heuristic_parse` patterns are now case-insensitive
|
|
78
103
|
- `heuristic_parse` handles more `file://` URI variations
|
|
@@ -83,17 +108,17 @@
|
|
|
83
108
|
- minor performance improvements in regexps
|
|
84
109
|
- fixes to eliminate warnings
|
|
85
110
|
|
|
86
|
-
|
|
111
|
+
## Addressable 2.5.2 <a name="v2.5.2">
|
|
87
112
|
- better support for frozen string literals
|
|
88
113
|
- fixed bug w/ uppercase characters in scheme
|
|
89
114
|
- IDNA errors w/ emoji URLs
|
|
90
115
|
- compatibility w/ public_suffix 3.x
|
|
91
116
|
|
|
92
|
-
|
|
117
|
+
## Addressable 2.5.1 <a name="v2.5.1">
|
|
93
118
|
- allow unicode normalization to be disabled for URI Template expansion
|
|
94
119
|
- removed duplicate test
|
|
95
120
|
|
|
96
|
-
|
|
121
|
+
## Addressable 2.5.0 <a name="v2.5.0">
|
|
97
122
|
- dropping support for Ruby 1.9
|
|
98
123
|
- adding support for Ruby 2.4 preview
|
|
99
124
|
- add support for public suffixes and tld; first runtime dependency
|
|
@@ -107,7 +132,7 @@
|
|
|
107
132
|
- host parts longer than 63 bytes will be ignored and not passed to libidn
|
|
108
133
|
- normalized values always encoded as UTF-8
|
|
109
134
|
|
|
110
|
-
|
|
135
|
+
## Addressable 2.4.0 <a name="v2.4.0">
|
|
111
136
|
- support for 1.8.x dropped
|
|
112
137
|
- double quotes in a host now raises an error
|
|
113
138
|
- newlines in host will no longer get unescaped during normalization
|
|
@@ -119,17 +144,17 @@
|
|
|
119
144
|
- fixed minor bug where an exception would be thrown for a missing ACE suffix
|
|
120
145
|
- better partial expansion of URI templates
|
|
121
146
|
|
|
122
|
-
|
|
147
|
+
## Addressable 2.3.8 <a name="v2.3.8">
|
|
123
148
|
- fix warnings
|
|
124
149
|
- update dependency gems
|
|
125
150
|
- support for 1.8.x officially deprecated
|
|
126
151
|
|
|
127
|
-
|
|
152
|
+
## Addressable 2.3.7 <a name="v2.3.7">
|
|
128
153
|
- fix scenario in which invalid URIs don't get an exception until inspected
|
|
129
154
|
- handle hostnames with two adjacent periods correctly
|
|
130
155
|
- upgrade of RSpec
|
|
131
156
|
|
|
132
|
-
|
|
157
|
+
## Addressable 2.3.6 <a name="v2.3.6">
|
|
133
158
|
- normalization drops empty query string
|
|
134
159
|
- better handling in template extract for missing values
|
|
135
160
|
- template modifier for `'?'` now treated as optional
|
|
@@ -138,19 +163,19 @@
|
|
|
138
163
|
- added `:sorted` option to normalization of query strings
|
|
139
164
|
- fixed issue with normalization of hosts given in `'example.com.'` form
|
|
140
165
|
|
|
141
|
-
|
|
166
|
+
## Addressable 2.3.5 <a name="v2.3.5">
|
|
142
167
|
- added Addressable::URI#empty? method
|
|
143
168
|
- Addressable::URI#hostname methods now strip square brackets from IPv6 hosts
|
|
144
169
|
- compatibility with Net::HTTP in Ruby 2.0.0
|
|
145
170
|
- Addressable::URI#route_from should always give relative URIs
|
|
146
171
|
|
|
147
|
-
|
|
172
|
+
## Addressable 2.3.4 <a name="v2.3.4">
|
|
148
173
|
- fixed issue with encoding altering its inputs
|
|
149
174
|
- query string normalization now leaves ';' characters alone
|
|
150
175
|
- FakeFS is detected before attempting to load unicode tables
|
|
151
176
|
- additional testing to ensure frozen objects don't cause problems
|
|
152
177
|
|
|
153
|
-
|
|
178
|
+
## Addressable 2.3.3 <a name="v2.3.3">
|
|
154
179
|
- fixed issue with converting common primitives during template expansion
|
|
155
180
|
- fixed port encoding issue
|
|
156
181
|
- removed a few warnings
|
|
@@ -159,59 +184,59 @@
|
|
|
159
184
|
- no template match should now result in nil instead of an empty MatchData
|
|
160
185
|
- added license information to gemspec
|
|
161
186
|
|
|
162
|
-
|
|
187
|
+
## Addressable 2.3.2 <a name="v2.3.2">
|
|
163
188
|
- added Addressable::URI#default_port method
|
|
164
189
|
- fixed issue with Marshalling Unicode data on Windows
|
|
165
190
|
- improved heuristic parsing to better handle IPv4 addresses
|
|
166
191
|
|
|
167
|
-
|
|
192
|
+
## Addressable 2.3.1 <a name="v2.3.1">
|
|
168
193
|
- fixed missing unicode data file
|
|
169
194
|
|
|
170
|
-
|
|
195
|
+
## Addressable 2.3.0 <a name="v2.3.0">
|
|
171
196
|
- updated Addressable::Template to use RFC 6570, level 4
|
|
172
197
|
- fixed compatibility problems with some versions of Ruby
|
|
173
198
|
- moved unicode tables into a data file for performance reasons
|
|
174
199
|
- removing support for multiple query value notations
|
|
175
200
|
|
|
176
|
-
|
|
201
|
+
## Addressable 2.2.8 <a name="v2.2.8">
|
|
177
202
|
- fixed issues with dot segment removal code
|
|
178
203
|
- form encoding can now handle multiple values per key
|
|
179
204
|
- updated development environment
|
|
180
205
|
|
|
181
|
-
|
|
206
|
+
## Addressable 2.2.7 <a name="v2.2.7">
|
|
182
207
|
- fixed issues related to Addressable::URI#query_values=
|
|
183
208
|
- the Addressable::URI.parse method is now polymorphic
|
|
184
209
|
|
|
185
|
-
|
|
210
|
+
## Addressable 2.2.6 <a name="v2.2.6">
|
|
186
211
|
- changed the way ambiguous paths are handled
|
|
187
212
|
- fixed bug with frozen URIs
|
|
188
213
|
- https supported in heuristic parsing
|
|
189
214
|
|
|
190
|
-
|
|
215
|
+
## Addressable 2.2.5 <a name="v2.2.5">
|
|
191
216
|
- 'parsing' a pre-parsed URI object is now a dup operation
|
|
192
217
|
- introduced conditional support for libidn
|
|
193
218
|
- fixed normalization issue on ampersands in query strings
|
|
194
219
|
- added additional tests around handling of query strings
|
|
195
220
|
|
|
196
|
-
|
|
221
|
+
## Addressable 2.2.4 <a name="v2.2.4">
|
|
197
222
|
- added origin support from draft-ietf-websec-origin-00
|
|
198
223
|
- resolved issue with attempting to navigate below root
|
|
199
224
|
- fixed bug with string splitting in query strings
|
|
200
225
|
|
|
201
|
-
|
|
226
|
+
## Addressable 2.2.3 <a name="v2.2.3">
|
|
202
227
|
- added :flat_array notation for query strings
|
|
203
228
|
|
|
204
|
-
|
|
229
|
+
## Addressable 2.2.2 <a name="v2.2.2">
|
|
205
230
|
- fixed issue with percent escaping of '+' character in query strings
|
|
206
231
|
|
|
207
|
-
|
|
232
|
+
## Addressable 2.2.1 <a name="v2.2.1">
|
|
208
233
|
- added support for application/x-www-form-urlencoded.
|
|
209
234
|
|
|
210
|
-
|
|
235
|
+
## Addressable 2.2.0 <a name="v2.2.0">
|
|
211
236
|
- added site methods
|
|
212
237
|
- improved documentation
|
|
213
238
|
|
|
214
|
-
|
|
239
|
+
## Addressable 2.1.2 <a name="v2.1.2">
|
|
215
240
|
- added HTTP request URI methods
|
|
216
241
|
- better handling of Windows file paths
|
|
217
242
|
- validation_deferred boolean replaced with defer_validation block
|
|
@@ -219,14 +244,14 @@
|
|
|
219
244
|
- fixed issue with constructing URIs with relative paths
|
|
220
245
|
- fixed warnings
|
|
221
246
|
|
|
222
|
-
|
|
247
|
+
## Addressable 2.1.1 <a name="v2.1.1">
|
|
223
248
|
- more type checking changes
|
|
224
249
|
- fixed issue with unicode normalization
|
|
225
250
|
- added method to find template defaults
|
|
226
251
|
- symbolic keys are now allowed in template mappings
|
|
227
252
|
- numeric values and symbolic values are now allowed in template mappings
|
|
228
253
|
|
|
229
|
-
|
|
254
|
+
## Addressable 2.1.0 <a name="v2.1.0x">
|
|
230
255
|
- refactored URI template support out into its own class
|
|
231
256
|
- removed extract method due to being useless and unreliable
|
|
232
257
|
- removed Addressable::URI.expand_template
|
|
@@ -240,15 +265,15 @@
|
|
|
240
265
|
- worked around issue with freezing URIs
|
|
241
266
|
- improved specs
|
|
242
267
|
|
|
243
|
-
|
|
268
|
+
## Addressable 2.0.2 <a name="v2.0.2">
|
|
244
269
|
- fixed issue with URI template expansion
|
|
245
270
|
- fixed issue with percent escaping characters 0-15
|
|
246
271
|
|
|
247
|
-
|
|
272
|
+
## Addressable 2.0.1 <a name="v2.0.1">
|
|
248
273
|
- fixed issue with query string assignment
|
|
249
274
|
- fixed issue with improperly encoded components
|
|
250
275
|
|
|
251
|
-
|
|
276
|
+
## Addressable 2.0.0 <a name="v2.0.0">
|
|
252
277
|
- the initialize method now takes an options hash as its only parameter
|
|
253
278
|
- added query_values method to URI class
|
|
254
279
|
- completely replaced IDNA implementation with pure Ruby
|
|
@@ -263,20 +288,20 @@
|
|
|
263
288
|
- updated URI Template code to match v 03 of the draft spec
|
|
264
289
|
- added a bunch of new specifications
|
|
265
290
|
|
|
266
|
-
|
|
291
|
+
## Addressable 1.0.4 <a name="v1.0.4">
|
|
267
292
|
- switched to using RSpec's pending system for specs that rely on IDN
|
|
268
293
|
- fixed issue with creating URIs with paths that are not prefixed with '/'
|
|
269
294
|
|
|
270
|
-
|
|
295
|
+
## Addressable 1.0.3 <a name="v1.0.3">
|
|
271
296
|
- implemented a hash method
|
|
272
297
|
|
|
273
|
-
|
|
298
|
+
## Addressable 1.0.2 <a name="v1.0.2">
|
|
274
299
|
- fixed minor bug with the extract_mapping method
|
|
275
300
|
|
|
276
|
-
|
|
301
|
+
## Addressable 1.0.1 <a name="v1.0.1">
|
|
277
302
|
- fixed minor bug with the extract_mapping method
|
|
278
303
|
|
|
279
|
-
|
|
304
|
+
## Addressable 1.0.0 <a name="v1.0.0">
|
|
280
305
|
- heuristic parse method added
|
|
281
306
|
- parsing is slightly more strict
|
|
282
307
|
- replaced to_h with to_hash
|
|
@@ -285,16 +310,16 @@
|
|
|
285
310
|
- improved heckle rake task
|
|
286
311
|
- no surviving heckle mutations
|
|
287
312
|
|
|
288
|
-
|
|
313
|
+
## Addressable 0.1.2 <a name="v0.1.2">
|
|
289
314
|
- improved normalization
|
|
290
315
|
- fixed bug in joining algorithm
|
|
291
316
|
- updated specifications
|
|
292
317
|
|
|
293
|
-
|
|
318
|
+
## Addressable 0.1.1 <a name="v0.1.1">
|
|
294
319
|
- updated documentation
|
|
295
320
|
- added URI Template variable extraction
|
|
296
321
|
|
|
297
|
-
|
|
322
|
+
## Addressable 0.1.0 <a name="v0.1.0">
|
|
298
323
|
- initial release
|
|
299
324
|
- implementation based on RFC 3986, 3987
|
|
300
325
|
- support for IRIs via libidn
|
data/vendor/bundle/ruby/{3.4.0/gems/addressable-2.8.7 → 4.0.0/gems/addressable-2.9.0}/README.md
RENAMED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
[coveralls]: https://coveralls.io/r/sporkmonger/addressable
|
|
18
18
|
[inch]: https://inch-ci.org/github/sporkmonger/addressable
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
## Description
|
|
21
21
|
|
|
22
22
|
Addressable is an alternative implementation to the URI implementation
|
|
23
23
|
that is part of Ruby's standard library. It is flexible, offers heuristic
|
|
@@ -25,12 +25,12 @@ parsing, and additionally provides extensive support for IRIs and URI templates.
|
|
|
25
25
|
|
|
26
26
|
Addressable closely conforms to RFC 3986, RFC 3987, and RFC 6570 (level 4).
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
## Reference
|
|
29
29
|
|
|
30
30
|
- {Addressable::URI}
|
|
31
31
|
- {Addressable::Template}
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
## Example usage
|
|
34
34
|
|
|
35
35
|
```ruby
|
|
36
36
|
require "addressable/uri"
|
|
@@ -49,7 +49,7 @@ uri.normalize
|
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
## URI Templates
|
|
53
53
|
|
|
54
54
|
For more details, see [RFC 6570](https://www.rfc-editor.org/rfc/rfc6570.txt).
|
|
55
55
|
|
|
@@ -88,7 +88,7 @@ template.extract(uri)
|
|
|
88
88
|
# }
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
## Install
|
|
92
92
|
|
|
93
93
|
```console
|
|
94
94
|
$ gem install addressable
|
|
@@ -103,7 +103,7 @@ $ brew install libidn # OS X
|
|
|
103
103
|
$ gem install idn-ruby
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
## Semantic Versioning
|
|
107
107
|
|
|
108
108
|
This project uses [Semantic Versioning](https://semver.org/). You can (and should) specify your
|
|
109
109
|
dependency using a pessimistic version constraint covering the major and minor
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright (c) 2011-2013 Peter Zotov <whitequark@whitequark.org>
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a
|
|
4
|
+
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 included
|
|
12
|
+
in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
15
|
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
17
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
18
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
19
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
20
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{AST} is a library for manipulating abstract syntax trees.
|
|
2
|
+
|
|
3
|
+
It embraces immutability; each AST node is inherently frozen at
|
|
4
|
+
creation, and updating a child node requires recreating that node
|
|
5
|
+
and its every parent, recursively.
|
|
6
|
+
|
|
7
|
+
This is a design choice. It does create some pressure on
|
|
8
|
+
garbage collector, but completely eliminates all concurrency
|
|
9
|
+
and aliasing problems.
|
|
10
|
+
|
|
11
|
+
See also {AST::Node}, {AST::Processor::Mixin} and {AST::Sexp} for
|
|
12
|
+
additional recommendations and design patterns.
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
## Current
|
|
2
2
|
|
|
3
|
+
## Release v1.3.7 (16 June 2026)
|
|
4
|
+
|
|
5
|
+
concurrent-ruby:
|
|
6
|
+
|
|
7
|
+
* See the [release notes on GitHub](https://github.com/ruby-concurrency/concurrent-ruby/releases/tag/v1.3.7).
|
|
8
|
+
|
|
9
|
+
## Release v1.3.6 (13 December 2025)
|
|
10
|
+
|
|
11
|
+
concurrent-ruby:
|
|
12
|
+
|
|
13
|
+
* See the [release notes on GitHub](https://github.com/ruby-concurrency/concurrent-ruby/releases/tag/v1.3.6).
|
|
14
|
+
|
|
3
15
|
## Release v1.3.5, edge v0.7.2 (15 January 2025)
|
|
4
16
|
|
|
5
17
|
concurrent-ruby:
|
|
@@ -207,7 +207,7 @@ Deprecated features are still available and bugs are being fixed, but new featur
|
|
|
207
207
|
These are available in the `concurrent-ruby-edge` companion gem.
|
|
208
208
|
|
|
209
209
|
These features are under active development and may change frequently. They are expected not to
|
|
210
|
-
keep backward compatibility (
|
|
210
|
+
keep backward compatibility (they may also lack tests and documentation). Semantic versions will
|
|
211
211
|
be obeyed though. Features developed in `concurrent-ruby-edge` are expected to move to
|
|
212
212
|
`concurrent-ruby` when final.
|
|
213
213
|
|
|
@@ -358,7 +358,8 @@ best practice is to depend on `concurrent-ruby` and let users to decide if they
|
|
|
358
358
|
* Recent CRuby
|
|
359
359
|
* JRuby, `rbenv install jruby-9.2.17.0`
|
|
360
360
|
* Set env variable `CONCURRENT_JRUBY_HOME` to point to it, e.g. `/usr/local/opt/rbenv/versions/jruby-9.2.17.0`
|
|
361
|
-
* Install Docker, required for Windows builds
|
|
361
|
+
* Install Docker or Podman, required for Windows builds
|
|
362
|
+
* If `bundle config get path` is set, use `bundle config set --local path.system true` otherwise the `gem name, path: '.'` gems won't be found (Bundler limitation).
|
|
362
363
|
|
|
363
364
|
### Publishing the Gem
|
|
364
365
|
|
|
@@ -378,6 +379,7 @@ best practice is to depend on `concurrent-ruby` and let users to decide if they
|
|
|
378
379
|
* [Charles Oliver Nutter](https://github.com/headius)
|
|
379
380
|
* [Ben Sheldon](https://github.com/bensheldon)
|
|
380
381
|
* [Samuel Williams](https://github.com/ioquatix)
|
|
382
|
+
* [Joshua Young](https://github.com/joshuay03)
|
|
381
383
|
|
|
382
384
|
### Special Thanks to
|
|
383
385
|
|
|
@@ -38,7 +38,7 @@ connection pool and a raw client.
|
|
|
38
38
|
$redis.then { |r| r.set 'foo' 'bar' }
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
Optionally, you can specify a timeout override
|
|
41
|
+
Optionally, you can specify a timeout override:
|
|
42
42
|
|
|
43
43
|
``` ruby
|
|
44
44
|
$memcached.with(timeout: 2.0) do |conn|
|
|
@@ -46,11 +46,9 @@ $memcached.with(timeout: 2.0) do |conn|
|
|
|
46
46
|
end
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
This will only modify the
|
|
50
|
-
invocation.
|
|
49
|
+
This will only modify the timeout for this particular invocation.
|
|
51
50
|
This is useful if you want to fail-fast on certain non-critical
|
|
52
51
|
sections when a resource is not available, or conversely if you are comfortable blocking longer on a particular resource.
|
|
53
|
-
This is not implemented in the `ConnectionPool::Wrapper` class.
|
|
54
52
|
|
|
55
53
|
## Migrating to a Connection Pool
|
|
56
54
|
|
|
@@ -72,7 +70,7 @@ $redis.with do |conn|
|
|
|
72
70
|
end
|
|
73
71
|
```
|
|
74
72
|
|
|
75
|
-
Once you've ported your entire system to use `with`, you can
|
|
73
|
+
Once you've ported your entire system to use `with`, you can remove `::Wrapper` and use `ConnectionPool` directly.
|
|
76
74
|
|
|
77
75
|
|
|
78
76
|
## Shutdown
|
|
@@ -90,41 +88,50 @@ Shutting down a connection pool will block until all connections are checked in
|
|
|
90
88
|
|
|
91
89
|
## Reload
|
|
92
90
|
|
|
93
|
-
You can reload a ConnectionPool instance
|
|
94
|
-
|
|
91
|
+
You can reload a ConnectionPool instance if it is necessary to close all existing connections and continue to use the pool.
|
|
92
|
+
ConnectionPool will automatically reload if the process is forked.
|
|
93
|
+
Use `auto_reload_after_fork: false` if you don't want this behavior.
|
|
95
94
|
|
|
96
95
|
```ruby
|
|
97
|
-
cp = ConnectionPool.new { Redis.new }
|
|
98
|
-
cp.reload { |conn| conn.quit }
|
|
96
|
+
cp = ConnectionPool.new(auto_reload_after_fork: false) { Redis.new }
|
|
97
|
+
cp.reload { |conn| conn.quit } # reload manually
|
|
99
98
|
cp.with { |conn| conn.get('some-count') }
|
|
100
99
|
```
|
|
101
100
|
|
|
102
|
-
Like `shutdown`,
|
|
101
|
+
Like `shutdown`, `reload` will block until all connections are checked in and closed.
|
|
103
102
|
|
|
104
103
|
## Reap
|
|
105
104
|
|
|
106
|
-
You can reap
|
|
105
|
+
You can call `reap` periodically on the ConnectionPool instance to close connections that were created but have not been used for a certain amount of time. This can be useful in environments where connections are expensive.
|
|
107
106
|
|
|
108
|
-
You can specify how many seconds the connections have to be idle for them to be reaped.
|
|
109
|
-
Defaults to 60 seconds.
|
|
107
|
+
You can specify how many seconds the connections have to be idle for them to be reaped, defaulting to 60 seconds.
|
|
110
108
|
|
|
111
109
|
```ruby
|
|
112
110
|
cp = ConnectionPool.new { Redis.new }
|
|
113
|
-
|
|
111
|
+
|
|
112
|
+
# Start a reaper thread to reap connections that have been
|
|
113
|
+
# idle more than 300 seconds (5 minutes)
|
|
114
|
+
Thread.new do
|
|
115
|
+
loop do
|
|
116
|
+
cp.reap(idle_seconds: 300, &:close)
|
|
117
|
+
sleep 30
|
|
118
|
+
end
|
|
119
|
+
end
|
|
114
120
|
```
|
|
115
121
|
|
|
116
|
-
|
|
122
|
+
## Discarding Connections
|
|
117
123
|
|
|
118
|
-
You can
|
|
124
|
+
You can discard connections in the ConnectionPool instance to remove connections that are broken and can't be repaired.
|
|
125
|
+
It can only be done inside the block passed to `with`.
|
|
126
|
+
Takes an optional block that will be executed with the connection.
|
|
119
127
|
|
|
120
128
|
```ruby
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
sleep 300
|
|
129
|
+
pool.with do |conn|
|
|
130
|
+
begin
|
|
131
|
+
conn.execute("SELECT 1")
|
|
132
|
+
rescue SomeConnectionError
|
|
133
|
+
pool.discard_current_connection(&:close) # remove the connection from the pool
|
|
134
|
+
raise
|
|
128
135
|
end
|
|
129
136
|
end
|
|
130
137
|
```
|
|
@@ -148,20 +155,28 @@ end
|
|
|
148
155
|
cp.idle # => 1
|
|
149
156
|
```
|
|
150
157
|
|
|
151
|
-
|
|
152
|
-
|
|
158
|
+
## Upgrading from ConnectionPool 2
|
|
159
|
+
|
|
160
|
+
* Support for Ruby <3.2 has been removed.
|
|
161
|
+
* ConnectionPool's APIs now consistently use keyword arguments everywhere.
|
|
162
|
+
Positional arguments must be converted to keywords:
|
|
163
|
+
```ruby
|
|
164
|
+
pool = ConnectionPool.new(size: 5, timeout: 5)
|
|
165
|
+
pool.checkout(1) # 2.x
|
|
166
|
+
pool.reap(30) # 2.x
|
|
167
|
+
pool.checkout(timeout: 1) # 3.x
|
|
168
|
+
pool.reap(idle_seconds: 30) # 3.x
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Notes
|
|
153
172
|
|
|
154
173
|
- Connections are lazily created as needed.
|
|
155
|
-
-
|
|
156
|
-
connections should be self-repairing. This is true of the Dalli and Redis
|
|
157
|
-
clients.
|
|
158
|
-
- **WARNING**: Don't ever use `Timeout.timeout` in your Ruby code or you will see
|
|
174
|
+
- **WARNING**: Avoid `Timeout.timeout` in your Ruby code or you can see
|
|
159
175
|
occasional silent corruption and mysterious errors. The Timeout API is unsafe
|
|
160
|
-
and
|
|
161
|
-
|
|
176
|
+
and dangerous to use. Use proper socket timeout options as exposed by
|
|
177
|
+
Net::HTTP, Redis, Dalli, etc.
|
|
162
178
|
|
|
163
179
|
|
|
164
|
-
Author
|
|
165
|
-
------
|
|
180
|
+
## Author
|
|
166
181
|
|
|
167
|
-
Mike Perham, [@getajobmike](https://
|
|
182
|
+
Mike Perham, [@getajobmike](https://ruby.social/@getajobmike), <https://www.mikeperham.com>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright (c) 2009 John Nunemaker
|
|
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,43 @@
|
|
|
1
|
+
# crack
|
|
2
|
+
|
|
3
|
+
[](https://github.com/jnunemaker/crack/actions/workflows/test.yml)
|
|
4
|
+
[](https://badge.fury.io/rb/crack)
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
Really simple JSON and XML parsing, ripped from Merb and Rails. The XML parser is ripped from Merb and the JSON parser is ripped from Rails. I take no credit, just packaged them for all to enjoy and easily use.
|
|
8
|
+
|
|
9
|
+
## compatibility
|
|
10
|
+
|
|
11
|
+
* Ruby 2.x
|
|
12
|
+
* Ruby 3.x
|
|
13
|
+
|
|
14
|
+
## note on patches/pull requests
|
|
15
|
+
|
|
16
|
+
* Fork the project.
|
|
17
|
+
* Make your feature addition or bug fix.
|
|
18
|
+
* Add tests for it. This is important so I don't break it in a future version unintentionally.
|
|
19
|
+
* Run the tests with `rake test`
|
|
20
|
+
* Open a Pull Request with the changes
|
|
21
|
+
|
|
22
|
+
## usage
|
|
23
|
+
|
|
24
|
+
```ruby
|
|
25
|
+
gem 'crack' # in Gemfile
|
|
26
|
+
require 'crack' # for xml and json
|
|
27
|
+
require 'crack/json' # for just json
|
|
28
|
+
require 'crack/xml' # for just xml
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## examples
|
|
32
|
+
|
|
33
|
+
```ruby
|
|
34
|
+
Crack::XML.parse("<tag>This is the contents</tag>")
|
|
35
|
+
# => {'tag' => 'This is the contents'}
|
|
36
|
+
|
|
37
|
+
Crack::JSON.parse('{"tag":"This is the contents"}')
|
|
38
|
+
# => {'tag' => 'This is the contents'}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Copyright
|
|
42
|
+
|
|
43
|
+
Copyright (c) 2009 John Nunemaker. See LICENSE for details.
|