talon_one 6.0.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (751) hide show
  1. checksums.yaml +4 -4
  2. data/.github/.example/.bundle/config +2 -0
  3. data/.github/.example/Gemfile +6 -0
  4. data/.github/.example/Gemfile.lock +47 -0
  5. data/.github/.example/example.rb +85 -0
  6. data/.github/.example/vendor/bundle/ruby/3.3.0/extensions/arm64-darwin-24/3.3.0/json-2.8.2/gem.build_complete +0 -0
  7. data/.github/.example/vendor/bundle/ruby/3.3.0/extensions/arm64-darwin-24/3.3.0/json-2.8.2/gem_make.out +24 -0
  8. data/.github/.example/vendor/bundle/ruby/3.3.0/extensions/arm64-darwin-24/3.3.0/json-2.8.2/json/ext/generator.bundle +0 -0
  9. data/.github/.example/vendor/bundle/ruby/3.3.0/extensions/arm64-darwin-24/3.3.0/json-2.8.2/json/ext/parser.bundle +0 -0
  10. data/.github/.example/vendor/bundle/ruby/3.3.0/extensions/arm64-darwin-24/3.3.0/json-2.8.2/mkmf.log +177 -0
  11. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.github/workflows/ruby.yml +41 -0
  12. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.gitignore +8 -0
  13. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.rspec +3 -0
  14. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/CHANGELOG.md +375 -0
  15. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Gemfile +43 -0
  16. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Guardfile +10 -0
  17. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/LICENSE +20 -0
  18. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/README.md +118 -0
  19. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Rakefile +40 -0
  20. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/ethon.gemspec +26 -0
  21. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curl.rb +90 -0
  22. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/classes.rb +65 -0
  23. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/codes.rb +122 -0
  24. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/constants.rb +80 -0
  25. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/form_options.rb +37 -0
  26. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/functions.rb +58 -0
  27. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/infos.rb +151 -0
  28. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/messages.rb +19 -0
  29. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/options.rb +503 -0
  30. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/settings.rb +12 -0
  31. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/callbacks.rb +149 -0
  32. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/debug_info.rb +47 -0
  33. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/features.rb +31 -0
  34. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/form.rb +107 -0
  35. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/header.rb +61 -0
  36. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/actionable.rb +157 -0
  37. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/custom.rb +29 -0
  38. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/delete.rb +25 -0
  39. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/get.rb +24 -0
  40. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/head.rb +24 -0
  41. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/options.rb +24 -0
  42. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/patch.rb +24 -0
  43. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/post.rb +26 -0
  44. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/postable.rb +32 -0
  45. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/put.rb +27 -0
  46. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/putable.rb +25 -0
  47. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http.rb +68 -0
  48. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/informations.rb +116 -0
  49. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/mirror.rb +36 -0
  50. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/operations.rb +64 -0
  51. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/options.rb +50 -0
  52. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/params.rb +29 -0
  53. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/queryable.rb +154 -0
  54. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/response_callbacks.rb +136 -0
  55. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/util.rb +28 -0
  56. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy.rb +315 -0
  57. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/ethon_error.rb +9 -0
  58. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/global_init.rb +13 -0
  59. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/invalid_option.rb +13 -0
  60. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/invalid_value.rb +13 -0
  61. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_add.rb +12 -0
  62. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_fdset.rb +12 -0
  63. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_remove.rb +12 -0
  64. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_timeout.rb +13 -0
  65. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/select.rb +13 -0
  66. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors.rb +17 -0
  67. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/libc.rb +21 -0
  68. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/loggable.rb +59 -0
  69. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi/operations.rb +228 -0
  70. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi/options.rb +117 -0
  71. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi/stack.rb +49 -0
  72. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi.rb +126 -0
  73. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/version.rb +6 -0
  74. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon.rb +36 -0
  75. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/benchmarks.rb +104 -0
  76. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/memory_leaks.rb +114 -0
  77. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/perf_spec_helper.rb +37 -0
  78. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/memory_test_helpers.rb +76 -0
  79. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/os_memory_leak_tracker.rb +48 -0
  80. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/ruby_object_leak_tracker.rb +49 -0
  81. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/curl_spec.rb +38 -0
  82. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/callbacks_spec.rb +81 -0
  83. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/debug_info_spec.rb +54 -0
  84. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/features_spec.rb +24 -0
  85. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/form_spec.rb +104 -0
  86. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/header_spec.rb +79 -0
  87. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/custom_spec.rb +177 -0
  88. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/delete_spec.rb +21 -0
  89. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/get_spec.rb +126 -0
  90. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/head_spec.rb +80 -0
  91. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/options_spec.rb +51 -0
  92. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/patch_spec.rb +51 -0
  93. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/post_spec.rb +317 -0
  94. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/put_spec.rb +168 -0
  95. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http_spec.rb +64 -0
  96. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/informations_spec.rb +126 -0
  97. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/mirror_spec.rb +47 -0
  98. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/operations_spec.rb +271 -0
  99. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/options_spec.rb +193 -0
  100. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/queryable_spec.rb +235 -0
  101. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/response_callbacks_spec.rb +152 -0
  102. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/util_spec.rb +28 -0
  103. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy_spec.rb +203 -0
  104. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/libc_spec.rb +14 -0
  105. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/loggable_spec.rb +22 -0
  106. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/operations_spec.rb +298 -0
  107. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/options_spec.rb +182 -0
  108. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/stack_spec.rb +80 -0
  109. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi_spec.rb +152 -0
  110. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/spec_helper.rb +28 -0
  111. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/support/localhost_server.rb +95 -0
  112. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/support/server.rb +115 -0
  113. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/CHANGELOG.md +456 -0
  114. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/COPYING +49 -0
  115. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/Gemfile +21 -0
  116. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/LICENSE +24 -0
  117. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/LICENSE.SPECS +22 -0
  118. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/README.md +137 -0
  119. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/Rakefile +206 -0
  120. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/ffi.gemspec +42 -0
  121. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/2.5/ffi_c.bundle +0 -0
  122. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/2.6/ffi_c.bundle +0 -0
  123. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/2.7/ffi_c.bundle +0 -0
  124. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/3.0/ffi_c.bundle +0 -0
  125. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/3.1/ffi_c.bundle +0 -0
  126. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/3.2/ffi_c.bundle +0 -0
  127. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/3.3/ffi_c.bundle +0 -0
  128. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/abstract_memory.rb +44 -0
  129. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/autopointer.rb +180 -0
  130. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/buffer.rb +4 -0
  131. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/callback.rb +4 -0
  132. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/compat.rb +43 -0
  133. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/data_converter.rb +67 -0
  134. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/dynamic_library.rb +118 -0
  135. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/enum.rb +302 -0
  136. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/errno.rb +43 -0
  137. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/ffi.rb +50 -0
  138. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/function.rb +71 -0
  139. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/io.rb +62 -0
  140. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/library.rb +576 -0
  141. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/library_path.rb +109 -0
  142. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/managedstruct.rb +84 -0
  143. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/memorypointer.rb +1 -0
  144. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
  145. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-freebsd/types.conf +128 -0
  146. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-freebsd12/types.conf +181 -0
  147. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-linux/types.conf +175 -0
  148. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
  149. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-windows/types.conf +52 -0
  150. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/arm-freebsd/types.conf +152 -0
  151. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/arm-freebsd12/types.conf +152 -0
  152. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/arm-linux/types.conf +132 -0
  153. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/hppa1.1-linux/types.conf +178 -0
  154. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/hppa2.0-linux/types.conf +178 -0
  155. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-cygwin/types.conf +3 -0
  156. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-darwin/types.conf +100 -0
  157. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-freebsd/types.conf +152 -0
  158. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-freebsd12/types.conf +152 -0
  159. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-gnu/types.conf +107 -0
  160. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-linux/types.conf +103 -0
  161. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-netbsd/types.conf +126 -0
  162. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-openbsd/types.conf +128 -0
  163. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-solaris/types.conf +122 -0
  164. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-windows/types.conf +52 -0
  165. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/ia64-linux/types.conf +104 -0
  166. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/loongarch64-linux/types.conf +141 -0
  167. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mips-linux/types.conf +102 -0
  168. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mips64-linux/types.conf +104 -0
  169. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  170. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mipsel-linux/types.conf +102 -0
  171. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mipsisa32r6-linux/types.conf +102 -0
  172. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mipsisa32r6el-linux/types.conf +102 -0
  173. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mipsisa64r6-linux/types.conf +104 -0
  174. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mipsisa64r6el-linux/types.conf +104 -0
  175. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc-aix/types.conf +180 -0
  176. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc-darwin/types.conf +100 -0
  177. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc-linux/types.conf +130 -0
  178. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc-openbsd/types.conf +156 -0
  179. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  180. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc64le-linux/types.conf +100 -0
  181. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/riscv64-linux/types.conf +104 -0
  182. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/s390-linux/types.conf +102 -0
  183. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/s390x-linux/types.conf +102 -0
  184. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sparc-linux/types.conf +102 -0
  185. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sparc-solaris/types.conf +128 -0
  186. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sparcv9-linux/types.conf +102 -0
  187. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sparcv9-openbsd/types.conf +156 -0
  188. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sparcv9-solaris/types.conf +128 -0
  189. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sw_64-linux/types.conf +141 -0
  190. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  191. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-darwin/types.conf +130 -0
  192. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-dragonflybsd/types.conf +130 -0
  193. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-freebsd/types.conf +128 -0
  194. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-freebsd12/types.conf +158 -0
  195. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
  196. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-linux/types.conf +132 -0
  197. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-msys/types.conf +119 -0
  198. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-netbsd/types.conf +128 -0
  199. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-openbsd/types.conf +134 -0
  200. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-solaris/types.conf +122 -0
  201. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-windows/types.conf +52 -0
  202. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform.rb +187 -0
  203. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/pointer.rb +167 -0
  204. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/struct.rb +317 -0
  205. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/struct_by_reference.rb +72 -0
  206. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/struct_layout.rb +96 -0
  207. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/struct_layout_builder.rb +227 -0
  208. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/tools/const_generator.rb +232 -0
  209. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/tools/generator.rb +105 -0
  210. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/tools/generator_task.rb +32 -0
  211. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/tools/struct_generator.rb +195 -0
  212. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/tools/types_generator.rb +137 -0
  213. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/types.rb +222 -0
  214. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/union.rb +43 -0
  215. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/variadic.rb +80 -0
  216. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/version.rb +3 -0
  217. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi.rb +27 -0
  218. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/rakelib/ffi_gem_helper.rb +65 -0
  219. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/getlogin.rb +8 -0
  220. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/getpid.rb +8 -0
  221. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/gettimeofday.rb +18 -0
  222. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/hello.rb +8 -0
  223. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/hello_ractor.rb +11 -0
  224. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/inotify.rb +60 -0
  225. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/pty.rb +75 -0
  226. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/qsort.rb +20 -0
  227. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/qsort_ractor.rb +28 -0
  228. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/abstract_memory.rbs +165 -0
  229. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/auto_pointer.rbs +27 -0
  230. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/buffer.rbs +18 -0
  231. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/data_converter.rbs +10 -0
  232. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/dynamic_library.rbs +9 -0
  233. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/enum.rbs +38 -0
  234. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/function.rbs +39 -0
  235. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/library.rbs +42 -0
  236. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/native_type.rbs +86 -0
  237. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/pointer.rbs +42 -0
  238. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/struct.rbs +76 -0
  239. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/struct_by_reference.rbs +11 -0
  240. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/struct_by_value.rbs +7 -0
  241. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/struct_layout.rbs +9 -0
  242. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/struct_layout_builder.rbs +5 -0
  243. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/type.rbs +39 -0
  244. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi.rbs +26 -0
  245. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/BSDL +22 -0
  246. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/CHANGES.md +559 -0
  247. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/COPYING +56 -0
  248. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/LEGAL +60 -0
  249. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/README.md +195 -0
  250. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/fbuffer/fbuffer.h +184 -0
  251. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/generator/Makefile +270 -0
  252. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/generator/extconf.rb +10 -0
  253. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/generator/generator.c +1663 -0
  254. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/parser/Makefile +270 -0
  255. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/parser/extconf.rb +12 -0
  256. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/parser/parser.c +3238 -0
  257. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/parser/parser.rl +1465 -0
  258. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/json.gemspec +64 -0
  259. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/bigdecimal.rb +58 -0
  260. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/complex.rb +51 -0
  261. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/core.rb +12 -0
  262. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/date.rb +54 -0
  263. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/date_time.rb +67 -0
  264. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/exception.rb +49 -0
  265. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/ostruct.rb +54 -0
  266. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/range.rb +54 -0
  267. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/rational.rb +49 -0
  268. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/regexp.rb +48 -0
  269. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/set.rb +48 -0
  270. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/struct.rb +52 -0
  271. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/symbol.rb +47 -0
  272. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/time.rb +52 -0
  273. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/common.rb +876 -0
  274. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/ext/generator/state.rb +105 -0
  275. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/ext/generator.bundle +0 -0
  276. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/ext/parser.bundle +0 -0
  277. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/ext.rb +23 -0
  278. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/generic_object.rb +75 -0
  279. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/truffle_ruby/generator.rb +621 -0
  280. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/version.rb +5 -0
  281. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json.rb +587 -0
  282. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/ci.yml +30 -0
  283. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/experimental.yml +33 -0
  284. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.gitignore +8 -0
  285. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.rspec +4 -0
  286. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/CHANGELOG.md +410 -0
  287. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/CONTRIBUTING.md +20 -0
  288. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Gemfile +36 -0
  289. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Guardfile +9 -0
  290. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/LICENSE +22 -0
  291. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/README.md +588 -0
  292. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Rakefile +38 -0
  293. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/UPGRADE.md +55 -0
  294. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/rack/typhoeus/middleware/params_decoder/helper.rb +76 -0
  295. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/rack/typhoeus/middleware/params_decoder.rb +57 -0
  296. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/rack/typhoeus.rb +1 -0
  297. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/adapters/faraday.rb +180 -0
  298. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/cache/dalli.rb +28 -0
  299. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/cache/rails.rb +28 -0
  300. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/cache/redis.rb +35 -0
  301. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/config.rb +85 -0
  302. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/easy_factory.rb +206 -0
  303. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/errors/no_stub.rb +12 -0
  304. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/errors/typhoeus_error.rb +8 -0
  305. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/errors.rb +9 -0
  306. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/expectation.rb +217 -0
  307. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/addable.rb +23 -0
  308. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/before.rb +31 -0
  309. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/block_connection.rb +35 -0
  310. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/cacheable.rb +15 -0
  311. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/memoizable.rb +56 -0
  312. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/queueable.rb +83 -0
  313. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/runnable.rb +19 -0
  314. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/stubbable.rb +28 -0
  315. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra.rb +95 -0
  316. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/pool.rb +70 -0
  317. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/railtie.rb +12 -0
  318. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/actions.rb +125 -0
  319. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/before.rb +30 -0
  320. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/block_connection.rb +52 -0
  321. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/cacheable.rb +38 -0
  322. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/callbacks.rb +151 -0
  323. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/marshal.rb +22 -0
  324. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/memoizable.rb +38 -0
  325. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/operations.rb +40 -0
  326. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/responseable.rb +29 -0
  327. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/streamable.rb +34 -0
  328. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/stubbable.rb +30 -0
  329. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request.rb +223 -0
  330. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/cacheable.rb +14 -0
  331. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/header.rb +105 -0
  332. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/informations.rb +305 -0
  333. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/status.rb +106 -0
  334. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response.rb +68 -0
  335. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/version.rb +5 -0
  336. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus.rb +143 -0
  337. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/profile.rb +14 -0
  338. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/vs_nethttp.rb +64 -0
  339. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +156 -0
  340. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder_spec.rb +31 -0
  341. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/spec_helper.rb +29 -0
  342. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/localhost_server.rb +94 -0
  343. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/memory_cache.rb +15 -0
  344. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/server.rb +116 -0
  345. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/adapters/faraday_spec.rb +339 -0
  346. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/dalli_spec.rb +41 -0
  347. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/redis_spec.rb +41 -0
  348. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/config_spec.rb +15 -0
  349. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/easy_factory_spec.rb +143 -0
  350. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/errors/no_stub_spec.rb +13 -0
  351. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/expectation_spec.rb +280 -0
  352. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/addable_spec.rb +22 -0
  353. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/before_spec.rb +98 -0
  354. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/block_connection_spec.rb +18 -0
  355. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/cacheable_spec.rb +88 -0
  356. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/memoizable_spec.rb +53 -0
  357. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/queueable_spec.rb +98 -0
  358. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/runnable_spec.rb +137 -0
  359. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/stubbable_spec.rb +48 -0
  360. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra_spec.rb +22 -0
  361. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/pool_spec.rb +137 -0
  362. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/actions_spec.rb +19 -0
  363. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/before_spec.rb +93 -0
  364. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/block_connection_spec.rb +75 -0
  365. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/cacheable_spec.rb +94 -0
  366. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/callbacks_spec.rb +91 -0
  367. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/marshal_spec.rb +60 -0
  368. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/memoizable_spec.rb +34 -0
  369. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/operations_spec.rb +101 -0
  370. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/responseable_spec.rb +13 -0
  371. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/stubbable_spec.rb +45 -0
  372. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request_spec.rb +256 -0
  373. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/header_spec.rb +147 -0
  374. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/informations_spec.rb +323 -0
  375. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/status_spec.rb +256 -0
  376. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response_spec.rb +100 -0
  377. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus_spec.rb +105 -0
  378. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/typhoeus.gemspec +25 -0
  379. data/.github/.example/vendor/bundle/ruby/3.3.0/specifications/ethon-0.16.0.gemspec +24 -0
  380. data/.github/.example/vendor/bundle/ruby/3.3.0/specifications/ffi-1.17.0-arm64-darwin.gemspec +31 -0
  381. data/.github/.example/vendor/bundle/ruby/3.3.0/specifications/json-2.8.2.gemspec +0 -0
  382. data/.github/.example/vendor/bundle/ruby/3.3.0/specifications/typhoeus-1.4.1.gemspec +24 -0
  383. data/.github/dependabot.yml +10 -0
  384. data/.github/workflows/test.yml +75 -0
  385. data/README.md +546 -562
  386. data/docker-compose.yml +47 -0
  387. data/docs/AccountAnalytics.md +1 -1
  388. data/docs/Achievement.md +8 -0
  389. data/docs/AdditionalCampaignProperties.md +1 -1
  390. data/docs/AnalyticsProduct.md +23 -0
  391. data/docs/AnalyticsProductSKU.md +21 -0
  392. data/docs/ApplicationCampaignStats.md +2 -0
  393. data/docs/ApplicationCustomer.md +8 -8
  394. data/docs/ApplicationSession.md +2 -2
  395. data/docs/AudienceCustomer.md +2 -2
  396. data/docs/BaseLoyaltyProgram.md +3 -1
  397. data/docs/BulkOperationOnCampaigns.md +3 -1
  398. data/docs/Campaign.md +3 -1
  399. data/docs/CampaignTemplate.md +3 -1
  400. data/docs/CampaignTemplateCouponReservationSettings.md +19 -0
  401. data/docs/CampaignVersions.md +3 -1
  402. data/docs/Change.md +1 -1
  403. data/docs/CouponDeletionFilters.md +1 -1
  404. data/docs/CreateAchievement.md +9 -1
  405. data/docs/CustomerProfile.md +2 -2
  406. data/docs/CustomerProfileAudienceRequestItem.md +1 -1
  407. data/docs/CustomerSession.md +1 -1
  408. data/docs/CustomerSessionV2.md +10 -8
  409. data/docs/FeatureFlag.md +1 -1
  410. data/docs/GenerateCampaignDescription.md +2 -2
  411. data/docs/GenerateCampaignTags.md +2 -2
  412. data/docs/GenerateLoyaltyCard.md +3 -1
  413. data/docs/InlineResponse20020.md +1 -1
  414. data/docs/InlineResponse20021.md +4 -2
  415. data/docs/InlineResponse20022.md +3 -3
  416. data/docs/InlineResponse20023.md +1 -1
  417. data/docs/InlineResponse20024.md +1 -3
  418. data/docs/InlineResponse20025.md +1 -1
  419. data/docs/InlineResponse20026.md +2 -2
  420. data/docs/InlineResponse20027.md +2 -2
  421. data/docs/InlineResponse20028.md +3 -3
  422. data/docs/InlineResponse20029.md +5 -3
  423. data/docs/InlineResponse20030.md +1 -3
  424. data/docs/InlineResponse20031.md +1 -1
  425. data/docs/InlineResponse20032.md +3 -1
  426. data/docs/InlineResponse20033.md +3 -5
  427. data/docs/InlineResponse20034.md +5 -3
  428. data/docs/InlineResponse20035.md +3 -5
  429. data/docs/InlineResponse20036.md +1 -1
  430. data/docs/InlineResponse20037.md +1 -1
  431. data/docs/InlineResponse20038.md +1 -1
  432. data/docs/InlineResponse20039.md +1 -1
  433. data/docs/InlineResponse20040.md +1 -1
  434. data/docs/InlineResponse20041.md +4 -2
  435. data/docs/InlineResponse20042.md +2 -4
  436. data/docs/InlineResponse20043.md +1 -1
  437. data/docs/InlineResponse20044.md +5 -3
  438. data/docs/InlineResponse20045.md +1 -3
  439. data/docs/InlineResponse20046.md +3 -3
  440. data/docs/IntegrationApi.md +8 -8
  441. data/docs/IntegrationCustomerSessionResponse.md +1 -1
  442. data/docs/LedgerInfo.md +2 -2
  443. data/docs/ListCampaignStoreBudgets.md +23 -0
  444. data/docs/ListCampaignStoreBudgetsStore.md +21 -0
  445. data/docs/LoyaltyCard.md +4 -0
  446. data/docs/LoyaltyCardBatch.md +3 -1
  447. data/docs/LoyaltyLedger.md +1 -1
  448. data/docs/LoyaltyMembership.md +1 -1
  449. data/docs/LoyaltyProgram.md +5 -3
  450. data/docs/LoyaltyProgramBalance.md +2 -2
  451. data/docs/LoyaltyProgramEntity.md +5 -1
  452. data/docs/LoyaltyTier.md +6 -2
  453. data/docs/ManagementApi.md +114 -188
  454. data/docs/MessageLogEntry.md +10 -2
  455. data/docs/NewCampaignStoreBudget.md +21 -0
  456. data/docs/NewCampaignStoreBudgetStoreLimit.md +19 -0
  457. data/docs/NewCampaignTemplate.md +2 -0
  458. data/docs/NewCustomerSessionV2.md +4 -4
  459. data/docs/NewLoyaltyProgram.md +2 -0
  460. data/docs/NewLoyaltyTier.md +2 -2
  461. data/docs/NewPicklist.md +1 -1
  462. data/docs/NewWebhook.md +1 -1
  463. data/docs/Picklist.md +1 -1
  464. data/docs/Product.md +1 -1
  465. data/docs/ProductSearchMatch.md +21 -0
  466. data/docs/ProductSkuUnitAnalytics.md +23 -0
  467. data/docs/ProductUnitAnalytics.md +25 -0
  468. data/docs/ScimNewUser.md +1 -1
  469. data/docs/ScimServiceProviderConfigResponse.md +3 -1
  470. data/docs/ScimServiceProviderConfigResponseSort.md +17 -0
  471. data/docs/ScimUser.md +1 -1
  472. data/docs/Store.md +2 -2
  473. data/docs/StrikethroughDebugResponse.md +19 -0
  474. data/docs/SummaryCampaignStoreBudget.md +21 -0
  475. data/docs/TemplateArgDef.md +2 -0
  476. data/docs/UpdateAchievement.md +9 -1
  477. data/docs/UpdateCampaignTemplate.md +2 -0
  478. data/docs/UpdateLoyaltyProgram.md +2 -0
  479. data/docs/UpdateLoyaltyProgramTier.md +21 -0
  480. data/docs/UpdatePicklist.md +1 -1
  481. data/docs/User.md +2 -2
  482. data/docs/ValueMap.md +23 -0
  483. data/docs/Webhook.md +1 -1
  484. data/docs/WebhookLogEntry.md +1 -1
  485. data/docs/WebhookWithOutgoingIntegrationDetails.md +1 -1
  486. data/lib/talon_one/api/integration_api.rb +13 -13
  487. data/lib/talon_one/api/management_api.rb +156 -245
  488. data/lib/talon_one/models/account.rb +0 -1
  489. data/lib/talon_one/models/account_additional_cost.rb +0 -1
  490. data/lib/talon_one/models/achievement.rb +87 -2
  491. data/lib/talon_one/models/add_loyalty_points_effect_props.rb +11 -0
  492. data/lib/talon_one/models/additional_campaign_properties.rb +3 -3
  493. data/lib/talon_one/models/analytics_product.rb +252 -0
  494. data/lib/talon_one/models/analytics_product_sku.rb +242 -0
  495. data/lib/talon_one/models/application.rb +0 -1
  496. data/lib/talon_one/models/application_api_key.rb +0 -1
  497. data/lib/talon_one/models/application_campaign_analytics.rb +2 -2
  498. data/lib/talon_one/models/application_campaign_stats.rb +16 -1
  499. data/lib/talon_one/models/application_cif.rb +0 -1
  500. data/lib/talon_one/models/application_cif_expression.rb +0 -1
  501. data/lib/talon_one/models/application_customer.rb +4 -5
  502. data/lib/talon_one/models/application_event.rb +0 -1
  503. data/lib/talon_one/models/application_referee.rb +0 -1
  504. data/lib/talon_one/models/application_session.rb +1 -2
  505. data/lib/talon_one/models/async_coupon_deletion_job_response.rb +0 -1
  506. data/lib/talon_one/models/attribute.rb +0 -1
  507. data/lib/talon_one/models/audience.rb +0 -1
  508. data/lib/talon_one/models/audience_customer.rb +1 -2
  509. data/lib/talon_one/models/base_loyalty_program.rb +26 -4
  510. data/lib/talon_one/models/base_notification.rb +0 -1
  511. data/lib/talon_one/models/base_notification_webhook.rb +0 -1
  512. data/lib/talon_one/models/bulk_operation_on_campaigns.rb +16 -6
  513. data/lib/talon_one/models/campaign.rb +26 -5
  514. data/lib/talon_one/models/campaign_analytics.rb +0 -1
  515. data/lib/talon_one/models/campaign_collection.rb +0 -1
  516. data/lib/talon_one/models/campaign_collection_without_payload.rb +0 -1
  517. data/lib/talon_one/models/campaign_evaluation_group.rb +0 -1
  518. data/lib/talon_one/models/campaign_group.rb +0 -1
  519. data/lib/talon_one/models/campaign_set.rb +0 -1
  520. data/lib/talon_one/models/campaign_store_budget.rb +0 -1
  521. data/lib/talon_one/models/campaign_template.rb +10 -2
  522. data/lib/talon_one/models/campaign_template_coupon_reservation_settings.rb +243 -0
  523. data/lib/talon_one/models/campaign_versions.rb +45 -1
  524. data/lib/talon_one/models/card_ledger_transaction_log_entry.rb +11 -0
  525. data/lib/talon_one/models/card_ledger_transaction_log_entry_integration_api.rb +11 -0
  526. data/lib/talon_one/models/catalog.rb +0 -1
  527. data/lib/talon_one/models/catalog_item.rb +0 -1
  528. data/lib/talon_one/models/change.rb +0 -1
  529. data/lib/talon_one/models/code_generator_settings.rb +11 -0
  530. data/lib/talon_one/models/collection.rb +0 -1
  531. data/lib/talon_one/models/collection_item.rb +0 -1
  532. data/lib/talon_one/models/collection_without_payload.rb +0 -1
  533. data/lib/talon_one/models/coupon.rb +0 -1
  534. data/lib/talon_one/models/coupon_creation_job.rb +0 -1
  535. data/lib/talon_one/models/coupon_deletion_filters.rb +0 -2
  536. data/lib/talon_one/models/coupon_deletion_job.rb +0 -1
  537. data/lib/talon_one/models/create_achievement.rb +90 -4
  538. data/lib/talon_one/models/custom_effect.rb +0 -1
  539. data/lib/talon_one/models/customer_profile.rb +1 -2
  540. data/lib/talon_one/models/customer_profile_audience_request_item.rb +1 -1
  541. data/lib/talon_one/models/customer_profile_integration_request_v2.rb +1 -1
  542. data/lib/talon_one/models/customer_session.rb +0 -1
  543. data/lib/talon_one/models/customer_session_v2.rb +20 -10
  544. data/lib/talon_one/models/deactivate_user_request.rb +0 -1
  545. data/lib/talon_one/models/deduct_loyalty_points_effect_props.rb +11 -0
  546. data/lib/talon_one/models/effect.rb +1 -1
  547. data/lib/talon_one/models/environment.rb +0 -1
  548. data/lib/talon_one/models/event.rb +0 -1
  549. data/lib/talon_one/models/event_type.rb +0 -1
  550. data/lib/talon_one/models/event_v2.rb +0 -1
  551. data/lib/talon_one/models/export.rb +0 -1
  552. data/lib/talon_one/models/features_feed.rb +0 -1
  553. data/lib/talon_one/models/generate_campaign_description.rb +11 -11
  554. data/lib/talon_one/models/generate_campaign_tags.rb +11 -11
  555. data/lib/talon_one/models/generate_loyalty_card.rb +40 -4
  556. data/lib/talon_one/models/giveaway.rb +0 -1
  557. data/lib/talon_one/models/import.rb +0 -1
  558. data/lib/talon_one/models/inline_response20020.rb +1 -1
  559. data/lib/talon_one/models/inline_response20021.rb +11 -7
  560. data/lib/talon_one/models/inline_response20022.rb +10 -10
  561. data/lib/talon_one/models/inline_response20023.rb +1 -1
  562. data/lib/talon_one/models/inline_response20024.rb +6 -10
  563. data/lib/talon_one/models/inline_response20025.rb +1 -1
  564. data/lib/talon_one/models/inline_response20026.rb +1 -6
  565. data/lib/talon_one/models/inline_response20027.rb +6 -1
  566. data/lib/talon_one/models/inline_response20028.rb +11 -11
  567. data/lib/talon_one/models/inline_response20029.rb +11 -7
  568. data/lib/talon_one/models/inline_response20030.rb +2 -11
  569. data/lib/talon_one/models/inline_response20031.rb +1 -1
  570. data/lib/talon_one/models/inline_response20032.rb +11 -2
  571. data/lib/talon_one/models/inline_response20033.rb +7 -11
  572. data/lib/talon_one/models/inline_response20034.rb +11 -7
  573. data/lib/talon_one/models/inline_response20035.rb +7 -11
  574. data/lib/talon_one/models/inline_response20036.rb +1 -1
  575. data/lib/talon_one/models/inline_response20037.rb +1 -1
  576. data/lib/talon_one/models/inline_response20038.rb +1 -1
  577. data/lib/talon_one/models/inline_response20039.rb +1 -1
  578. data/lib/talon_one/models/inline_response20040.rb +1 -1
  579. data/lib/talon_one/models/inline_response20041.rb +11 -7
  580. data/lib/talon_one/models/inline_response20042.rb +7 -11
  581. data/lib/talon_one/models/inline_response20043.rb +1 -1
  582. data/lib/talon_one/models/inline_response20044.rb +11 -7
  583. data/lib/talon_one/models/inline_response20045.rb +2 -11
  584. data/lib/talon_one/models/inline_response20046.rb +6 -1
  585. data/lib/talon_one/models/integration_coupon.rb +0 -1
  586. data/lib/talon_one/models/integration_customer_session_response.rb +1 -0
  587. data/lib/talon_one/models/integration_event.rb +0 -1
  588. data/lib/talon_one/models/integration_event_v2_request.rb +0 -1
  589. data/lib/talon_one/models/inventory_coupon.rb +0 -1
  590. data/lib/talon_one/models/inventory_referral.rb +0 -1
  591. data/lib/talon_one/models/item_attribute.rb +0 -1
  592. data/lib/talon_one/models/ledger_entry.rb +1 -1
  593. data/lib/talon_one/models/ledger_info.rb +3 -3
  594. data/lib/talon_one/models/library_attribute.rb +0 -1
  595. data/lib/talon_one/models/limit_counter.rb +0 -1
  596. data/lib/talon_one/models/list_campaign_store_budgets.rb +248 -0
  597. data/lib/talon_one/models/list_campaign_store_budgets_store.rb +239 -0
  598. data/lib/talon_one/models/login_params.rb +0 -1
  599. data/lib/talon_one/models/loyalty_balance_with_tier.rb +1 -1
  600. data/lib/talon_one/models/loyalty_card.rb +54 -2
  601. data/lib/talon_one/models/loyalty_card_balances.rb +1 -1
  602. data/lib/talon_one/models/loyalty_card_batch.rb +13 -5
  603. data/lib/talon_one/models/loyalty_program.rb +25 -3
  604. data/lib/talon_one/models/loyalty_program_balance.rb +2 -2
  605. data/lib/talon_one/models/loyalty_program_entity.rb +24 -4
  606. data/lib/talon_one/models/loyalty_program_transaction.rb +11 -0
  607. data/lib/talon_one/models/loyalty_tier.rb +24 -4
  608. data/lib/talon_one/models/management_key.rb +0 -1
  609. data/lib/talon_one/models/message_log_entry.rb +67 -7
  610. data/lib/talon_one/models/model_return.rb +0 -1
  611. data/lib/talon_one/models/multiple_audiences_item.rb +0 -1
  612. data/lib/talon_one/models/multiple_customer_profile_integration_request_item.rb +1 -1
  613. data/lib/talon_one/models/new_account_sign_up.rb +0 -1
  614. data/lib/talon_one/models/new_additional_cost.rb +0 -1
  615. data/lib/talon_one/models/new_application_api_key.rb +0 -1
  616. data/lib/talon_one/models/new_attribute.rb +0 -1
  617. data/lib/talon_one/models/new_audience.rb +0 -1
  618. data/lib/talon_one/models/new_base_notification.rb +0 -1
  619. data/lib/talon_one/models/new_campaign.rb +0 -1
  620. data/lib/talon_one/models/new_campaign_collection.rb +0 -1
  621. data/lib/talon_one/models/new_campaign_set.rb +0 -1
  622. data/lib/talon_one/models/new_campaign_store_budget.rb +283 -0
  623. data/lib/talon_one/models/new_campaign_store_budget_store_limit.rb +227 -0
  624. data/lib/talon_one/models/new_campaign_template.rb +10 -1
  625. data/lib/talon_one/models/new_catalog.rb +0 -1
  626. data/lib/talon_one/models/new_collection.rb +0 -1
  627. data/lib/talon_one/models/new_coupon_creation_job.rb +0 -1
  628. data/lib/talon_one/models/new_coupons.rb +0 -1
  629. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +0 -1
  630. data/lib/talon_one/models/new_custom_effect.rb +0 -1
  631. data/lib/talon_one/models/new_customer_session.rb +0 -1
  632. data/lib/talon_one/models/new_customer_session_v2.rb +3 -3
  633. data/lib/talon_one/models/new_event.rb +0 -1
  634. data/lib/talon_one/models/new_event_type.rb +0 -1
  635. data/lib/talon_one/models/new_loyalty_program.rb +24 -2
  636. data/lib/talon_one/models/new_loyalty_tier.rb +2 -2
  637. data/lib/talon_one/models/new_management_key.rb +0 -1
  638. data/lib/talon_one/models/new_multiple_audiences_item.rb +0 -1
  639. data/lib/talon_one/models/new_referral.rb +0 -1
  640. data/lib/talon_one/models/new_referrals_for_multiple_advocates.rb +0 -1
  641. data/lib/talon_one/models/new_role.rb +0 -1
  642. data/lib/talon_one/models/new_role_v2.rb +0 -1
  643. data/lib/talon_one/models/new_saml_connection.rb +1 -1
  644. data/lib/talon_one/models/new_store.rb +0 -1
  645. data/lib/talon_one/models/new_user.rb +0 -1
  646. data/lib/talon_one/models/new_webhook.rb +1 -2
  647. data/lib/talon_one/models/outgoing_integration_template_with_configuration_details.rb +0 -1
  648. data/lib/talon_one/models/picklist.rb +0 -1
  649. data/lib/talon_one/models/product.rb +1 -1
  650. data/lib/talon_one/models/product_search_match.rb +237 -0
  651. data/lib/talon_one/models/product_sku_unit_analytics.rb +256 -0
  652. data/lib/talon_one/models/product_unit_analytics.rb +271 -0
  653. data/lib/talon_one/models/referral.rb +0 -1
  654. data/lib/talon_one/models/revision.rb +0 -1
  655. data/lib/talon_one/models/revision_version.rb +0 -1
  656. data/lib/talon_one/models/role.rb +0 -1
  657. data/lib/talon_one/models/role_assign.rb +0 -1
  658. data/lib/talon_one/models/role_v2.rb +0 -1
  659. data/lib/talon_one/models/rollback_added_loyalty_points_effect_props.rb +11 -0
  660. data/lib/talon_one/models/rollback_deducted_loyalty_points_effect_props.rb +11 -0
  661. data/lib/talon_one/models/ruleset.rb +0 -1
  662. data/lib/talon_one/models/saml_connection.rb +1 -1
  663. data/lib/talon_one/models/scim_new_user.rb +5 -0
  664. data/lib/talon_one/models/scim_service_provider_config_response.rb +13 -4
  665. data/lib/talon_one/models/scim_service_provider_config_response_sort.rb +208 -0
  666. data/lib/talon_one/models/scim_user.rb +5 -0
  667. data/lib/talon_one/models/store.rb +1 -2
  668. data/lib/talon_one/models/strikethrough_debug_response.rb +221 -0
  669. data/lib/talon_one/models/summary_campaign_store_budget.rb +280 -0
  670. data/lib/talon_one/models/talang_attribute.rb +0 -1
  671. data/lib/talon_one/models/template_arg_def.rb +11 -2
  672. data/lib/talon_one/models/template_def.rb +0 -1
  673. data/lib/talon_one/models/template_limit_config.rb +0 -1
  674. data/lib/talon_one/models/transfer_loyalty_card.rb +11 -0
  675. data/lib/talon_one/models/update_achievement.rb +90 -4
  676. data/lib/talon_one/models/update_campaign_evaluation_group.rb +0 -1
  677. data/lib/talon_one/models/update_campaign_group.rb +0 -1
  678. data/lib/talon_one/models/update_campaign_template.rb +10 -1
  679. data/lib/talon_one/models/update_coupon.rb +0 -1
  680. data/lib/talon_one/models/update_coupon_batch.rb +0 -1
  681. data/lib/talon_one/models/update_loyalty_program.rb +24 -2
  682. data/lib/talon_one/models/update_loyalty_program_tier.rb +257 -0
  683. data/lib/talon_one/models/update_picklist.rb +0 -1
  684. data/lib/talon_one/models/user.rb +0 -1
  685. data/lib/talon_one/models/value_map.rb +245 -0
  686. data/lib/talon_one/models/webhook.rb +1 -2
  687. data/lib/talon_one/models/webhook_log_entry.rb +1 -1
  688. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +1 -2
  689. data/lib/talon_one/version.rb +1 -1
  690. data/lib/talon_one.rb +15 -4
  691. data/spec/api/integration_api_spec.rb +5 -5
  692. data/spec/api/management_api_spec.rb +58 -76
  693. data/spec/models/achievement_spec.rb +32 -0
  694. data/spec/models/additional_campaign_properties_spec.rb +1 -1
  695. data/spec/models/analytics_product_sku_spec.rb +53 -0
  696. data/spec/models/analytics_product_spec.rb +59 -0
  697. data/spec/models/application_campaign_analytics_spec.rb +1 -1
  698. data/spec/models/application_campaign_stats_spec.rb +6 -0
  699. data/spec/models/base_loyalty_program_spec.rb +10 -0
  700. data/spec/models/bulk_operation_on_campaigns_spec.rb +7 -1
  701. data/spec/models/campaign_spec.rb +11 -1
  702. data/spec/models/campaign_template_coupon_reservation_settings_spec.rb +47 -0
  703. data/spec/models/campaign_template_spec.rb +6 -0
  704. data/spec/models/campaign_versions_spec.rb +10 -0
  705. data/spec/models/create_achievement_spec.rb +32 -0
  706. data/spec/models/customer_session_v2_spec.rb +6 -0
  707. data/spec/models/generate_campaign_description_spec.rb +1 -1
  708. data/spec/models/generate_campaign_tags_spec.rb +1 -1
  709. data/spec/models/generate_loyalty_card_spec.rb +6 -0
  710. data/spec/models/inline_response20021_spec.rb +6 -0
  711. data/spec/models/inline_response20022_spec.rb +2 -2
  712. data/spec/models/inline_response20024_spec.rb +0 -6
  713. data/spec/models/inline_response20028_spec.rb +1 -1
  714. data/spec/models/inline_response20029_spec.rb +6 -0
  715. data/spec/models/inline_response20030_spec.rb +0 -6
  716. data/spec/models/inline_response20032_spec.rb +6 -0
  717. data/spec/models/inline_response20033_spec.rb +0 -6
  718. data/spec/models/inline_response20034_spec.rb +6 -0
  719. data/spec/models/inline_response20035_spec.rb +0 -6
  720. data/spec/models/inline_response20041_spec.rb +6 -0
  721. data/spec/models/inline_response20042_spec.rb +0 -6
  722. data/spec/models/inline_response20044_spec.rb +6 -0
  723. data/spec/models/inline_response20045_spec.rb +0 -6
  724. data/spec/models/limit_config_spec.rb +1 -1
  725. data/spec/models/list_campaign_store_budgets_spec.rb +59 -0
  726. data/spec/models/list_campaign_store_budgets_store_spec.rb +53 -0
  727. data/spec/models/loyalty_card_batch_spec.rb +6 -0
  728. data/spec/models/loyalty_card_spec.rb +12 -0
  729. data/spec/models/loyalty_program_entity_spec.rb +12 -0
  730. data/spec/models/loyalty_program_spec.rb +10 -0
  731. data/spec/models/loyalty_tier_spec.rb +12 -0
  732. data/spec/models/message_log_entry_spec.rb +25 -1
  733. data/spec/models/new_campaign_store_budget_spec.rb +61 -0
  734. data/spec/models/new_campaign_store_budget_store_limit_spec.rb +47 -0
  735. data/spec/models/new_campaign_template_spec.rb +6 -0
  736. data/spec/models/new_loyalty_program_spec.rb +10 -0
  737. data/spec/models/product_search_match_spec.rb +53 -0
  738. data/spec/models/product_sku_unit_analytics_spec.rb +59 -0
  739. data/spec/models/product_unit_analytics_spec.rb +65 -0
  740. data/spec/models/scim_service_provider_config_response_sort_spec.rb +41 -0
  741. data/spec/models/scim_service_provider_config_response_spec.rb +6 -0
  742. data/spec/models/strikethrough_debug_response_spec.rb +47 -0
  743. data/spec/models/summary_campaign_store_budget_spec.rb +61 -0
  744. data/spec/models/template_arg_def_spec.rb +6 -0
  745. data/spec/models/template_limit_config_spec.rb +1 -1
  746. data/spec/models/update_achievement_spec.rb +32 -0
  747. data/spec/models/update_campaign_template_spec.rb +6 -0
  748. data/spec/models/update_loyalty_program_spec.rb +10 -0
  749. data/spec/models/update_loyalty_program_tier_spec.rb +53 -0
  750. data/spec/models/value_map_spec.rb +59 -0
  751. metadata +447 -6
