vrpayment-ruby-sdk 5.1.0 → 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.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/lib/vrpayment-ruby-sdk/api/charge_flow_service_api.rb +1 -1
  4. data/lib/vrpayment-ruby-sdk/api/human_user_service_api.rb +1 -1
  5. data/lib/vrpayment-ruby-sdk/api/subscription_suspension_service_api.rb +8 -18
  6. data/lib/vrpayment-ruby-sdk/api/transaction_iframe_service_api.rb +1 -1
  7. data/lib/vrpayment-ruby-sdk/api/transaction_lightbox_service_api.rb +1 -1
  8. data/lib/vrpayment-ruby-sdk/api/transaction_mobile_sdk_service_api.rb +1 -1
  9. data/lib/vrpayment-ruby-sdk/api/transaction_payment_page_service_api.rb +1 -1
  10. data/lib/vrpayment-ruby-sdk/api/transaction_service_api.rb +1 -1
  11. data/lib/vrpayment-ruby-sdk/api_client.rb +1 -1
  12. data/lib/vrpayment-ruby-sdk/models/abstract_payment_link_update.rb +13 -1
  13. data/lib/vrpayment-ruby-sdk/models/pan_type.rb +1 -0
  14. data/lib/vrpayment-ruby-sdk/models/payment_link.rb +13 -1
  15. data/lib/vrpayment-ruby-sdk/models/payment_link_active.rb +13 -1
  16. data/lib/vrpayment-ruby-sdk/models/payment_link_create.rb +13 -1
  17. data/lib/vrpayment-ruby-sdk/models/payment_link_update.rb +13 -1
  18. data/lib/vrpayment-ruby-sdk/models/scope.rb +51 -1
  19. data/lib/vrpayment-ruby-sdk/models/wallet_type.rb +34 -4
  20. data/lib/vrpayment-ruby-sdk/version.rb +1 -1
  21. data/vendor/bundle/ruby/3.3.0/cache/ethon-0.15.0.gem +0 -0
  22. data/vendor/bundle/ruby/3.3.0/cache/json-2.15.1.gem +0 -0
  23. data/vendor/bundle/ruby/3.3.0/cache/typhoeus-1.5.0.gem +0 -0
  24. 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
  25. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.15.1/json/ext/generator.so +0 -0
  26. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.15.1/json/ext/parser.so +0 -0
  27. 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
  28. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/.github/workflows/ruby.yml +2 -2
  29. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/CHANGELOG.md +0 -3
  30. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/README.md +0 -23
  31. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/classes.rb +2 -12
  32. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/options.rb +3 -4
  33. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/callbacks.rb +1 -2
  34. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/informations.rb +0 -3
  35. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/response_callbacks.rb +1 -6
  36. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/version.rb +1 -1
  37. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/callbacks_spec.rb +0 -22
  38. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/informations_spec.rb +0 -6
  39. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/mirror_spec.rb +1 -1
  40. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/operations_spec.rb +0 -3
  41. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/CHANGES.md +50 -9
  42. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/README.md +3 -1
  43. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/fbuffer/fbuffer.h +31 -5
  44. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/generator/generator.c +134 -104
  45. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/parser/parser.c +58 -8
  46. data/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/ext/json/ext/simd/conf.rb +24 -0
  47. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/simd/simd.h +47 -46
  48. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/vendor/fpconv.c +12 -11
  49. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/core.rb +1 -0
  50. data/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/lib/json/add/string.rb +35 -0
  51. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/common.rb +49 -23
  52. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/ext/generator/state.rb +7 -14
  53. data/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/lib/json/ext/generator.so +0 -0
  54. data/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/lib/json/ext/parser.so +0 -0
  55. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/generic_object.rb +0 -8
  56. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/truffle_ruby/generator.rb +63 -45
  57. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/version.rb +1 -1
  58. data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json.rb +23 -1
  59. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/CHANGELOG.md +43 -1
  60. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/expectation.rb +4 -2
  61. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/responseable.rb +1 -1
  62. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/version.rb +1 -1
  63. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/typhoeus.gemspec +14 -4
  64. data/vendor/bundle/ruby/3.3.0/specifications/{ethon-0.16.0.gemspec → ethon-0.15.0.gemspec} +3 -3
  65. data/vendor/bundle/ruby/3.3.0/specifications/{json-2.13.0.gemspec → json-2.15.1.gemspec} +0 -0
  66. data/vendor/bundle/ruby/3.3.0/specifications/{typhoeus-1.4.1.gemspec → typhoeus-1.5.0.gemspec} +7 -5
  67. metadata +205 -252
  68. data/vendor/bundle/ruby/3.3.0/cache/ethon-0.16.0.gem +0 -0
  69. data/vendor/bundle/ruby/3.3.0/cache/json-2.13.0.gem +0 -0
  70. data/vendor/bundle/ruby/3.3.0/cache/typhoeus-1.4.1.gem +0 -0
  71. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.13.0/json/ext/generator.so +0 -0
  72. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.13.0/json/ext/parser.so +0 -0
  73. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/simd/conf.rb +0 -20
  74. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/ext/generator.so +0 -0
  75. data/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/lib/json/ext/parser.so +0 -0
  76. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/ci.yml +0 -30
  77. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/experimental.yml +0 -33
  78. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.gitignore +0 -8
  79. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.rspec +0 -4
  80. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Gemfile +0 -36
  81. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Guardfile +0 -9
  82. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Rakefile +0 -38
  83. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/profile.rb +0 -14
  84. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/vs_nethttp.rb +0 -64
  85. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +0 -156
  86. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder_spec.rb +0 -31
  87. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/spec_helper.rb +0 -29
  88. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/localhost_server.rb +0 -94
  89. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/memory_cache.rb +0 -15
  90. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/server.rb +0 -116
  91. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/adapters/faraday_spec.rb +0 -339
  92. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/dalli_spec.rb +0 -41
  93. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/redis_spec.rb +0 -41
  94. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/config_spec.rb +0 -15
  95. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/easy_factory_spec.rb +0 -143
  96. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/errors/no_stub_spec.rb +0 -13
  97. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/expectation_spec.rb +0 -280
  98. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/addable_spec.rb +0 -22
  99. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/before_spec.rb +0 -98
  100. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/block_connection_spec.rb +0 -18
  101. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/cacheable_spec.rb +0 -88
  102. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/memoizable_spec.rb +0 -53
  103. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/queueable_spec.rb +0 -98
  104. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/runnable_spec.rb +0 -137
  105. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/stubbable_spec.rb +0 -48
  106. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra_spec.rb +0 -22
  107. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/pool_spec.rb +0 -137
  108. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/actions_spec.rb +0 -19
  109. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/before_spec.rb +0 -93
  110. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/block_connection_spec.rb +0 -75
  111. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/cacheable_spec.rb +0 -94
  112. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/callbacks_spec.rb +0 -91
  113. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/marshal_spec.rb +0 -60
  114. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/memoizable_spec.rb +0 -34
  115. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/operations_spec.rb +0 -101
  116. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/responseable_spec.rb +0 -13
  117. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/stubbable_spec.rb +0 -45
  118. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request_spec.rb +0 -256
  119. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/header_spec.rb +0 -147
  120. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/informations_spec.rb +0 -323
  121. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/status_spec.rb +0 -256
  122. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response_spec.rb +0 -100
  123. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus_spec.rb +0 -105
  124. /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
  125. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/.gitignore +0 -0
  126. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/.rspec +0 -0
  127. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/Gemfile +0 -0
  128. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/Guardfile +0 -0
  129. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/LICENSE +0 -0
  130. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/Rakefile +0 -0
  131. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/ethon.gemspec +0 -0
  132. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curl.rb +0 -0
  133. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/codes.rb +0 -0
  134. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/constants.rb +0 -0
  135. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/form_options.rb +0 -0
  136. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/functions.rb +0 -0
  137. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/infos.rb +0 -0
  138. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/messages.rb +0 -0
  139. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/curls/settings.rb +0 -0
  140. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/debug_info.rb +0 -0
  141. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/features.rb +0 -0
  142. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/form.rb +0 -0
  143. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/header.rb +0 -0
  144. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/actionable.rb +0 -0
  145. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/custom.rb +0 -0
  146. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/delete.rb +0 -0
  147. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/get.rb +0 -0
  148. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/head.rb +0 -0
  149. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/options.rb +0 -0
  150. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/patch.rb +0 -0
  151. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/post.rb +0 -0
  152. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/postable.rb +0 -0
  153. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/put.rb +0 -0
  154. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http/putable.rb +0 -0
  155. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/http.rb +0 -0
  156. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/mirror.rb +0 -0
  157. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/operations.rb +0 -0
  158. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/options.rb +0 -0
  159. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/params.rb +0 -0
  160. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/queryable.rb +0 -0
  161. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy/util.rb +0 -0
  162. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/easy.rb +0 -0
  163. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/ethon_error.rb +0 -0
  164. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/global_init.rb +0 -0
  165. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/invalid_option.rb +0 -0
  166. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/invalid_value.rb +0 -0
  167. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/multi_add.rb +0 -0
  168. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/multi_fdset.rb +0 -0
  169. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/multi_remove.rb +0 -0
  170. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/multi_timeout.rb +0 -0
  171. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors/select.rb +0 -0
  172. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/errors.rb +0 -0
  173. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/libc.rb +0 -0
  174. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/loggable.rb +0 -0
  175. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/multi/operations.rb +0 -0
  176. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/multi/options.rb +0 -0
  177. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/multi/stack.rb +0 -0
  178. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon/multi.rb +0 -0
  179. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/lib/ethon.rb +0 -0
  180. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/profile/benchmarks.rb +0 -0
  181. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/profile/memory_leaks.rb +0 -0
  182. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/profile/perf_spec_helper.rb +0 -0
  183. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/profile/support/memory_test_helpers.rb +0 -0
  184. /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
  185. /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
  186. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/curl_spec.rb +0 -0
  187. /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
  188. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/features_spec.rb +0 -0
  189. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/form_spec.rb +0 -0
  190. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/header_spec.rb +0 -0
  191. /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
  192. /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
  193. /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
  194. /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
  195. /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
  196. /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
  197. /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
  198. /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
  199. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/http_spec.rb +0 -0
  200. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/options_spec.rb +0 -0
  201. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/queryable_spec.rb +0 -0
  202. /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
  203. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy/util_spec.rb +0 -0
  204. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/easy_spec.rb +0 -0
  205. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/libc_spec.rb +0 -0
  206. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/loggable_spec.rb +0 -0
  207. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/multi/operations_spec.rb +0 -0
  208. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/multi/options_spec.rb +0 -0
  209. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/multi/stack_spec.rb +0 -0
  210. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/ethon/multi_spec.rb +0 -0
  211. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/spec_helper.rb +0 -0
  212. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/support/localhost_server.rb +0 -0
  213. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.16.0 → ethon-0.15.0}/spec/support/server.rb +0 -0
  214. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/BSDL +0 -0
  215. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/COPYING +0 -0
  216. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/LEGAL +0 -0
  217. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/generator/Makefile +0 -0
  218. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/generator/extconf.rb +0 -0
  219. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/parser/Makefile +0 -0
  220. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/ext/json/ext/parser/extconf.rb +0 -0
  221. /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
  222. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/json.gemspec +0 -0
  223. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/bigdecimal.rb +0 -0
  224. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/complex.rb +0 -0
  225. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/date.rb +0 -0
  226. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/date_time.rb +0 -0
  227. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/exception.rb +0 -0
  228. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/ostruct.rb +0 -0
  229. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/range.rb +0 -0
  230. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/rational.rb +0 -0
  231. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/regexp.rb +0 -0
  232. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/set.rb +0 -0
  233. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/struct.rb +0 -0
  234. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/symbol.rb +0 -0
  235. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/add/time.rb +0 -0
  236. /data/vendor/bundle/ruby/3.3.0/gems/{json-2.13.0 → json-2.15.1}/lib/json/ext.rb +0 -0
  237. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/CONTRIBUTING.md +0 -0
  238. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/LICENSE +0 -0
  239. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/README.md +0 -0
  240. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/UPGRADE.md +0 -0
  241. /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
  242. /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
  243. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/rack/typhoeus.rb +0 -0
  244. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/adapters/faraday.rb +0 -0
  245. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/dalli.rb +0 -0
  246. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/rails.rb +0 -0
  247. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/redis.rb +0 -0
  248. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/config.rb +0 -0
  249. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/easy_factory.rb +0 -0
  250. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors/no_stub.rb +0 -0
  251. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors/typhoeus_error.rb +0 -0
  252. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors.rb +0 -0
  253. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/addable.rb +0 -0
  254. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/before.rb +0 -0
  255. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/block_connection.rb +0 -0
  256. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/cacheable.rb +0 -0
  257. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/memoizable.rb +0 -0
  258. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/queueable.rb +0 -0
  259. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/runnable.rb +0 -0
  260. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/stubbable.rb +0 -0
  261. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra.rb +0 -0
  262. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/pool.rb +0 -0
  263. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/railtie.rb +0 -0
  264. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/actions.rb +0 -0
  265. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/before.rb +0 -0
  266. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/block_connection.rb +0 -0
  267. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/cacheable.rb +0 -0
  268. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/callbacks.rb +0 -0
  269. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/marshal.rb +0 -0
  270. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/memoizable.rb +0 -0
  271. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/operations.rb +0 -0
  272. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/streamable.rb +0 -0
  273. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/stubbable.rb +0 -0
  274. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request.rb +0 -0
  275. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/cacheable.rb +0 -0
  276. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/header.rb +0 -0
  277. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/informations.rb +0 -0
  278. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/status.rb +0 -0
  279. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response.rb +0 -0
  280. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus.rb +0 -0
