vrpayment-ruby-sdk 5.0.2 → 5.2.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/Gemfile.lock +5 -5
- data/lib/vrpayment-ruby-sdk/api/subscription_suspension_service_api.rb +8 -18
- data/lib/vrpayment-ruby-sdk/api_client.rb +1 -1
- data/lib/vrpayment-ruby-sdk/models/abstract_payment_link_update.rb +13 -1
- data/lib/vrpayment-ruby-sdk/models/pan_type.rb +1 -0
- data/lib/vrpayment-ruby-sdk/models/payment_link.rb +13 -1
- data/lib/vrpayment-ruby-sdk/models/payment_link_active.rb +13 -1
- data/lib/vrpayment-ruby-sdk/models/payment_link_create.rb +13 -1
- data/lib/vrpayment-ruby-sdk/models/payment_link_update.rb +13 -1
- data/lib/vrpayment-ruby-sdk/models/scope.rb +51 -1
- data/lib/vrpayment-ruby-sdk/models/wallet_type.rb +34 -4
- data/lib/vrpayment-ruby-sdk/version.rb +1 -1
- data/vendor/bundle/ruby/3.3.0/cache/ethon-0.15.0.gem +0 -0
- data/vendor/bundle/ruby/3.3.0/cache/json-2.15.1.gem +0 -0
- data/vendor/bundle/ruby/3.3.0/cache/typhoeus-1.5.0.gem +0 -0
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{json-2.13.0 → json-2.15.1}/gem_make.out +10 -10
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.15.1/json/ext/generator.so +0 -0
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.15.1/json/ext/parser.so +0 -0
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{json-2.13.0 → json-2.15.1}/mkmf.log +11 -10
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/.github/workflows/ruby.yml +2 -2
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/CHANGELOG.md +0 -3
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/README.md +0 -23
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/classes.rb +2 -12
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/options.rb +3 -4
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/callbacks.rb +1 -2
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/informations.rb +0 -3
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/response_callbacks.rb +1 -6
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/version.rb +1 -1
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/callbacks_spec.rb +0 -22
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/informations_spec.rb +0 -6
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/mirror_spec.rb +1 -1
- data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/operations_spec.rb +0 -3
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/CHANGES.md +50 -9
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/README.md +3 -1
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/fbuffer/fbuffer.h +31 -5
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/generator/generator.c +134 -104
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/parser/parser.c +58 -8
- data/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/ext/json/ext/simd/conf.rb +24 -0
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/simd/simd.h +47 -46
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/vendor/fpconv.c +12 -11
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/core.rb +1 -0
- data/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/lib/json/add/string.rb +35 -0
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/common.rb +49 -23
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/ext/generator/state.rb +7 -14
- data/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/lib/json/ext/generator.so +0 -0
- data/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/lib/json/ext/parser.so +0 -0
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/generic_object.rb +0 -8
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/truffle_ruby/generator.rb +63 -45
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/version.rb +1 -1
- data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json.rb +23 -1
- data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/CHANGELOG.md +43 -1
- data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/expectation.rb +4 -2
- data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/responseable.rb +1 -1
- data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/version.rb +1 -1
- data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/typhoeus.gemspec +14 -4
- data/vendor/bundle/ruby/3.3.0/specifications/{ethon-0.16.0.gemspec → ethon-0.15.0.gemspec} +3 -3
- data/vendor/bundle/ruby/3.3.0/specifications/{json-2.13.0.gemspec → json-2.15.1.gemspec} +0 -0
- data/vendor/bundle/ruby/3.3.0/specifications/{typhoeus-1.4.1.gemspec → typhoeus-1.5.0.gemspec} +7 -5
- metadata +205 -252
- data/vendor/bundle/ruby/3.3.0/cache/ethon-0.16.0.gem +0 -0
- data/vendor/bundle/ruby/3.3.0/cache/json-2.13.0.gem +0 -0
- data/vendor/bundle/ruby/3.3.0/cache/typhoeus-1.4.1.gem +0 -0
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.13.0/json/ext/generator.so +0 -0
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.13.0/json/ext/parser.so +0 -0
- data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/simd/conf.rb +0 -20
- data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/ext/generator.so +0 -0
- data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/ext/parser.so +0 -0
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/ci.yml +0 -30
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/experimental.yml +0 -33
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.gitignore +0 -8
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.rspec +0 -4
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Gemfile +0 -36
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Guardfile +0 -9
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Rakefile +0 -38
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/profile.rb +0 -14
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/vs_nethttp.rb +0 -64
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +0 -156
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder_spec.rb +0 -31
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/spec_helper.rb +0 -29
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/localhost_server.rb +0 -94
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/memory_cache.rb +0 -15
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/server.rb +0 -116
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/adapters/faraday_spec.rb +0 -339
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/dalli_spec.rb +0 -41
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/redis_spec.rb +0 -41
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/config_spec.rb +0 -15
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/easy_factory_spec.rb +0 -143
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/errors/no_stub_spec.rb +0 -13
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/expectation_spec.rb +0 -280
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/addable_spec.rb +0 -22
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/before_spec.rb +0 -98
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/block_connection_spec.rb +0 -18
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/cacheable_spec.rb +0 -88
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/memoizable_spec.rb +0 -53
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/queueable_spec.rb +0 -98
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/runnable_spec.rb +0 -137
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/stubbable_spec.rb +0 -48
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra_spec.rb +0 -22
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/pool_spec.rb +0 -137
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/actions_spec.rb +0 -19
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/before_spec.rb +0 -93
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/block_connection_spec.rb +0 -75
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/cacheable_spec.rb +0 -94
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/callbacks_spec.rb +0 -91
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/marshal_spec.rb +0 -60
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/memoizable_spec.rb +0 -34
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/operations_spec.rb +0 -101
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/responseable_spec.rb +0 -13
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/stubbable_spec.rb +0 -45
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request_spec.rb +0 -256
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/header_spec.rb +0 -147
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/informations_spec.rb +0 -323
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/status_spec.rb +0 -256
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response_spec.rb +0 -100
- data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus_spec.rb +0 -105
- /data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/{json-2.13.0 → json-2.15.1}/gem.build_complete +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/.gitignore +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/.rspec +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/Gemfile +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/Guardfile +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/LICENSE +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/Rakefile +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/ethon.gemspec +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curl.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/codes.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/constants.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/form_options.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/functions.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/infos.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/messages.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/settings.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/debug_info.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/features.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/form.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/header.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/actionable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/custom.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/delete.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/get.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/head.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/options.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/patch.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/post.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/postable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/put.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/putable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/mirror.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/operations.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/options.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/params.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/queryable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/util.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/ethon_error.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/global_init.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/invalid_option.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/invalid_value.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/multi_add.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/multi_fdset.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/multi_remove.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/multi_timeout.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/select.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/libc.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/loggable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/multi/operations.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/multi/options.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/multi/stack.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/multi.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/profile/benchmarks.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/profile/memory_leaks.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/profile/perf_spec_helper.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/profile/support/memory_test_helpers.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/profile/support/os_memory_leak_tracker.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/profile/support/ruby_object_leak_tracker.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/curl_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/debug_info_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/features_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/form_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/header_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/http/custom_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/http/delete_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/http/get_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/http/head_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/http/options_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/http/patch_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/http/post_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/http/put_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/http_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/options_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/queryable_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/response_callbacks_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/util_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/libc_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/loggable_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/multi/operations_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/multi/options_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/multi/stack_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/multi_spec.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/spec_helper.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/support/localhost_server.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/support/server.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/BSDL +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/COPYING +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/LEGAL +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/generator/Makefile +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/generator/extconf.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/parser/Makefile +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/parser/extconf.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/vendor/jeaiii-ltoa.h +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/json.gemspec +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/bigdecimal.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/complex.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/date.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/date_time.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/exception.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/ostruct.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/range.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/rational.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/regexp.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/set.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/struct.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/symbol.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/time.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/ext.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/CONTRIBUTING.md +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/LICENSE +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/README.md +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/UPGRADE.md +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/rack/typhoeus/middleware/params_decoder.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/rack/typhoeus.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/adapters/faraday.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/dalli.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/rails.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/redis.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/config.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/easy_factory.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors/no_stub.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors/typhoeus_error.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/addable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/before.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/block_connection.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/cacheable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/memoizable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/queueable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/runnable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/stubbable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/pool.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/railtie.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/actions.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/before.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/block_connection.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/cacheable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/callbacks.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/marshal.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/memoizable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/operations.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/streamable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/stubbable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/cacheable.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/header.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/informations.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/status.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response.rb +0 -0
- /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus.rb +0 -0
@@ -7,45 +7,45 @@ typedef enum {
|
|
7
7
|
#ifdef JSON_ENABLE_SIMD
|
8
8
|
|
9
9
|
#ifdef __clang__
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
# if __has_builtin(__builtin_ctzll)
|
11
|
+
# define HAVE_BUILTIN_CTZLL 1
|
12
|
+
# else
|
13
|
+
# define HAVE_BUILTIN_CTZLL 0
|
14
|
+
# endif
|
15
15
|
#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
|
16
|
-
|
16
|
+
# define HAVE_BUILTIN_CTZLL 1
|
17
17
|
#else
|
18
|
-
|
18
|
+
# define HAVE_BUILTIN_CTZLL 0
|
19
19
|
#endif
|
20
20
|
|
21
21
|
static inline uint32_t trailing_zeros64(uint64_t input)
|
22
22
|
{
|
23
23
|
#if HAVE_BUILTIN_CTZLL
|
24
|
-
|
24
|
+
return __builtin_ctzll(input);
|
25
25
|
#else
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
26
|
+
uint32_t trailing_zeros = 0;
|
27
|
+
uint64_t temp = input;
|
28
|
+
while ((temp & 1) == 0 && temp > 0) {
|
29
|
+
trailing_zeros++;
|
30
|
+
temp >>= 1;
|
31
|
+
}
|
32
|
+
return trailing_zeros;
|
33
33
|
#endif
|
34
34
|
}
|
35
35
|
|
36
36
|
static inline int trailing_zeros(int input)
|
37
37
|
{
|
38
|
-
|
38
|
+
#if HAVE_BUILTIN_CTZLL
|
39
39
|
return __builtin_ctz(input);
|
40
|
-
|
40
|
+
#else
|
41
41
|
int trailing_zeros = 0;
|
42
42
|
int temp = input;
|
43
43
|
while ((temp & 1) == 0 && temp > 0) {
|
44
|
-
|
45
|
-
|
44
|
+
trailing_zeros++;
|
45
|
+
temp >>= 1;
|
46
46
|
}
|
47
47
|
return trailing_zeros;
|
48
|
-
|
48
|
+
#endif
|
49
49
|
}
|
50
50
|
|
51
51
|
#if (defined(__GNUC__ ) || defined(__clang__))
|
@@ -79,37 +79,38 @@ static inline FORCE_INLINE uint64_t neon_match_mask(uint8x16_t matches)
|
|
79
79
|
|
80
80
|
static inline FORCE_INLINE uint64_t compute_chunk_mask_neon(const char *ptr)
|
81
81
|
{
|
82
|
-
|
82
|
+
uint8x16_t chunk = vld1q_u8((const unsigned char *)ptr);
|
83
83
|
|
84
|
-
|
85
|
-
|
86
|
-
|
84
|
+
// Trick: c < 32 || c == 34 can be factored as c ^ 2 < 33
|
85
|
+
// https://lemire.me/blog/2025/04/13/detect-control-characters-quotes-and-backslashes-efficiently-using-swar/
|
86
|
+
const uint8x16_t too_low_or_dbl_quote = vcltq_u8(veorq_u8(chunk, vdupq_n_u8(2)), vdupq_n_u8(33));
|
87
87
|
|
88
|
-
|
89
|
-
|
90
|
-
|
88
|
+
uint8x16_t has_backslash = vceqq_u8(chunk, vdupq_n_u8('\\'));
|
89
|
+
uint8x16_t needs_escape = vorrq_u8(too_low_or_dbl_quote, has_backslash);
|
90
|
+
return neon_match_mask(needs_escape);
|
91
91
|
}
|
92
92
|
|
93
93
|
static inline FORCE_INLINE int string_scan_simd_neon(const char **ptr, const char *end, uint64_t *mask)
|
94
94
|
{
|
95
95
|
while (*ptr + sizeof(uint8x16_t) <= end) {
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
96
|
+
uint64_t chunk_mask = compute_chunk_mask_neon(*ptr);
|
97
|
+
if (chunk_mask) {
|
98
|
+
*mask = chunk_mask;
|
99
|
+
return 1;
|
100
|
+
}
|
101
|
+
*ptr += sizeof(uint8x16_t);
|
102
102
|
}
|
103
103
|
return 0;
|
104
104
|
}
|
105
105
|
|
106
|
-
uint8x16x4_t load_uint8x16_4(const unsigned char *table)
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
106
|
+
static inline uint8x16x4_t load_uint8x16_4(const unsigned char *table)
|
107
|
+
{
|
108
|
+
uint8x16x4_t tab;
|
109
|
+
tab.val[0] = vld1q_u8(table);
|
110
|
+
tab.val[1] = vld1q_u8(table+16);
|
111
|
+
tab.val[2] = vld1q_u8(table+32);
|
112
|
+
tab.val[3] = vld1q_u8(table+48);
|
113
|
+
return tab;
|
113
114
|
}
|
114
115
|
|
115
116
|
#endif /* ARM Neon Support.*/
|
@@ -150,12 +151,12 @@ static inline TARGET_SSE2 FORCE_INLINE int compute_chunk_mask_sse2(const char *p
|
|
150
151
|
static inline TARGET_SSE2 FORCE_INLINE int string_scan_simd_sse2(const char **ptr, const char *end, int *mask)
|
151
152
|
{
|
152
153
|
while (*ptr + sizeof(__m128i) <= end) {
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
154
|
+
int chunk_mask = compute_chunk_mask_sse2(*ptr);
|
155
|
+
if (chunk_mask) {
|
156
|
+
*mask = chunk_mask;
|
157
|
+
return 1;
|
158
|
+
}
|
159
|
+
*ptr += sizeof(__m128i);
|
159
160
|
}
|
160
161
|
|
161
162
|
return 0;
|
@@ -29,6 +29,10 @@
|
|
29
29
|
#include <string.h>
|
30
30
|
#include <stdint.h>
|
31
31
|
|
32
|
+
#ifdef JSON_DEBUG
|
33
|
+
#include <assert.h>
|
34
|
+
#endif
|
35
|
+
|
32
36
|
#define npowers 87
|
33
37
|
#define steppowers 8
|
34
38
|
#define firstpower -348 /* 10 ^ -348 */
|
@@ -320,15 +324,7 @@ static int emit_digits(char* digits, int ndigits, char* dest, int K, bool neg)
|
|
320
324
|
{
|
321
325
|
int exp = absv(K + ndigits - 1);
|
322
326
|
|
323
|
-
|
324
|
-
|
325
|
-
if(neg) {
|
326
|
-
max_trailing_zeros -= 1;
|
327
|
-
}
|
328
|
-
|
329
|
-
/* write plain integer */
|
330
|
-
if(K >= 0 && (exp < (ndigits + max_trailing_zeros))) {
|
331
|
-
|
327
|
+
if(K >= 0 && exp < 15) {
|
332
328
|
memcpy(dest, digits, ndigits);
|
333
329
|
memset(dest + ndigits, '0', K);
|
334
330
|
|
@@ -432,10 +428,12 @@ static int filter_special(double fp, char* dest)
|
|
432
428
|
*
|
433
429
|
* Input:
|
434
430
|
* fp -> the double to convert, dest -> destination buffer.
|
435
|
-
* The generated string will never be longer than
|
436
|
-
* Make sure to pass a pointer to at least
|
431
|
+
* The generated string will never be longer than 32 characters.
|
432
|
+
* Make sure to pass a pointer to at least 32 bytes of memory.
|
437
433
|
* The emitted string will not be null terminated.
|
438
434
|
*
|
435
|
+
*
|
436
|
+
*
|
439
437
|
* Output:
|
440
438
|
* The number of written characters.
|
441
439
|
*
|
@@ -474,6 +472,9 @@ static int fpconv_dtoa(double d, char dest[28])
|
|
474
472
|
int ndigits = grisu2(d, digits, &K);
|
475
473
|
|
476
474
|
str_len += emit_digits(digits, ndigits, dest + str_len, K, neg);
|
475
|
+
#ifdef JSON_DEBUG
|
476
|
+
assert(str_len <= 32);
|
477
|
+
#endif
|
477
478
|
|
478
479
|
return str_len;
|
479
480
|
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
unless defined?(::JSON::JSON_LOADED) and ::JSON::JSON_LOADED
|
3
|
+
require 'json'
|
4
|
+
end
|
5
|
+
|
6
|
+
class String
|
7
|
+
# call-seq: json_create(o)
|
8
|
+
#
|
9
|
+
# Raw Strings are JSON Objects (the raw bytes are stored in an array for the
|
10
|
+
# key "raw"). The Ruby String can be created by this class method.
|
11
|
+
def self.json_create(object)
|
12
|
+
object["raw"].pack("C*")
|
13
|
+
end
|
14
|
+
|
15
|
+
# call-seq: to_json_raw_object()
|
16
|
+
#
|
17
|
+
# This method creates a raw object hash, that can be nested into
|
18
|
+
# other data structures and will be generated as a raw string. This
|
19
|
+
# method should be used, if you want to convert raw strings to JSON
|
20
|
+
# instead of UTF-8 strings, e. g. binary data.
|
21
|
+
def to_json_raw_object
|
22
|
+
{
|
23
|
+
JSON.create_id => self.class.name,
|
24
|
+
"raw" => unpack("C*"),
|
25
|
+
}
|
26
|
+
end
|
27
|
+
|
28
|
+
# call-seq: to_json_raw(*args)
|
29
|
+
#
|
30
|
+
# This method creates a JSON text from the result of a call to
|
31
|
+
# to_json_raw_object of this String.
|
32
|
+
def to_json_raw(...)
|
33
|
+
to_json_raw_object.to_json(...)
|
34
|
+
end
|
35
|
+
end
|
@@ -48,7 +48,7 @@ module JSON
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
# TODO:
|
51
|
+
# TODO: extract :create_additions support to another gem for version 3.0
|
52
52
|
def create_additions_proc(opts)
|
53
53
|
if opts[:symbolize_names]
|
54
54
|
raise ArgumentError, "options :symbolize_names and :create_additions cannot be used in conjunction"
|
@@ -73,7 +73,7 @@ module JSON
|
|
73
73
|
if opts[:create_additions] != false
|
74
74
|
if class_name = object[JSON.create_id]
|
75
75
|
klass = JSON.deep_const_get(class_name)
|
76
|
-
if
|
76
|
+
if klass.respond_to?(:json_creatable?) ? klass.json_creatable? : klass.respond_to?(:json_create)
|
77
77
|
create_additions_warning if create_additions.nil?
|
78
78
|
object = klass.json_create(object)
|
79
79
|
end
|
@@ -87,31 +87,32 @@ module JSON
|
|
87
87
|
opts
|
88
88
|
end
|
89
89
|
|
90
|
-
GEM_ROOT = File.expand_path("../../../", __FILE__) + "/"
|
91
90
|
def create_additions_warning
|
92
|
-
|
91
|
+
JSON.deprecation_warning "JSON.load implicit support for `create_additions: true` is deprecated " \
|
93
92
|
"and will be removed in 3.0, use JSON.unsafe_load or explicitly " \
|
94
93
|
"pass `create_additions: true`"
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
95
97
|
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
if RUBY_VERSION >= "3.0"
|
106
|
-
warn(message, uplevel: uplevel - 1, category: :deprecated)
|
98
|
+
class << self
|
99
|
+
def deprecation_warning(message, uplevel = 3) # :nodoc:
|
100
|
+
gem_root = File.expand_path("..", __dir__) + "/"
|
101
|
+
caller_locations(uplevel, 10).each do |frame|
|
102
|
+
if frame.path.nil? || frame.path.start_with?(gem_root) || frame.path.end_with?("/truffle/cext_ruby.rb", ".c")
|
103
|
+
uplevel += 1
|
107
104
|
else
|
108
|
-
|
105
|
+
break
|
109
106
|
end
|
110
107
|
end
|
108
|
+
|
109
|
+
if RUBY_VERSION >= "3.0"
|
110
|
+
warn(message, uplevel: uplevel, category: :deprecated)
|
111
|
+
else
|
112
|
+
warn(message, uplevel: uplevel)
|
113
|
+
end
|
111
114
|
end
|
112
|
-
end
|
113
115
|
|
114
|
-
class << self
|
115
116
|
# :call-seq:
|
116
117
|
# JSON[object] -> new_array or new_string
|
117
118
|
#
|
@@ -185,6 +186,25 @@ module JSON
|
|
185
186
|
|
186
187
|
private
|
187
188
|
|
189
|
+
# Called from the extension when a hash has both string and symbol keys
|
190
|
+
def on_mixed_keys_hash(hash, do_raise)
|
191
|
+
set = {}
|
192
|
+
hash.each_key do |key|
|
193
|
+
key_str = key.to_s
|
194
|
+
|
195
|
+
if set[key_str]
|
196
|
+
message = "detected duplicate key #{key_str.inspect} in #{hash.inspect}"
|
197
|
+
if do_raise
|
198
|
+
raise GeneratorError, message
|
199
|
+
else
|
200
|
+
deprecation_warning("#{message}.\nThis will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`")
|
201
|
+
end
|
202
|
+
else
|
203
|
+
set[key_str] = true
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
188
208
|
def deprecated_singleton_attr_accessor(*attrs)
|
189
209
|
args = RUBY_VERSION >= "3.0" ? ", category: :deprecated" : ""
|
190
210
|
attrs.each do |attr|
|
@@ -390,7 +410,7 @@ module JSON
|
|
390
410
|
#
|
391
411
|
# Returns a \String containing the generated \JSON data.
|
392
412
|
#
|
393
|
-
# See also JSON.
|
413
|
+
# See also JSON.pretty_generate.
|
394
414
|
#
|
395
415
|
# Argument +obj+ is the Ruby object to be converted to \JSON.
|
396
416
|
#
|
@@ -642,6 +662,7 @@ module JSON
|
|
642
662
|
# when Array
|
643
663
|
# obj.map! {|v| deserialize_obj v }
|
644
664
|
# end
|
665
|
+
# obj
|
645
666
|
# })
|
646
667
|
# pp ruby
|
647
668
|
# Output:
|
@@ -683,9 +704,13 @@ module JSON
|
|
683
704
|
if opts[:allow_blank] && (source.nil? || source.empty?)
|
684
705
|
source = 'null'
|
685
706
|
end
|
686
|
-
|
687
|
-
|
688
|
-
|
707
|
+
|
708
|
+
if proc
|
709
|
+
opts = opts.dup
|
710
|
+
opts[:on_load] = proc.to_proc
|
711
|
+
end
|
712
|
+
|
713
|
+
parse(source, opts)
|
689
714
|
end
|
690
715
|
|
691
716
|
# :call-seq:
|
@@ -802,6 +827,7 @@ module JSON
|
|
802
827
|
# when Array
|
803
828
|
# obj.map! {|v| deserialize_obj v }
|
804
829
|
# end
|
830
|
+
# obj
|
805
831
|
# })
|
806
832
|
# pp ruby
|
807
833
|
# Output:
|
@@ -1001,7 +1027,7 @@ module JSON
|
|
1001
1027
|
# See {Parsing Options}[#module-JSON-label-Parsing+Options], and {Generating Options}[#module-JSON-label-Generating+Options].
|
1002
1028
|
#
|
1003
1029
|
# For generation, the <tt>strict: true</tt> option is always set. When a Ruby object with no native \JSON counterpart is
|
1004
|
-
#
|
1030
|
+
# encountered, the block provided to the initialize method is invoked, and must return a Ruby object that has a native
|
1005
1031
|
# \JSON counterpart:
|
1006
1032
|
#
|
1007
1033
|
# module MyApp
|
data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/ext/generator/state.rb
RENAMED
@@ -8,20 +8,8 @@ module JSON
|
|
8
8
|
#
|
9
9
|
# Instantiates a new State object, configured by _opts_.
|
10
10
|
#
|
11
|
-
#
|
12
|
-
#
|
13
|
-
# * *indent*: a string used to indent levels (default: ''),
|
14
|
-
# * *space*: a string that is put after, a : or , delimiter (default: ''),
|
15
|
-
# * *space_before*: a string that is put before a : pair delimiter (default: ''),
|
16
|
-
# * *object_nl*: a string that is put at the end of a JSON object (default: ''),
|
17
|
-
# * *array_nl*: a string that is put at the end of a JSON array (default: ''),
|
18
|
-
# * *allow_nan*: true if NaN, Infinity, and -Infinity should be
|
19
|
-
# generated, otherwise an exception is thrown, if these values are
|
20
|
-
# encountered. This options defaults to false.
|
21
|
-
# * *ascii_only*: true if only ASCII characters should be generated. This
|
22
|
-
# option defaults to false.
|
23
|
-
# * *buffer_initial_length*: sets the initial length of the generator's
|
24
|
-
# internal buffer.
|
11
|
+
# Argument +opts+, if given, contains a \Hash of options for the generation.
|
12
|
+
# See {Generating Options}[#module-JSON-label-Generating+Options].
|
25
13
|
def initialize(opts = nil)
|
26
14
|
if opts && !opts.empty?
|
27
15
|
configure(opts)
|
@@ -68,6 +56,11 @@ module JSON
|
|
68
56
|
buffer_initial_length: buffer_initial_length,
|
69
57
|
}
|
70
58
|
|
59
|
+
allow_duplicate_key = allow_duplicate_key?
|
60
|
+
unless allow_duplicate_key.nil?
|
61
|
+
result[:allow_duplicate_key] = allow_duplicate_key
|
62
|
+
end
|
63
|
+
|
71
64
|
instance_variables.each do |iv|
|
72
65
|
iv = iv.to_s[1..-1]
|
73
66
|
result[iv.to_sym] = self[iv]
|
Binary file
|
Binary file
|
@@ -52,14 +52,6 @@ module JSON
|
|
52
52
|
table
|
53
53
|
end
|
54
54
|
|
55
|
-
def [](name)
|
56
|
-
__send__(name)
|
57
|
-
end unless method_defined?(:[])
|
58
|
-
|
59
|
-
def []=(name, value)
|
60
|
-
__send__("#{name}=", value)
|
61
|
-
end unless method_defined?(:[]=)
|
62
|
-
|
63
55
|
def |(other)
|
64
56
|
self.class[other.to_hash.merge(to_hash)]
|
65
57
|
end
|
data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/truffle_ruby/generator.rb
RENAMED
@@ -47,6 +47,14 @@ module JSON
|
|
47
47
|
|
48
48
|
SCRIPT_SAFE_ESCAPE_PATTERN = /[\/"\\\x0-\x1f\u2028-\u2029]/
|
49
49
|
|
50
|
+
def self.native_type?(value) # :nodoc:
|
51
|
+
(false == value || true == value || nil == value || String === value || Array === value || Hash === value || Integer === value || Float === value || Fragment === value)
|
52
|
+
end
|
53
|
+
|
54
|
+
def self.native_key?(key) # :nodoc:
|
55
|
+
(Symbol === key || String === key)
|
56
|
+
end
|
57
|
+
|
50
58
|
# Convert a UTF8 encoded Ruby string _string_ to a JSON string, encoded with
|
51
59
|
# UTF16 big endian characters as \u????, and return it.
|
52
60
|
def self.utf8_to_json(string, script_safe = false) # :nodoc:
|
@@ -271,6 +279,12 @@ module JSON
|
|
271
279
|
false
|
272
280
|
end
|
273
281
|
|
282
|
+
if opts.key?(:allow_duplicate_key)
|
283
|
+
@allow_duplicate_key = !!opts[:allow_duplicate_key]
|
284
|
+
else
|
285
|
+
@allow_duplicate_key = nil # nil is deprecation
|
286
|
+
end
|
287
|
+
|
274
288
|
@strict = !!opts[:strict] if opts.key?(:strict)
|
275
289
|
|
276
290
|
if !opts.key?(:max_nesting) # defaults to 100
|
@@ -284,6 +298,10 @@ module JSON
|
|
284
298
|
end
|
285
299
|
alias merge configure
|
286
300
|
|
301
|
+
def allow_duplicate_key? # :nodoc:
|
302
|
+
@allow_duplicate_key
|
303
|
+
end
|
304
|
+
|
287
305
|
# Returns the configuration instance variables as a hash, that can be
|
288
306
|
# passed to the configure method.
|
289
307
|
def to_h
|
@@ -292,6 +310,11 @@ module JSON
|
|
292
310
|
iv = iv.to_s[1..-1]
|
293
311
|
result[iv.to_sym] = self[iv]
|
294
312
|
end
|
313
|
+
|
314
|
+
if result[:allow_duplicate_key].nil?
|
315
|
+
result.delete(:allow_duplicate_key)
|
316
|
+
end
|
317
|
+
|
295
318
|
result
|
296
319
|
end
|
297
320
|
|
@@ -330,8 +353,17 @@ module JSON
|
|
330
353
|
when Hash
|
331
354
|
buf << '{'
|
332
355
|
first = true
|
356
|
+
key_type = nil
|
333
357
|
obj.each_pair do |k,v|
|
334
|
-
|
358
|
+
if first
|
359
|
+
key_type = k.class
|
360
|
+
else
|
361
|
+
if key_type && !@allow_duplicate_key && key_type != k.class
|
362
|
+
key_type = nil # stop checking
|
363
|
+
JSON.send(:on_mixed_keys_hash, obj, !@allow_duplicate_key.nil?)
|
364
|
+
end
|
365
|
+
buf << ','
|
366
|
+
end
|
335
367
|
|
336
368
|
key_str = k.to_s
|
337
369
|
if key_str.class == String
|
@@ -424,10 +456,10 @@ module JSON
|
|
424
456
|
state = State.from_state(state) if state
|
425
457
|
if state&.strict?
|
426
458
|
value = self
|
427
|
-
if state.strict? && !(
|
459
|
+
if state.strict? && !Generator.native_type?(value)
|
428
460
|
if state.as_json
|
429
|
-
value = state.as_json.call(value)
|
430
|
-
unless
|
461
|
+
value = state.as_json.call(value, false)
|
462
|
+
unless Generator.native_type?(value)
|
431
463
|
raise GeneratorError.new("#{value.class} returned by #{state.as_json} not allowed in JSON", value)
|
432
464
|
end
|
433
465
|
value.to_json(state)
|
@@ -471,11 +503,30 @@ module JSON
|
|
471
503
|
delim = ",#{state.object_nl}"
|
472
504
|
result = +"{#{state.object_nl}"
|
473
505
|
first = true
|
506
|
+
key_type = nil
|
474
507
|
indent = !state.object_nl.empty?
|
475
508
|
each { |key, value|
|
476
|
-
|
509
|
+
if first
|
510
|
+
key_type = key.class
|
511
|
+
else
|
512
|
+
if key_type && !state.allow_duplicate_key? && key_type != key.class
|
513
|
+
key_type = nil # stop checking
|
514
|
+
JSON.send(:on_mixed_keys_hash, self, state.allow_duplicate_key? == false)
|
515
|
+
end
|
516
|
+
result << delim
|
517
|
+
end
|
477
518
|
result << state.indent * depth if indent
|
478
519
|
|
520
|
+
if state.strict? && !Generator.native_key?(key)
|
521
|
+
if state.as_json
|
522
|
+
key = state.as_json.call(key, true)
|
523
|
+
end
|
524
|
+
|
525
|
+
unless Generator.native_key?(key)
|
526
|
+
raise GeneratorError.new("#{key.class} not allowed as object key in JSON", value)
|
527
|
+
end
|
528
|
+
end
|
529
|
+
|
479
530
|
key_str = key.to_s
|
480
531
|
if key_str.is_a?(String)
|
481
532
|
key_json = key_str.to_json(state)
|
@@ -484,10 +535,10 @@ module JSON
|
|
484
535
|
end
|
485
536
|
|
486
537
|
result = +"#{result}#{key_json}#{state.space_before}:#{state.space}"
|
487
|
-
if state.strict? && !(
|
538
|
+
if state.strict? && !Generator.native_type?(value)
|
488
539
|
if state.as_json
|
489
|
-
value = state.as_json.call(value)
|
490
|
-
unless
|
540
|
+
value = state.as_json.call(value, false)
|
541
|
+
unless Generator.native_type?(value)
|
491
542
|
raise GeneratorError.new("#{value.class} returned by #{state.as_json} not allowed in JSON", value)
|
492
543
|
end
|
493
544
|
result << value.to_json(state)
|
@@ -545,10 +596,10 @@ module JSON
|
|
545
596
|
each { |value|
|
546
597
|
result << delim unless first
|
547
598
|
result << state.indent * depth if indent
|
548
|
-
if state.strict? && !(
|
599
|
+
if state.strict? && !Generator.native_type?(value)
|
549
600
|
if state.as_json
|
550
|
-
value = state.as_json.call(value)
|
551
|
-
unless
|
601
|
+
value = state.as_json.call(value, false)
|
602
|
+
unless Generator.native_type?(value)
|
552
603
|
raise GeneratorError.new("#{value.class} returned by #{state.as_json} not allowed in JSON", value)
|
553
604
|
end
|
554
605
|
result << value.to_json(state)
|
@@ -582,7 +633,7 @@ module JSON
|
|
582
633
|
if state.allow_nan?
|
583
634
|
to_s
|
584
635
|
elsif state.strict? && state.as_json
|
585
|
-
casted_value = state.as_json.call(self)
|
636
|
+
casted_value = state.as_json.call(self, false)
|
586
637
|
|
587
638
|
if casted_value.equal?(self)
|
588
639
|
raise GeneratorError.new("#{self} not allowed in JSON", self)
|
@@ -635,39 +686,6 @@ module JSON
|
|
635
686
|
rescue Encoding::UndefinedConversionError => error
|
636
687
|
raise ::JSON::GeneratorError.new(error.message, self)
|
637
688
|
end
|
638
|
-
|
639
|
-
# Module that holds the extending methods if, the String module is
|
640
|
-
# included.
|
641
|
-
module Extend
|
642
|
-
# Raw Strings are JSON Objects (the raw bytes are stored in an
|
643
|
-
# array for the key "raw"). The Ruby String can be created by this
|
644
|
-
# module method.
|
645
|
-
def json_create(o)
|
646
|
-
o['raw'].pack('C*')
|
647
|
-
end
|
648
|
-
end
|
649
|
-
|
650
|
-
# Extends _modul_ with the String::Extend module.
|
651
|
-
def self.included(modul)
|
652
|
-
modul.extend Extend
|
653
|
-
end
|
654
|
-
|
655
|
-
# This method creates a raw object hash, that can be nested into
|
656
|
-
# other data structures and will be unparsed as a raw string. This
|
657
|
-
# method should be used, if you want to convert raw strings to JSON
|
658
|
-
# instead of UTF-8 strings, e. g. binary data.
|
659
|
-
def to_json_raw_object
|
660
|
-
{
|
661
|
-
JSON.create_id => self.class.name,
|
662
|
-
'raw' => self.unpack('C*'),
|
663
|
-
}
|
664
|
-
end
|
665
|
-
|
666
|
-
# This method creates a JSON text from the result of
|
667
|
-
# a call to to_json_raw_object of this String.
|
668
|
-
def to_json_raw(*args)
|
669
|
-
to_json_raw_object.to_json(*args)
|
670
|
-
end
|
671
689
|
end
|
672
690
|
|
673
691
|
module TrueClass
|