@@ -0,0 +1,228 @@
1
+ # frozen_string_literal: true
2
+ module Ethon
3
+ class Multi # :nodoc
4
+ # This module contains logic to run a multi.
5
+ module Operations
6
+ STARTED_MULTI = "ETHON: started MULTI"
7
+ PERFORMED_MULTI = "ETHON: performed MULTI"
8
+
9
+ # Return the multi handle. Inititialize multi handle,
10
+ # in case it didn't happened already.
11
+ #
12
+ # @example Return multi handle.
13
+ # multi.handle
14
+ #
15
+ # @return [ FFI::Pointer ] The multi handle.
16
+ def handle
17
+ @handle ||= FFI::AutoPointer.new(Curl.multi_init, Curl.method(:multi_cleanup))
18
+ end
19
+
20
+ # Initialize variables.
21
+ #
22
+ # @example Initialize variables.
23
+ # multi.init_vars
24
+ #
25
+ # @return [ void ]
26
+ def init_vars
27
+ if @execution_mode == :perform
28
+ @timeout = ::FFI::MemoryPointer.new(:long)
29
+ @timeval = Curl::Timeval.new
30
+ @fd_read = Curl::FDSet.new
31
+ @fd_write = Curl::FDSet.new
32
+ @fd_excep = Curl::FDSet.new
33
+ @max_fd = ::FFI::MemoryPointer.new(:int)
34
+ elsif @execution_mode == :socket_action
35
+ @running_count_pointer = FFI::MemoryPointer.new(:int)
36
+ end
37
+ end
38
+
39
+ # Perform multi.
40
+ #
41
+ # @return [ nil ]
42
+ #
43
+ # @example Perform multi.
44
+ # multi.perform
45
+ def perform
46
+ ensure_execution_mode(:perform)
47
+
48
+ Ethon.logger.debug(STARTED_MULTI)
49
+ while ongoing?
50
+ run
51
+ timeout = get_timeout
52
+ next if timeout == 0
53
+ reset_fds
54
+ set_fds(timeout)
55
+ end
56
+ Ethon.logger.debug(PERFORMED_MULTI)
57
+ nil
58
+ end
59
+
60
+ # Prepare multi.
61
+ #
62
+ # @return [ nil ]
63
+ #
64
+ # @example Prepare multi.
65
+ # multi.prepare
66
+ #
67
+ # @deprecated It is no longer necessary to call prepare.
68
+ def prepare
69
+ Ethon.logger.warn(
70
+ "ETHON: It is no longer necessay to call "+
71
+ "Multi#prepare. Its going to be removed "+
72
+ "in future versions."
73
+ )
74
+ end
75
+
76
+ # Continue execution with an external IO loop.
77
+ #
78
+ # @example When no sockets are ready yet, or to begin.
79
+ # multi.socket_action
80
+ #
81
+ # @example When a socket is readable
82
+ # multi.socket_action(io_object, [:in])
83
+ #
84
+ # @example When a socket is readable and writable
85
+ # multi.socket_action(io_object, [:in, :out])
86
+ #
87
+ # @return [ Symbol ] The Curl.multi_socket_action return code.
88
+ def socket_action(io = nil, readiness = 0)
89
+ ensure_execution_mode(:socket_action)
90
+
91
+ fd = if io.nil?
92
+ ::Ethon::Curl::SOCKET_TIMEOUT
93
+ elsif io.is_a?(Integer)
94
+ io
95
+ else
96
+ io.fileno
97
+ end
98
+
99
+ code = Curl.multi_socket_action(handle, fd, readiness, @running_count_pointer)
100
+ @running_count = @running_count_pointer.read_int
101
+
102
+ check
103
+
104
+ code
105
+ end
106
+
107
+ # Return whether the multi still contains requests or not.
108
+ #
109
+ # @example Return if ongoing.
110
+ # multi.ongoing?
111
+ #
112
+ # @return [ Boolean ] True if ongoing, else false.
113
+ def ongoing?
114
+ easy_handles.size > 0 || (!defined?(@running_count) || running_count > 0)
115
+ end
116
+
117
+ private
118
+
119
+ # Get timeout.
120
+ #
121
+ # @example Get timeout.
122
+ # multi.get_timeout
123
+ #
124
+ # @return [ Integer ] The timeout.
125
+ #
126
+ # @raise [ Ethon::Errors::MultiTimeout ] If getting the timeout fails.
127
+ def get_timeout
128
+ code = Curl.multi_timeout(handle, @timeout)
129
+ raise Errors::MultiTimeout.new(code) unless code == :ok
130
+ timeout = @timeout.read_long
131
+ timeout = 1 if timeout < 0
132
+ timeout
133
+ end
134
+
135
+ # Reset file describtors.
136
+ #
137
+ # @example Reset fds.
138
+ # multi.reset_fds
139
+ #
140
+ # @return [ void ]
141
+ def reset_fds
142
+ @fd_read.clear
143
+ @fd_write.clear
144
+ @fd_excep.clear
145
+ end
146
+
147
+ # Set fds.
148
+ #
149
+ # @example Set fds.
150
+ # multi.set_fds
151
+ #
152
+ # @return [ void ]
153
+ #
154
+ # @raise [ Ethon::Errors::MultiFdset ] If setting the file descriptors fails.
155
+ # @raise [ Ethon::Errors::Select ] If select fails.
156
+ def set_fds(timeout)
157
+ code = Curl.multi_fdset(handle, @fd_read, @fd_write, @fd_excep, @max_fd)
158
+ raise Errors::MultiFdset.new(code) unless code == :ok
159
+ max_fd = @max_fd.read_int
160
+ if max_fd == -1
161
+ sleep(0.001)
162
+ else
163
+ @timeval[:sec] = timeout / 1000
164
+ @timeval[:usec] = (timeout * 1000) % 1000000
165
+ loop do
166
+ code = Curl.select(max_fd + 1, @fd_read, @fd_write, @fd_excep, @timeval)
167
+ break unless code < 0 && ::FFI.errno == Errno::EINTR::Errno
168
+ end
169
+ raise Errors::Select.new(::FFI.errno) if code < 0
170
+ end
171
+ end
172
+
173
+ # Check.
174
+ #
175
+ # @example Check.
176
+ # multi.check
177
+ #
178
+ # @return [ void ]
179
+ def check
180
+ msgs_left = ::FFI::MemoryPointer.new(:int)
181
+ while true
182
+ msg = Curl.multi_info_read(handle, msgs_left)
183
+ break if msg.null?
184
+ next if msg[:code] != :done
185
+ easy = easy_handles.find{ |e| e.handle == msg[:easy_handle] }
186
+ easy.return_code = msg[:data][:code]
187
+ Ethon.logger.debug { "ETHON: performed #{easy.log_inspect}" }
188
+ delete(easy)
189
+ easy.complete
190
+ end
191
+ end
192
+
193
+ # Run.
194
+ #
195
+ # @example Run
196
+ # multi.run
197
+ #
198
+ # @return [ void ]
199
+ def run
200
+ running_count_pointer = FFI::MemoryPointer.new(:int)
201
+ begin code = trigger(running_count_pointer) end while code == :call_multi_perform
202
+ check
203
+ end
204
+
205
+ # Trigger.
206
+ #
207
+ # @example Trigger.
208
+ # multi.trigger
209
+ #
210
+ # @return [ Symbol ] The Curl.multi_perform return code.
211
+ def trigger(running_count_pointer)
212
+ code = Curl.multi_perform(handle, running_count_pointer)
213
+ @running_count = running_count_pointer.read_int
214
+ code
215
+ end
216
+
217
+ # Return number of running requests.
218
+ #
219
+ # @example Return count.
220
+ # multi.running_count
221
+ #
222
+ # @return [ Integer ] Number running requests.
223
+ def running_count
224
+ @running_count ||= nil
225
+ end
226
+ end
227
+ end
228
+ end
@@ -0,0 +1,117 @@
1
+ # frozen_string_literal: true
2
+ module Ethon
3
+ class Multi
4
+
5
+ # This module contains the logic and knowledge about the
6
+ # available options on multi.
7
+ module Options
8
+
9
+ # Sets max_total_connections option.
10
+ #
11
+ # @example Set max_total_connections option.
12
+ # multi.max_total_conections = $value
13
+ #
14
+ # @param [ String ] value The value to set.
15
+ #
16
+ # @return [ void ]
17
+ def max_total_connections=(value)
18
+ Curl.set_option(:max_total_connections, value_for(value, :int), handle, :multi)
19
+ end
20
+
21
+ # Sets maxconnects option.
22
+ #
23
+ # @example Set maxconnects option.
24
+ # multi.maxconnects = $value
25
+ #
26
+ # @param [ String ] value The value to set.
27
+ #
28
+ # @return [ void ]
29
+ def maxconnects=(value)
30
+ Curl.set_option(:maxconnects, value_for(value, :int), handle, :multi)
31
+ end
32
+
33
+ # Sets pipelining option.
34
+ #
35
+ # @example Set pipelining option.
36
+ # multi.pipelining = $value
37
+ #
38
+ # @param [ String ] value The value to set.
39
+ #
40
+ # @return [ void ]
41
+ def pipelining=(value)
42
+ Curl.set_option(:pipelining, value_for(value, :int), handle, :multi)
43
+ end
44
+
45
+ # Sets socketdata option.
46
+ #
47
+ # @example Set socketdata option.
48
+ # multi.socketdata = $value
49
+ #
50
+ # @param [ String ] value The value to set.
51
+ #
52
+ # @return [ void ]
53
+ def socketdata=(value)
54
+ Curl.set_option(:socketdata, value_for(value, :string), handle, :multi)
55
+ end
56
+
57
+ # Sets socketfunction option.
58
+ #
59
+ # @example Set socketfunction option.
60
+ # multi.socketfunction = $value
61
+ #
62
+ # @param [ String ] value The value to set.
63
+ #
64
+ # @return [ void ]
65
+ def socketfunction=(value)
66
+ Curl.set_option(:socketfunction, value_for(value, :string), handle, :multi)
67
+ end
68
+
69
+ # Sets timerdata option.
70
+ #
71
+ # @example Set timerdata option.
72
+ # multi.timerdata = $value
73
+ #
74
+ # @param [ String ] value The value to set.
75
+ #
76
+ # @return [ void ]
77
+ def timerdata=(value)
78
+ Curl.set_option(:timerdata, value_for(value, :string), handle, :multi)
79
+ end
80
+
81
+ # Sets timerfunction option.
82
+ #
83
+ # @example Set timerfunction option.
84
+ # multi.timerfunction = $value
85
+ #
86
+ # @param [ String ] value The value to set.
87
+ #
88
+ # @return [ void ]
89
+ def timerfunction=(value)
90
+ Curl.set_option(:timerfunction, value_for(value, :string), handle, :multi)
91
+ end
92
+
93
+ private
94
+
95
+ # Return the value to set to multi handle. It is converted with the help
96
+ # of bool_options, enum_options and int_options.
97
+ #
98
+ # @example Return casted the value.
99
+ # multi.value_for(:verbose)
100
+ #
101
+ # @return [ Object ] The casted value.
102
+ def value_for(value, type, option = nil)
103
+ return nil if value.nil?
104
+
105
+ if type == :bool
106
+ value ? 1 : 0
107
+ elsif type == :int
108
+ value.to_i
109
+ elsif value.is_a?(String)
110
+ Ethon::Easy::Util.escape_zero_byte(value)
111
+ else
112
+ value
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+ module Ethon
3
+ class Multi
4
+
5
+ # This module provides the multi stack behaviour.
6
+ module Stack
7
+
8
+ # Return easy handles.
9
+ #
10
+ # @example Return easy handles.
11
+ # multi.easy_handles
12
+ #
13
+ # @return [ Array ] The easy handles.
14
+ def easy_handles
15
+ @easy_handles ||= []
16
+ end
17
+
18
+ # Add an easy to the stack.
19
+ #
20
+ # @example Add easy.
21
+ # multi.add(easy)
22
+ #
23
+ # @param [ Easy ] easy The easy to add.
24
+ #
25
+ # @raise [ Ethon::Errors::MultiAdd ] If adding an easy failed.
26
+ def add(easy)
27
+ return nil if easy_handles.include?(easy)
28
+
29
+ code = Curl.multi_add_handle(handle, easy.handle)
30
+ raise Errors::MultiAdd.new(code, easy) unless code == :ok
31
+ easy_handles << easy
32
+ end
33
+
34
+ # Delete an easy from stack.
35
+ #
36
+ # @example Delete easy from stack.
37
+ #
38
+ # @param [ Easy ] easy The easy to delete.
39
+ #
40
+ # @raise [ Ethon::Errors::MultiRemove ] If removing an easy failed.
41
+ def delete(easy)
42
+ if easy_handles.delete(easy)
43
+ code = Curl.multi_remove_handle(handle, easy.handle)
44
+ raise Errors::MultiRemove.new(code, handle) unless code == :ok
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,126 @@
1
+ # frozen_string_literal: true
2
+ require 'ethon/easy/util'
3
+ require 'ethon/multi/stack'
4
+ require 'ethon/multi/operations'
5
+ require 'ethon/multi/options'
6
+
7
+ module Ethon
8
+
9
+ # This class represents libcurl multi.
10
+ class Multi
11
+ include Ethon::Multi::Stack
12
+ include Ethon::Multi::Operations
13
+ include Ethon::Multi::Options
14
+
15
+ # Create a new multi. Initialize curl in case
16
+ # it didn't happen before.
17
+ #
18
+ # @example Create a new Multi.
19
+ # Multi.new
20
+ #
21
+ # @param [ Hash ] options The options.
22
+ #
23
+ # @option options :socketdata [String]
24
+ # Pass a pointer to whatever you want passed to the
25
+ # curl_socket_callback's forth argument, the userp pointer. This is not
26
+ # used by libcurl but only passed-thru as-is. Set the callback pointer
27
+ # with CURLMOPT_SOCKETFUNCTION.
28
+ # @option options :pipelining [Boolean]
29
+ # Pass a long set to 1 to enable or 0 to disable. Enabling pipelining
30
+ # on a multi handle will make it attempt to perform HTTP Pipelining as
31
+ # far as possible for transfers using this handle. This means that if
32
+ # you add a second request that can use an already existing connection,
33
+ # the second request will be "piped" on the same connection rather than
34
+ # being executed in parallel. (Added in 7.16.0)
35
+ # @option options :timerfunction [Proc]
36
+ # Pass a pointer to a function matching the curl_multi_timer_callback
37
+ # prototype. This function will then be called when the timeout value
38
+ # changes. The timeout value is at what latest time the application
39
+ # should call one of the "performing" functions of the multi interface
40
+ # (curl_multi_socket_action(3) and curl_multi_perform(3)) - to allow
41
+ # libcurl to keep timeouts and retries etc to work. A timeout value of
42
+ # -1 means that there is no timeout at all, and 0 means that the
43
+ # timeout is already reached. Libcurl attempts to limit calling this
44
+ # only when the fixed future timeout time actually changes. See also
45
+ # CURLMOPT_TIMERDATA. This callback can be used instead of, or in
46
+ # addition to, curl_multi_timeout(3). (Added in 7.16.0)
47
+ # @option options :timerdata [String]
48
+ # Pass a pointer to whatever you want passed to the
49
+ # curl_multi_timer_callback's third argument, the userp pointer. This
50
+ # is not used by libcurl but only passed-thru as-is. Set the callback
51
+ # pointer with CURLMOPT_TIMERFUNCTION. (Added in 7.16.0)
52
+ # @option options :maxconnects [Integer]
53
+ # Pass a long. The set number will be used as the maximum amount of
54
+ # simultaneously open connections that libcurl may cache. Default is
55
+ # 10, and libcurl will enlarge the size for each added easy handle to
56
+ # make it fit 4 times the number of added easy handles.
57
+ # By setting this option, you can prevent the cache size from growing
58
+ # beyond the limit set by you.
59
+ # When the cache is full, curl closes the oldest one in the cache to
60
+ # prevent the number of open connections from increasing.
61
+ # This option is for the multi handle's use only, when using the easy
62
+ # interface you should instead use the CURLOPT_MAXCONNECTS option.
63
+ # (Added in 7.16.3)
64
+ # @option options :max_total_connections [Integer]
65
+ # Pass a long. The set number will be used as the maximum amount of
66
+ # simultaneously open connections in total. For each new session,
67
+ # libcurl will open a new connection up to the limit set by
68
+ # CURLMOPT_MAX_TOTAL_CONNECTIONS. When the limit is reached, the
69
+ # sessions will be pending until there are available connections.
70
+ # If CURLMOPT_PIPELINING is 1, libcurl will try to pipeline if the host
71
+ # is capable of it.
72
+ # The default value is 0, which means that there is no limit. However,
73
+ # for backwards compatibility, setting it to 0 when CURLMOPT_PIPELINING
74
+ # is 1 will not be treated as unlimited. Instead it will open only 1
75
+ # connection and try to pipeline on it.
76
+ # (Added in 7.30.0)
77
+ # @option options :execution_mode [Boolean]
78
+ # Either :perform (default) or :socket_action, specifies the usage
79
+ # method that will be used on this multi object. The default :perform
80
+ # mode provides a #perform function that uses curl_multi_perform
81
+ # behind the scenes to automatically continue execution until all
82
+ # requests have completed. The :socket_action mode provides an API
83
+ # that allows the {Multi} object to be integrated into an external
84
+ # IO loop, by calling #socket_action and responding to the
85
+ # socketfunction and timerfunction callbacks, using the underlying
86
+ # curl_multi_socket_action semantics.
87
+ #
88
+ # @return [ Multi ] The new multi.
89
+ def initialize(options = {})
90
+ Curl.init
91
+ @execution_mode = options.delete(:execution_mode) || :perform
92
+ set_attributes(options)
93
+ init_vars
94
+ end
95
+
96
+ # Set given options.
97
+ #
98
+ # @example Set options.
99
+ # multi.set_attributes(options)
100
+ #
101
+ # @raise InvalidOption
102
+ #
103
+ # @see initialize
104
+ #
105
+ # @api private
106
+ def set_attributes(options)
107
+ options.each_pair do |key, value|
108
+ unless respond_to?("#{key}=")
109
+ raise Errors::InvalidOption.new(key)
110
+ end
111
+ method("#{key}=").call(value)
112
+ end
113
+ end
114
+
115
+ private
116
+
117
+ # Internal function to gate functions to a specific execution mode
118
+ #
119
+ # @raise ArgumentError
120
+ #
121
+ # @api private
122
+ def ensure_execution_mode(expected_mode)
123
+ raise ArgumentError, "Expected the Multi to be in #{expected_mode} but it was in #{@execution_mode}" if expected_mode != @execution_mode
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ module Ethon
3
+
4
+ # Ethon version.
5
+ VERSION = '0.16.0'
6
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+ require 'logger'
3
+ require 'ffi'
4
+ require 'thread'
5
+ begin
6
+ require 'mime/types/columnar'
7
+ rescue LoadError
8
+ begin
9
+ require 'mime/types'
10
+ rescue LoadError
11
+ end
12
+ end
13
+ require 'tempfile'
14
+
15
+ require 'ethon/libc'
16
+ require 'ethon/curl'
17
+ require 'ethon/easy'
18
+ require 'ethon/errors'
19
+ require 'ethon/loggable'
20
+ require 'ethon/multi'
21
+ require 'ethon/version'
22
+
23
+ # Ethon is a very simple libcurl.
24
+ # It provides direct access to libcurl functionality
25
+ # as well as some helpers for doing http requests.
26
+ #
27
+ # Ethon was extracted from Typhoeus. If you want to
28
+ # see how others use Ethon look at the Typhoeus code.
29
+ #
30
+ # @see https://www.github.com/typhoeus/typhoeus Typhoeus
31
+ #
32
+ # @note Please update to the latest libcurl version in order
33
+ # to benefit from all features and bugfixes.
34
+ # http://curl.haxx.se/download.html
35
+ module Ethon
36
+ end
@@ -0,0 +1,104 @@
1
+ # encoding: utf-8
2
+ # frozen_string_literal: true
3
+ require 'ethon'
4
+ require 'open-uri'
5
+ require 'patron'
6
+ require 'curb'
7
+ require 'net/http'
8
+ require 'cgi'
9
+ require 'benchmark/ips'
10
+
11
+ require_relative '../spec/support/server'
12
+ require_relative '../spec/support/localhost_server'
13
+
14
+ LocalhostServer.new(TESTSERVER.new, 3000)
15
+ LocalhostServer.new(TESTSERVER.new, 3001)
16
+ LocalhostServer.new(TESTSERVER.new, 3002)
17
+
18
+ url = 'http://localhost:3000/'.freeze
19
+ uri = URI.parse('http://localhost:3000/').freeze
20
+ ethon = Ethon::Easy.new(url: url)
21
+ patron = Patron::Session.new
22
+ patron_url = Patron::Session.new(base_url: url)
23
+ curb = Curl::Easy.new(url)
24
+
25
+ puts '[Creation]'
26
+ Benchmark.ips do |x|
27
+ x.report('String.new') { '' }
28
+ x.report('Easy.new') { Ethon::Easy.new }
29
+ end
30
+
31
+ puts '[Escape]'
32
+ Benchmark.ips do |x|
33
+ x.report('CGI.escape') { CGI.escape("まつもと") }
34
+ x.report('Easy.escape') { ethon.escape("まつもと") }
35
+ end
36
+
37
+ puts '[Requests]'
38
+ Benchmark.ips do |x|
39
+ x.report('net/http') { Net::HTTP.get_response(uri) }
40
+ x.report('open-uri') { open url }
41
+
42
+ x.report('patron') do
43
+ patron.base_url = url
44
+ patron.get('/')
45
+ end
46
+
47
+ x.report('patron reuse') { patron_url.get('/') }
48
+
49
+ x.report('curb') do
50
+ curb.url = url
51
+ curb.perform
52
+ end
53
+
54
+ x.report('curb reuse') { curb.perform }
55
+
56
+ x.report('Easy.perform') do
57
+ ethon.url = url
58
+ ethon.perform
59
+ end
60
+
61
+ x.report('Easy.perform reuse') { ethon.perform }
62
+ end
63
+
64
+ puts "[ 4 delayed Requests ]"
65
+ Benchmark.ips do |x|
66
+ x.report('net/http') do
67
+ 3.times do |i|
68
+ uri = URI.parse("http://localhost:300#{i}/?delay=1")
69
+ Net::HTTP.get_response(uri)
70
+ end
71
+ end
72
+
73
+ x.report("open-uri") do
74
+ 3.times do |i|
75
+ open("http://localhost:300#{i}/?delay=1")
76
+ end
77
+ end
78
+
79
+ x.report("patron") do
80
+ sess = Patron::Session.new
81
+ 3.times do |i|
82
+ sess.base_url = "http://localhost:300#{i}/?delay=1"
83
+ sess.get("/")
84
+ end
85
+ end
86
+
87
+ x.report("Easy.perform") do
88
+ easy = Ethon::Easy.new
89
+ 3.times do |i|
90
+ easy.url = "http://localhost:300#{i}/?delay=1"
91
+ easy.perform
92
+ end
93
+ end
94
+
95
+ x.report("Multi.perform") do
96
+ multi = Ethon::Multi.new
97
+ 3.times do |i|
98
+ easy = Ethon::Easy.new
99
+ easy.url = "http://localhost:300#{i}/?delay=1"
100
+ multi.add(easy)
101
+ end
102
+ multi.perform
103
+ end
104
+ end