@@ -23,18 +23,30 @@ module VRPayment
23
23
  # The localized description of the object.
24
24
  attr_accessor :description
25
25
 
26
+ #
27
+ attr_accessor :feature
28
+
26
29
  # A unique identifier for the object.
27
30
  attr_accessor :id
28
31
 
29
32
  # The localized name of the object.
30
33
  attr_accessor :name
31
34
 
35
+ #
36
+ attr_accessor :navigation_path
37
+
38
+ #
39
+ attr_accessor :sort_order
40
+
32
41
  # Attribute mapping from ruby-style variable name to JSON key.
33
42
  def self.attribute_map
34
43
  {
35
44
  :'description' => :'description',
45
+ :'feature' => :'feature',
36
46
  :'id' => :'id',
37
- :'name' => :'name'
47
+ :'name' => :'name',
48
+ :'navigation_path' => :'navigationPath',
49
+ :'sort_order' => :'sortOrder'
38
50
  }
39
51
  end
40
52
 
@@ -42,8 +54,11 @@ module VRPayment
42
54
  def self.swagger_types
43
55
  {
44
56
  :'description' => :'Hash<String, String>',
57
+ :'feature' => :'Feature',
45
58
  :'id' => :'Integer',
46
- :'name' => :'Hash<String, String>'
59
+ :'name' => :'Hash<String, String>',
60
+ :'navigation_path' => :'String',
61
+ :'sort_order' => :'Integer'
47
62
  }
48
63
  end
49
64
 
@@ -61,6 +76,10 @@ module VRPayment
61
76
  end
62
77
  end
63
78
 
79
+ if attributes.has_key?(:'feature')
80
+ self.feature = attributes[:'feature']
81
+ end
82
+
64
83
  if attributes.has_key?(:'id')
65
84
  self.id = attributes[:'id']
66
85
  end
@@ -70,6 +89,14 @@ module VRPayment
70
89
  self.name = value
71
90
  end
72
91
  end
92
+
93
+ if attributes.has_key?(:'navigationPath')
94
+ self.navigation_path = attributes[:'navigationPath']
95
+ end
96
+
97
+ if attributes.has_key?(:'sortOrder')
98
+ self.sort_order = attributes[:'sortOrder']
99
+ end
73
100
  end
74
101
 
75
102
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -91,8 +118,11 @@ module VRPayment
91
118
  return true if self.equal?(o)
92
119
  self.class == o.class &&
93
120
  description == o.description &&
121
+ feature == o.feature &&
94
122
  id == o.id &&
95
- name == o.name
123
+ name == o.name &&
124
+ navigation_path == o.navigation_path &&
125
+ sort_order == o.sort_order
96
126
  end
97
127
 
98
128
  # @see the `==` method
@@ -104,7 +134,7 @@ module VRPayment
104
134
  # Calculates hash code according to all attributes.
105
135
  # @return [Fixnum] Hash code
106
136
  def hash
107
- [description, id, name].hash
137
+ [description, feature, id, name, navigation_path, sort_order].hash
108
138
  end
109
139
 
110
140
  # Builds the object from hash
@@ -16,5 +16,5 @@ limitations under the License.
16
16
  =end
17
17
 
18
18
  module VRPayment
19
- VERSION = '5.1.0'
19
+ VERSION = '5.2.0'
20
20
  end
@@ -1,4 +1,4 @@
1
- current directory: /home/runner/work/ruby-sdk/ruby-sdk/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/parser
1
+ current directory: /home/runner/work/ruby-sdk/ruby-sdk/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/ext/json/ext/parser
2
2
  /opt/hostedtoolcache/Ruby/3.3.0/x64/bin/ruby extconf.rb
3
3
  checking for rb_enc_interned_str() in ruby/encoding.h... yes
4
4
  checking for rb_hash_new_capa() in ruby.h... yes
@@ -9,17 +9,17 @@ checking for x86intrin.h... yes
9
9
  checking for cpuid.h... yes
10
10
  creating Makefile
11
11
 
12
- current directory: /home/runner/work/ruby-sdk/ruby-sdk/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/parser
13
- make DESTDIR\= sitearchdir\=./.gem.20250718-1763-jolrkg sitelibdir\=./.gem.20250718-1763-jolrkg clean
12
+ current directory: /home/runner/work/ruby-sdk/ruby-sdk/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/ext/json/ext/parser
13
+ make DESTDIR\= sitearchdir\=./.gem.20251015-2031-4xrql3 sitelibdir\=./.gem.20251015-2031-4xrql3 clean
14
14
 
15
- current directory: /home/runner/work/ruby-sdk/ruby-sdk/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/parser
16
- make DESTDIR\= sitearchdir\=./.gem.20250718-1763-jolrkg sitelibdir\=./.gem.20250718-1763-jolrkg
15
+ current directory: /home/runner/work/ruby-sdk/ruby-sdk/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/ext/json/ext/parser
16
+ make DESTDIR\= sitearchdir\=./.gem.20251015-2031-4xrql3 sitelibdir\=./.gem.20251015-2031-4xrql3
17
17
  compiling parser.c
18
18
  linking shared-object json/ext/parser.so
19
19
 
20
- current directory: /home/runner/work/ruby-sdk/ruby-sdk/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/parser
21
- make DESTDIR\= sitearchdir\=./.gem.20250718-1763-jolrkg sitelibdir\=./.gem.20250718-1763-jolrkg install
22
- /usr/bin/install -c -m 0755 parser.so ./.gem.20250718-1763-jolrkg/json/ext
20
+ current directory: /home/runner/work/ruby-sdk/ruby-sdk/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/ext/json/ext/parser
21
+ make DESTDIR\= sitearchdir\=./.gem.20251015-2031-4xrql3 sitelibdir\=./.gem.20251015-2031-4xrql3 install
22
+ /usr/bin/install -c -m 0755 parser.so ./.gem.20251015-2031-4xrql3/json/ext
23
23
 
24
- current directory: /home/runner/work/ruby-sdk/ruby-sdk/vendor/bundle/ruby/3.3.0/gems/json-2.13.0/ext/json/ext/parser
25
- make DESTDIR\= sitearchdir\=./.gem.20250718-1763-jolrkg sitelibdir\=./.gem.20250718-1763-jolrkg clean
24
+ current directory: /home/runner/work/ruby-sdk/ruby-sdk/vendor/bundle/ruby/3.3.0/gems/json-2.15.1/ext/json/ext/parser
25
+ make DESTDIR\= sitearchdir\=./.gem.20251015-2031-4xrql3 sitelibdir\=./.gem.20251015-2031-4xrql3 clean
@@ -136,18 +136,19 @@ checked program was:
136
136
 
137
137
  --------------------
138
138
 
139
- LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.0/x64/lib "gcc -I/opt/hostedtoolcache/Ruby/3.3.0/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.0/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.0/x64/include/ruby-3.3.0 -I. -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -std=c99 -c conftest.c"
139
+ LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.3.0/x64/lib "gcc -I/opt/hostedtoolcache/Ruby/3.3.0/x64/include/ruby-3.3.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.3.0/x64/include/ruby-3.3.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.3.0/x64/include/ruby-3.3.0 -I. -DENABLE_PATH_CHECK=0 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -std=c99 -Werror=implicit-function-declaration -c conftest.c"
140
140
  checked program was:
141
141
  /* begin */
142
- 1: #include "ruby.h"
143
- 2:
144
- 3: #include <x86intrin.h>
145
- 4:
146
- 5: int main(int argc, char **argv) {
147
- 6: __m128i test = _mm_set1_epi8(32);
148
- 7: if (argc > 100000) printf("%p", &test);
149
- 8: return 0;
150
- 9: }
142
+ 1: #include "ruby.h"
143
+ 2:
144
+ 3: #include <x86intrin.h>
145
+ 4:
146
+ 5: int main(int argc, char **argv) {
147
+ 6: __m128i test = _mm_set1_epi8(32);
148
+ 7: if (__builtin_cpu_supports("sse2")) { printf("OK"); }
149
+ 8: if (argc > 100000) printf("%p", &test);
150
+ 9: return 0;
151
+ 10: }
151
152
  /* end */
152
153
 
153
154
  have_header: checking for cpuid.h... -------------------- yes
@@ -20,7 +20,7 @@ jobs:
20
20
  fail-fast: false
21
21
  matrix:
22
22
  os: [ubuntu, macos]
23
- ruby-version: [2.5, 2.6, 2.7, 3.0, head, debug, truffleruby]
23
+ ruby-version: [2.5, 2.6, 2.7, 3.0, head, debug, truffleruby, truffleruby-head]
24
24
  continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }}
25
25
  steps:
26
26
  - uses: actions/checkout@v2
@@ -30,7 +30,7 @@ jobs:
30
30
  then
31
31
  brew install curl
32
32
  else
33
- sudo apt update && sudo apt install -y --no-install-recommends libcurl4-openssl-dev
33
+ sudo apt install -y libcurl4-openssl-dev
34
34
  fi
35
35
  - name: Set up Ruby
36
36
  uses: ruby/setup-ruby@v1
@@ -4,9 +4,6 @@
4
4
 
5
5
  [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.15.0...master)
6
6
 
7
- * Added `redirect_url` value to available informations and `Easy::Mirror`.
8
- ([Adrien Rey-Jarthon](https://github.com/jarthod)
9
-
10
7
  ## 0.15.0
11
8
 
12
9
  [Full Changelog](https://github.com/typhoeus/ethon/compare/v0.14.0...v0.15.0)
@@ -70,29 +70,6 @@ easy.perform
70
70
  This is really handy when making requests since you don't have to care about setting
71
71
  everything up correctly.
72
72
 
73
- ## Http2
74
- Standard http2 servers require the client to connect once and create a session (multi) and then add simple requests to the multi handler.
75
- The `perform` method then takes all the requests in the multi handler and sends them to the server.
76
-
77
- See the following example
78
- ```ruby
79
- multi = Ethon::Multi.new
80
- easy = Ethon::Easy.new
81
-
82
- easy.http_request("www.example.com/get", :get, { http_version: :httpv2_0 })
83
-
84
- # Sending a request with http version 2 will send an Upgrade header to the server, which many older servers will not support
85
- # See below for more info: https://everything.curl.dev/http/http2
86
- # If this is a problem, send the below:
87
- easy.http_request("www.example.com/get", :get, { http_version: :httpv2_prior_knowledge })
88
-
89
- # To set the server to use http2 with https and http1 with http, send the following:
90
- easy.http_request("www.example.com/get", :get, { http_version: :httpv2_tls }
91
-
92
- multi.add(easy)
93
- multi.perform
94
- ```
95
-
96
73
  ## LICENSE
97
74
 
98
75
  (The MIT License)
@@ -32,18 +32,8 @@ module Ethon
32
32
 
33
33
  def clear; self[:fd_count] = 0; end
34
34
  else
35
- # https://github.com/typhoeus/ethon/issues/182
36
- FD_SETSIZE = begin
37
- # Allow to override the (new) default cap
38
- if ENV['ETHON_FD_SIZE']
39
- ENV['ETHON_FD_SIZE']
40
-
41
- # auto-detect ulimit, but cap at 2^16
42
- else
43
- [::Ethon::Libc.getdtablesize, 65_536].min
44
- end
45
- end
46
-
35
+ # FD Set size.
36
+ FD_SETSIZE = ::Ethon::Libc.getdtablesize
47
37
  layout :fds_bits, [:long, FD_SETSIZE / ::FFI::Type::LONG.size]
48
38
 
49
39
  # :nodoc:
@@ -307,7 +307,6 @@ module Ethon
307
307
  option :easy, :port, :int, 3
308
308
  option :easy, :tcp_nodelay, :bool, 121
309
309
  option :easy, :address_scope, :int, 171
310
- option :easy, :tcp_fastopen, :bool, 212
311
310
  option :easy, :tcp_keepalive, :bool, 213
312
311
  option :easy, :tcp_keepidle, :int, 214
313
312
  option :easy, :tcp_keepintvl, :int, 215
@@ -353,7 +352,7 @@ module Ethon
353
352
  option :easy, :cookiesession, :bool, 96
354
353
  option :easy, :cookielist, :string, 135
355
354
  option :easy, :httpget, :bool, 80
356
- option :easy, :http_version, :enum, 84, [:none, :httpv1_0, :httpv1_1, :httpv2_0, :httpv2_tls, :httpv2_prior_knowledge]
355
+ option :easy, :http_version, :enum, 84, [:none, :httpv1_0, :httpv1_1, :httpv2_0]
357
356
  option :easy, :ignore_content_length, :bool, 136
358
357
  option :easy, :http_content_decoding, :bool, 158
359
358
  option :easy, :http_transfer_decoding, :bool, 157
@@ -441,7 +440,7 @@ module Ethon
441
440
  option_alias :easy, :keypasswd, :sslkeypasswd
442
441
  option :easy, :sslengine, :string, 89
443
442
  option :easy, :sslengine_default, :none, 90
444
- option :easy, :sslversion, :enum, 32, [:default, :tlsv1, :sslv2, :sslv3, :tlsv1_0, :tlsv1_1, :tlsv1_2, :tlsv1_3]
443
+ option :easy, :sslversion, :enum, 32, [:default, :tlsv1, :sslv2, :sslv3, :tlsv1_0, :tlsv1_1, :tlsv1_2]
445
444
  option :easy, :ssl_verifypeer, :bool, 64
446
445
  option :easy, :cainfo, :string, 65
447
446
  option :easy, :issuercert, :string, 170
@@ -464,7 +463,7 @@ module Ethon
464
463
  option :easy, :proxy_capath, :string, 247
465
464
  option :easy, :proxy_ssl_verifypeer, :bool, 248
466
465
  option :easy, :proxy_ssl_verifyhost, :int, 249
467
- option :easy, :proxy_sslversion, :enum, 250, [:default, :tlsv1, :sslv2, :sslv3, :tlsv1_0, :tlsv1_1, :tlsv1_2, :tlsv1_3]
466
+ option :easy, :proxy_sslversion, :enum, 250, [:default, :tlsv1, :sslv2, :sslv3, :tlsv1_0, :tlsv1_1, :tlsv1_2]
468
467
  option :easy, :proxy_tlsauth_username, :string, 251
469
468
  option :easy, :proxy_tlsauth_password, :string, 252
470
469
  option :easy, :proxy_tlsauth_type, :enum, 253, [:none, :srp]
@@ -52,9 +52,8 @@ module Ethon
52
52
  # @return [ Proc ] The callback.
53
53
  def header_write_callback
54
54
  @header_write_callback ||= proc {|stream, size, num, object|
55
- result = headers
56
55
  @response_headers << stream.read_string(size * num)
57
- result != :abort ? size * num : -1
56
+ size * num
58
57
  }
59
58
  end
60
59
 
@@ -73,9 +73,6 @@ module Ethon
73
73
  # actually followed.
74
74
  :redirect_count => :long,
75
75
 
76
- # URL a redirect would take you to, had you enabled redirects (Added in 7.18.2)
77
- :redirect_url => :string,
78
-
79
76
  # Return the bytes, the total amount of bytes that were uploaded
80
77
  :size_upload => :double,
81
78
 
@@ -43,12 +43,7 @@ module Ethon
43
43
  return if @headers_called
44
44
  @headers_called = true
45
45
  if defined?(@on_headers) and not @on_headers.nil?
46
- result = nil
47
- @on_headers.each do |callback|
48
- result = callback.call(self)
49
- break if result == :abort
50
- end
51
- result
46
+ @on_headers.each{ |callback| callback.call(self) }
52
47
  end
53
48
  end
54
49
 
@@ -2,5 +2,5 @@
2
2
  module Ethon
3
3
 
4
4
  # Ethon version.
5
- VERSION = '0.16.0'
5
+ VERSION = '0.15.0'
6
6
  end
@@ -56,26 +56,4 @@ describe Ethon::Easy::Callbacks do
56
56
  end
57
57
  end
58
58
  end
59
-
60
- describe "#header_write_callback" do
61
- let(:header_write_callback) { easy.instance_variable_get(:@header_write_callback) }
62
- let(:stream) { double(:read_string => "") }
63
- context "when header returns not :abort" do
64
- it "returns number bigger than 0" do
65
- expect(header_write_callback.call(stream, 1, 1, nil) > 0).to be(true)
66
- end
67
- end
68
-
69
- context "when header returns :abort" do
70
- before do
71
- easy.on_headers.clear
72
- easy.on_headers { :abort }
73
- end
74
- let(:header_write_callback) { easy.instance_variable_get(:@header_write_callback) }
75
-
76
- it "returns -1 to indicate abort to libcurl" do
77
- expect(header_write_callback.call(stream, 1, 1, nil)).to eq(-1)
78
- end
79
- end
80
- end
81
59
  end
@@ -81,12 +81,6 @@ describe Ethon::Easy::Informations do
81
81
  end
82
82
  end
83
83
 
84
- describe "#redirect_url" do
85
- it "returns nil as there is no redirect" do
86
- expect(easy.redirect_url).to be(nil)
87
- end
88
- end
89
-
90
84
  describe "#request_size" do
91
85
  it "returns 53" do
92
86
  expect(easy.request_size).to eq(53)
@@ -11,7 +11,7 @@ describe Ethon::Easy::Mirror do
11
11
  :total_time, :starttransfer_time, :appconnect_time,
12
12
  :pretransfer_time, :connect_time, :namelookup_time, :redirect_time,
13
13
  :size_upload, :size_download, :speed_upload, :speed_upload,
14
- :effective_url, :primary_ip, :redirect_count, :redirect_url, :debug_info
14
+ :effective_url, :primary_ip, :redirect_count, :debug_info
15
15
  ].each do |name|
16
16
  it "contains #{name}" do
17
17
  expect(described_class::INFORMATIONS_TO_MIRROR).to include(name)
@@ -106,7 +106,6 @@ describe Ethon::Easy::Operations do
106
106
 
107
107
  it "doesn't follow" do
108
108
  expect(easy.response_code).to eq(302)
109
- expect(easy.redirect_url).to eq("http://localhost:3001/")
110
109
  end
111
110
  end
112
111
 
@@ -116,7 +115,6 @@ describe Ethon::Easy::Operations do
116
115
 
117
116
  it "follows" do
118
117
  expect(easy.response_code).to eq(200)
119
- expect(easy.redirect_url).to eq(nil)
120
118
  end
121
119
 
122
120
  context "when infinite redirect loop" do
@@ -126,7 +124,6 @@ describe Ethon::Easy::Operations do
126
124
  context "when max redirect set" do
127
125
  it "follows only x times" do
128
126
  expect(easy.response_code).to eq(302)
129
- expect(easy.redirect_url).to eq("http://localhost:3001/bad_redirect")
130
127
  end
131
128
  end
132
129
  end
@@ -2,7 +2,47 @@
2
2
 
3
3
  ### Unreleased
4
4
 
5
- ### 2025-05-23 (2.13.0)
5
+ ### 2025-10-07 (2.15.1)
6
+
7
+ * Fix incorrect escaping in the JRuby extension when encoding shared strings.
8
+
9
+ ### 2025-09-22 (2.15.0)
10
+
11
+ * `JSON::Coder` callback now receive a second argument to convey whether the object is a hash key.
12
+ * Tuned the floating point number generator to not use scientific notation as aggressively.
13
+
14
+ ### 2025-09-18 (2.14.1)
15
+
16
+ * Fix `IndexOutOfBoundsException` in the JRuby extension when encoding shared strings.
17
+
18
+ ### 2025-09-18 (2.14.0)
19
+
20
+ * Add new `allow_duplicate_key` generator options. By default a warning is now emitted when a duplicated key is encountered.
21
+ In `json 3.0` an error will be raised.
22
+ ```ruby
23
+ >> Warning[:deprecated] = true
24
+ >> puts JSON.generate({ foo: 1, "foo" => 2 })
25
+ (irb):2: warning: detected duplicate key "foo" in {foo: 1, "foo" => 2}.
26
+ This will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`
27
+ {"foo":1,"foo":2}
28
+ >> JSON.generate({ foo: 1, "foo" => 2 }, allow_duplicate_key: false)
29
+ detected duplicate key "foo" in {foo: 1, "foo" => 2} (JSON::GeneratorError)
30
+ ```
31
+ * Fix `JSON.generate` `strict: true` mode to also restrict hash keys.
32
+ * Fix `JSON::Coder` to also invoke block for hash keys that aren't strings nor symbols.
33
+ * Fix `JSON.unsafe_load` usage with proc
34
+ * Fix the parser to more consistently reject invalid UTF-16 surogate pairs.
35
+ * Stop defining `String.json_create`, `String#to_json_raw`, `String#to_json_raw_object` when `json/add` isn't loaded.
36
+
37
+ ### 2025-07-28 (2.13.2)
38
+
39
+ * Improve duplicate key warning and errors to include the key name and point to the right caller.
40
+
41
+ ### 2025-07-24 (2.13.1)
42
+
43
+ * Fix support for older compilers without `__builtin_cpu_supports`.
44
+
45
+ ### 2025-07-17 (2.13.0)
6
46
 
7
47
  * Add new `allow_duplicate_key` parsing options. By default a warning is now emitted when a duplicated key is encountered.
8
48
  In `json 3.0` an error will be raised.
@@ -36,7 +76,7 @@
36
76
  ### 2025-04-24 (2.11.1)
37
77
 
38
78
  * Add back `JSON.restore`, `JSON.unparse`, `JSON.fast_unparse` and `JSON.pretty_unparse`.
39
- These were deprecated 16 years ago, but never emited warnings, only undocumented, so are
79
+ These were deprecated 16 years ago, but never emitted warnings, only undocumented, so are
40
80
  still used by a few gems.
41
81
 
42
82
  ### 2025-04-24 (2.11.0)
@@ -63,7 +103,7 @@
63
103
  ### 2025-03-12 (2.10.2)
64
104
 
65
105
  * Fix a potential crash in the C extension parser.
66
- * Raise a ParserError on all incomplete unicode escape sequence. This was the behavior until `2.10.0` unadvertently changed it.
106
+ * Raise a ParserError on all incomplete unicode escape sequence. This was the behavior until `2.10.0` inadvertently changed it.
67
107
  * Ensure document snippets that are included in parser errors don't include truncated multibyte characters.
68
108
  * Ensure parser error snippets are valid UTF-8.
69
109
  * Fix `JSON::GeneratorError#detailed_message` on Ruby < 3.2
@@ -94,7 +134,7 @@
94
134
 
95
135
  ### 2024-11-14 (2.8.2)
96
136
 
97
- * `JSON.load_file` explictly read the file as UTF-8.
137
+ * `JSON.load_file` explicitly read the file as UTF-8.
98
138
 
99
139
  ### 2024-11-06 (2.8.1)
100
140
 
@@ -102,7 +142,7 @@
102
142
 
103
143
  ### 2024-11-06 (2.8.0)
104
144
 
105
- * Emit a deprecation warning when `JSON.load` create custom types without the `create_additions` option being explictly enabled.
145
+ * Emit a deprecation warning when `JSON.load` create custom types without the `create_additions` option being explicitly enabled.
106
146
  * Prefer to use `JSON.unsafe_load(string)` or `JSON.load(string, create_additions: true)`.
107
147
  * Emit a deprecation warning when serializing valid UTF-8 strings encoded in `ASCII_8BIT` aka `BINARY`.
108
148
  * Bump required Ruby version to 2.7.
@@ -110,7 +150,7 @@
110
150
  pre-existing support for comments, make it suitable to parse `jsonc` documents.
111
151
  * Many performance improvements to `JSON.parse` and `JSON.load`, up to `1.7x` faster on real world documents.
112
152
  * Some minor performance improvements to `JSON.dump` and `JSON.generate`.
113
- * `JSON.pretty_generate` no longer include newline inside empty object and arrays.
153
+ * `JSON.pretty_generate` no longer includes newlines inside empty object and arrays.
114
154
 
115
155
  ### 2024-11-04 (2.7.6)
116
156
 
@@ -127,13 +167,13 @@
127
167
  * Workaround a bug in 3.4.8 and older https://github.com/rubygems/rubygems/pull/6490.
128
168
  This bug would cause some gems with native extension to fail during compilation.
129
169
  * Workaround different versions of `json` and `json_pure` being loaded (not officially supported).
130
- * Make `json_pure` Ractor compatible.
170
+ * Make `json_pure` Ractor compatible.
131
171
 
132
172
  ### 2024-10-24 (2.7.3)
133
173
 
134
174
  * Numerous performance optimizations in `JSON.generate` and `JSON.dump` (up to 2 times faster).
135
- * Limit the size of ParserError exception messages, only include up to 32 bytes of the unparseable source.
136
- * Fix json-pure's `Object#to_json` to accept non state arguments
175
+ * Limit the size of ParserError exception messages, only include up to 32 bytes of the unparsable source.
176
+ * Fix json-pure's `Object#to_json` to accept non-state arguments.
137
177
  * Fix multiline comment support in `json-pure`.
138
178
  * Fix `JSON.parse` to no longer mutate the argument encoding when passed an ASCII-8BIT string.
139
179
  * Fix `String#to_json` to raise on invalid encoding in `json-pure`.
@@ -278,6 +318,7 @@
278
318
  ## 2015-09-11 (2.0.0)
279
319
  * Now complies to newest JSON RFC 7159.
280
320
  * Implements compatibility to ruby 2.4 integer unification.
321
+ * Removed support for `quirks_mode` option.
281
322
  * Drops support for old rubies whose life has ended, that is rubies < 2.0.
282
323
  Also see https://www.ruby-lang.org/en/news/2014/07/01/eol-for-1-8-7-and-1-9-2/
283
324
  * There were still some mentions of dual GPL licensing in the source, but JSON
@@ -97,7 +97,7 @@ Instead it is recommended to use the newer `JSON::Coder` API:
97
97
 
98
98
  ```ruby
99
99
  module MyApp
100
- API_JSON_CODER = JSON::Coder.new do |object|
100
+ API_JSON_CODER = JSON::Coder.new do |object, is_object_key|
101
101
  case object
102
102
  when Time
103
103
  object.iso8601(3)
@@ -113,6 +113,8 @@ puts MyApp::API_JSON_CODER.dump(Time.now.utc) # => "2025-01-21T08:41:44.286Z"
113
113
  The provided block is called for all objects that don't have a native JSON equivalent, and
114
114
  must return a Ruby object that has a native JSON equivalent.
115
115
 
116
+ It is also called for objects that do have a JSON equivalent, but are used as Hash keys, for instance `{ 1 => 2}`.
117
+
116
118
  ## Combining JSON fragments
117
119
 
118
120
  To combine JSON fragments into a bigger JSON document, you can use `JSON::Fragment`:
@@ -24,6 +24,14 @@ typedef unsigned char _Bool;
24
24
  #endif
25
25
  #endif
26
26
 
27
+ #ifndef NOINLINE
28
+ #if defined(__has_attribute) && __has_attribute(noinline)
29
+ #define NOINLINE() __attribute__((noinline))
30
+ #else
31
+ #define NOINLINE()
32
+ #endif
33
+ #endif
34
+
27
35
  #ifndef RB_UNLIKELY
28
36
  #define RB_UNLIKELY(expr) expr
29
37
  #endif
@@ -169,12 +177,17 @@ static inline void fbuffer_inc_capa(FBuffer *fb, unsigned long requested)
169
177
  }
170
178
  }
171
179
 
172
- static void fbuffer_append(FBuffer *fb, const char *newstr, unsigned long len)
180
+ static inline void fbuffer_append_reserved(FBuffer *fb, const char *newstr, unsigned long len)
181
+ {
182
+ MEMCPY(fb->ptr + fb->len, newstr, char, len);
183
+ fbuffer_consumed(fb, len);
184
+ }
185
+
186
+ static inline void fbuffer_append(FBuffer *fb, const char *newstr, unsigned long len)
173
187
  {
174
188
  if (len > 0) {
175
189
  fbuffer_inc_capa(fb, len);
176
- MEMCPY(fb->ptr + fb->len, newstr, char, len);
177
- fbuffer_consumed(fb, len);
190
+ fbuffer_append_reserved(fb, newstr, len);
178
191
  }
179
192
  }
180
193
 
@@ -197,11 +210,24 @@ static void fbuffer_append_str(FBuffer *fb, VALUE str)
197
210
  const char *newstr = StringValuePtr(str);
198
211
  unsigned long len = RSTRING_LEN(str);
199
212
 
200
- RB_GC_GUARD(str);
201
-
202
213
  fbuffer_append(fb, newstr, len);
203
214
  }
204
215
 
216
+ static void fbuffer_append_str_repeat(FBuffer *fb, VALUE str, size_t repeat)
217
+ {
218
+ const char *newstr = StringValuePtr(str);
219
+ unsigned long len = RSTRING_LEN(str);
220
+
221
+ fbuffer_inc_capa(fb, repeat * len);
222
+ while (repeat) {
223
+ #ifdef JSON_DEBUG
224
+ fb->requested = len;
225
+ #endif
226
+ fbuffer_append_reserved(fb, newstr, len);
227
+ repeat--;
228
+ }
229
+ }
230
+
205
231
  static inline void fbuffer_append_char(FBuffer *fb, char newchr)
206
232
  {
207
233
  fbuffer_inc_capa(fb, 1);