talon_one 5.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 (974) 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 +565 -521
  386. data/docker-compose.yml +47 -0
  387. data/docs/AccountAnalytics.md +1 -1
  388. data/docs/Achievement.md +8 -0
  389. data/docs/AchievementProgress.md +2 -0
  390. data/docs/AdditionalCampaignProperties.md +4 -2
  391. data/docs/AnalyticsDataPoint.md +19 -0
  392. data/docs/AnalyticsDataPointWithTrend.md +19 -0
  393. data/docs/AnalyticsDataPointWithTrendAndInfluencedRate.md +21 -0
  394. data/docs/AnalyticsDataPointWithTrendAndUplift.md +21 -0
  395. data/docs/AnalyticsProduct.md +23 -0
  396. data/docs/AnalyticsProductSKU.md +21 -0
  397. data/docs/Application.md +4 -0
  398. data/docs/ApplicationAnalyticsDataPoint.md +6 -6
  399. data/docs/ApplicationCIF.md +33 -0
  400. data/docs/ApplicationCIFExpression.md +27 -0
  401. data/docs/ApplicationCampaignAnalytics.md +13 -19
  402. data/docs/ApplicationCampaignStats.md +3 -3
  403. data/docs/ApplicationCustomer.md +8 -8
  404. data/docs/ApplicationSession.md +2 -2
  405. data/docs/AsyncCouponDeletionJobResponse.md +17 -0
  406. data/docs/AudienceCustomer.md +2 -2
  407. data/docs/BaseLoyaltyProgram.md +10 -4
  408. data/docs/BaseNotification.md +1 -1
  409. data/docs/BaseNotificationEntity.md +1 -1
  410. data/docs/BulkOperationOnCampaigns.md +3 -1
  411. data/docs/Campaign.md +18 -2
  412. data/docs/CampaignCollectionEditedNotification.md +21 -0
  413. data/docs/CampaignNotificationPolicy.md +3 -1
  414. data/docs/CampaignStateChangedNotification.md +2 -2
  415. data/docs/CampaignStoreBudget.md +25 -0
  416. data/docs/CampaignTemplate.md +3 -1
  417. data/docs/CampaignTemplateCouponReservationSettings.md +19 -0
  418. data/docs/CampaignVersions.md +29 -0
  419. data/docs/CardAddedDeductedPointsNotificationPolicy.md +19 -0
  420. data/docs/CartItem.md +1 -1
  421. data/docs/Change.md +1 -1
  422. data/docs/CodeGeneratorSettings.md +1 -1
  423. data/docs/Coupon.md +1 -1
  424. data/docs/CouponConstraints.md +1 -1
  425. data/docs/CouponCreationJob.md +1 -1
  426. data/docs/CouponDeletionFilters.md +43 -0
  427. data/docs/CouponDeletionJob.md +39 -0
  428. data/docs/CreateAchievement.md +9 -1
  429. data/docs/CustomerProfile.md +2 -2
  430. data/docs/CustomerProfileAudienceRequestItem.md +1 -1
  431. data/docs/CustomerSession.md +1 -1
  432. data/docs/CustomerSessionV2.md +10 -8
  433. data/docs/Effect.md +8 -0
  434. data/docs/EffectEntity.md +9 -1
  435. data/docs/Environment.md +3 -1
  436. data/docs/Event.md +1 -1
  437. data/docs/FeatureFlag.md +1 -1
  438. data/docs/GenerateCampaignDescription.md +19 -0
  439. data/docs/GenerateCampaignTags.md +17 -0
  440. data/docs/GenerateItemFilterDescription.md +17 -0
  441. data/docs/GenerateLoyaltyCard.md +21 -0
  442. data/docs/GenerateRuleTitle.md +19 -0
  443. data/docs/GenerateRuleTitleRule.md +19 -0
  444. data/docs/IncreaseAchievementProgressEffectProps.md +1 -1
  445. data/docs/InlineResponse20020.md +1 -1
  446. data/docs/InlineResponse20021.md +4 -2
  447. data/docs/InlineResponse20022.md +3 -3
  448. data/docs/InlineResponse20023.md +1 -1
  449. data/docs/InlineResponse20024.md +1 -3
  450. data/docs/InlineResponse20025.md +1 -1
  451. data/docs/InlineResponse20026.md +2 -2
  452. data/docs/InlineResponse20027.md +2 -2
  453. data/docs/InlineResponse20028.md +3 -3
  454. data/docs/InlineResponse20029.md +5 -3
  455. data/docs/InlineResponse20030.md +1 -3
  456. data/docs/InlineResponse20031.md +1 -1
  457. data/docs/InlineResponse20032.md +3 -1
  458. data/docs/InlineResponse20033.md +3 -5
  459. data/docs/InlineResponse20034.md +5 -3
  460. data/docs/InlineResponse20035.md +3 -5
  461. data/docs/InlineResponse20036.md +1 -1
  462. data/docs/InlineResponse20037.md +1 -1
  463. data/docs/InlineResponse20038.md +1 -1
  464. data/docs/InlineResponse20039.md +1 -1
  465. data/docs/InlineResponse20040.md +1 -1
  466. data/docs/InlineResponse20041.md +4 -2
  467. data/docs/InlineResponse20042.md +2 -4
  468. data/docs/InlineResponse20043.md +1 -1
  469. data/docs/InlineResponse20044.md +5 -3
  470. data/docs/InlineResponse20045.md +1 -3
  471. data/docs/InlineResponse20046.md +3 -3
  472. data/docs/IntegrationApi.md +73 -12
  473. data/docs/IntegrationCoupon.md +1 -1
  474. data/docs/IntegrationCustomerSessionResponse.md +1 -1
  475. data/docs/InventoryCoupon.md +1 -1
  476. data/docs/InventoryReferral.md +1 -1
  477. data/docs/LedgerInfo.md +2 -2
  478. data/docs/ListCampaignStoreBudgets.md +23 -0
  479. data/docs/ListCampaignStoreBudgetsStore.md +21 -0
  480. data/docs/LoyaltyBalanceWithTier.md +31 -0
  481. data/docs/LoyaltyBalancesWithTiers.md +19 -0
  482. data/docs/LoyaltyCard.md +10 -2
  483. data/docs/LoyaltyCardBatch.md +23 -0
  484. data/docs/LoyaltyCardBatchResponse.md +19 -0
  485. data/docs/LoyaltyLedger.md +1 -1
  486. data/docs/LoyaltyMembership.md +1 -1
  487. data/docs/LoyaltyProgram.md +19 -9
  488. data/docs/LoyaltyProgramBalance.md +2 -2
  489. data/docs/LoyaltyProgramEntity.md +5 -1
  490. data/docs/LoyaltyTier.md +6 -2
  491. data/docs/ManagementApi.md +1159 -258
  492. data/docs/MessageLogEntry.md +10 -2
  493. data/docs/MessageLogResponse.md +3 -3
  494. data/docs/NewAppWideCouponDeletionJob.md +19 -0
  495. data/docs/NewApplication.md +3 -1
  496. data/docs/NewApplicationCIF.md +27 -0
  497. data/docs/NewApplicationCIFExpression.md +21 -0
  498. data/docs/NewBaseNotification.md +1 -1
  499. data/docs/NewCampaignStoreBudget.md +21 -0
  500. data/docs/NewCampaignStoreBudgetStoreLimit.md +19 -0
  501. data/docs/NewCampaignTemplate.md +2 -0
  502. data/docs/NewCouponCreationJob.md +1 -1
  503. data/docs/NewCouponDeletionJob.md +17 -0
  504. data/docs/NewCoupons.md +1 -1
  505. data/docs/NewCouponsForMultipleRecipients.md +1 -1
  506. data/docs/NewCustomerSessionV2.md +4 -4
  507. data/docs/NewLoyaltyProgram.md +10 -4
  508. data/docs/NewLoyaltyTier.md +2 -2
  509. data/docs/NewOutgoingIntegrationWebhook.md +2 -0
  510. data/docs/NewPicklist.md +1 -1
  511. data/docs/NewReferral.md +1 -1
  512. data/docs/NewReferralsForMultipleAdvocates.md +1 -1
  513. data/docs/NewRevisionVersion.md +37 -0
  514. data/docs/NewWebhook.md +3 -1
  515. data/docs/OktaEvent.md +19 -0
  516. data/docs/OktaEventPayload.md +17 -0
  517. data/docs/OktaEventPayloadData.md +17 -0
  518. data/docs/OktaEventTarget.md +21 -0
  519. data/docs/Picklist.md +1 -1
  520. data/docs/Product.md +1 -1
  521. data/docs/ProductSearchMatch.md +21 -0
  522. data/docs/ProductSkuUnitAnalytics.md +23 -0
  523. data/docs/ProductUnitAnalytics.md +25 -0
  524. data/docs/ProjectedTier.md +21 -0
  525. data/docs/Referral.md +1 -1
  526. data/docs/ReferralConstraints.md +1 -1
  527. data/docs/RejectCouponEffectProps.md +3 -1
  528. data/docs/RejectReferralEffectProps.md +3 -1
  529. data/docs/Revision.md +35 -0
  530. data/docs/RevisionActivation.md +17 -0
  531. data/docs/RevisionVersion.md +53 -0
  532. data/docs/RollbackIncreasedAchievementProgressEffectProps.md +27 -0
  533. data/docs/RuleFailureReason.md +5 -1
  534. data/docs/SSOConfig.md +3 -1
  535. data/docs/ScimBaseUser.md +23 -0
  536. data/docs/ScimBaseUserName.md +17 -0
  537. data/docs/ScimNewUser.md +23 -0
  538. data/docs/ScimPatchOperation.md +21 -0
  539. data/docs/ScimPatchRequest.md +19 -0
  540. data/docs/ScimResource.md +21 -0
  541. data/docs/ScimResourceTypesListResponse.md +17 -0
  542. data/docs/ScimSchemaResource.md +23 -0
  543. data/docs/ScimSchemasListResponse.md +21 -0
  544. data/docs/ScimServiceProviderConfigResponse.md +29 -0
  545. data/docs/ScimServiceProviderConfigResponseBulk.md +21 -0
  546. data/docs/ScimServiceProviderConfigResponseChangePassword.md +17 -0
  547. data/docs/ScimServiceProviderConfigResponseFilter.md +19 -0
  548. data/docs/ScimServiceProviderConfigResponsePatch.md +17 -0
  549. data/docs/ScimServiceProviderConfigResponseSort.md +17 -0
  550. data/docs/ScimUser.md +25 -0
  551. data/docs/ScimUsersListResponse.md +21 -0
  552. data/docs/Store.md +2 -2
  553. data/docs/StrikethroughDebugResponse.md +19 -0
  554. data/docs/SummaryCampaignStoreBudget.md +21 -0
  555. data/docs/TemplateArgDef.md +2 -0
  556. data/docs/Tier.md +3 -1
  557. data/docs/TransferLoyaltyCard.md +3 -1
  558. data/docs/UpdateAchievement.md +9 -1
  559. data/docs/UpdateApplication.md +5 -1
  560. data/docs/UpdateApplicationCIF.md +23 -0
  561. data/docs/UpdateCampaign.md +1 -1
  562. data/docs/UpdateCampaignTemplate.md +2 -0
  563. data/docs/UpdateCoupon.md +1 -1
  564. data/docs/UpdateCouponBatch.md +1 -1
  565. data/docs/UpdateLoyaltyCard.md +4 -2
  566. data/docs/UpdateLoyaltyProgram.md +10 -4
  567. data/docs/UpdateLoyaltyProgramTier.md +21 -0
  568. data/docs/UpdatePicklist.md +1 -1
  569. data/docs/UpdateReferral.md +1 -1
  570. data/docs/UpdateReferralBatch.md +1 -1
  571. data/docs/User.md +4 -2
  572. data/docs/ValueMap.md +23 -0
  573. data/docs/Webhook.md +3 -1
  574. data/docs/WebhookLogEntry.md +1 -1
  575. data/docs/WebhookWithOutgoingIntegrationDetails.md +3 -1
  576. data/lib/talon_one/api/integration_api.rb +94 -18
  577. data/lib/talon_one/api/management_api.rb +1347 -387
  578. data/lib/talon_one/models/account.rb +0 -1
  579. data/lib/talon_one/models/account_additional_cost.rb +0 -1
  580. data/lib/talon_one/models/achievement.rb +87 -2
  581. data/lib/talon_one/models/achievement_progress.rb +16 -1
  582. data/lib/talon_one/models/add_loyalty_points_effect_props.rb +11 -0
  583. data/lib/talon_one/models/additional_campaign_properties.rb +22 -7
  584. data/lib/talon_one/models/analytics_data_point.rb +225 -0
  585. data/lib/talon_one/models/analytics_data_point_with_trend.rb +225 -0
  586. data/lib/talon_one/models/analytics_data_point_with_trend_and_influenced_rate.rb +239 -0
  587. data/lib/talon_one/models/analytics_data_point_with_trend_and_uplift.rb +239 -0
  588. data/lib/talon_one/models/analytics_product.rb +252 -0
  589. data/lib/talon_one/models/analytics_product_sku.rb +242 -0
  590. data/lib/talon_one/models/application.rb +21 -2
  591. data/lib/talon_one/models/application_analytics_data_point.rb +14 -4
  592. data/lib/talon_one/models/application_api_key.rb +0 -1
  593. data/lib/talon_one/models/application_campaign_analytics.rb +39 -41
  594. data/lib/talon_one/models/application_campaign_stats.rb +16 -16
  595. data/lib/talon_one/models/application_cif.rb +307 -0
  596. data/lib/talon_one/models/application_cif_expression.rb +274 -0
  597. data/lib/talon_one/models/application_customer.rb +4 -5
  598. data/lib/talon_one/models/application_event.rb +0 -1
  599. data/lib/talon_one/models/application_referee.rb +0 -1
  600. data/lib/talon_one/models/application_session.rb +1 -2
  601. data/lib/talon_one/models/async_coupon_deletion_job_response.rb +212 -0
  602. data/lib/talon_one/models/attribute.rb +2 -3
  603. data/lib/talon_one/models/audience.rb +0 -1
  604. data/lib/talon_one/models/audience_customer.rb +1 -2
  605. data/lib/talon_one/models/base_loyalty_program.rb +62 -21
  606. data/lib/talon_one/models/base_notification.rb +3 -3
  607. data/lib/talon_one/models/base_notification_entity.rb +1 -0
  608. data/lib/talon_one/models/base_notification_webhook.rb +0 -1
  609. data/lib/talon_one/models/bulk_operation_on_campaigns.rb +16 -6
  610. data/lib/talon_one/models/campaign.rb +106 -8
  611. data/lib/talon_one/models/campaign_analytics.rb +0 -1
  612. data/lib/talon_one/models/campaign_collection.rb +0 -1
  613. data/lib/talon_one/models/campaign_collection_edited_notification.rb +235 -0
  614. data/lib/talon_one/models/campaign_collection_without_payload.rb +0 -1
  615. data/lib/talon_one/models/campaign_evaluation_group.rb +0 -1
  616. data/lib/talon_one/models/campaign_group.rb +0 -1
  617. data/lib/talon_one/models/campaign_notification_policy.rb +16 -4
  618. data/lib/talon_one/models/campaign_set.rb +0 -1
  619. data/lib/talon_one/models/campaign_state_changed_notification.rb +2 -2
  620. data/lib/talon_one/models/campaign_store_budget.rb +274 -0
  621. data/lib/talon_one/models/campaign_template.rb +10 -2
  622. data/lib/talon_one/models/campaign_template_coupon_reservation_settings.rb +243 -0
  623. data/lib/talon_one/models/campaign_versions.rb +303 -0
  624. data/lib/talon_one/models/card_added_deducted_points_notification_policy.rb +269 -0
  625. data/lib/talon_one/models/card_ledger_transaction_log_entry.rb +11 -0
  626. data/lib/talon_one/models/card_ledger_transaction_log_entry_integration_api.rb +11 -0
  627. data/lib/talon_one/models/cart_item.rb +1 -1
  628. data/lib/talon_one/models/catalog.rb +0 -1
  629. data/lib/talon_one/models/catalog_item.rb +0 -1
  630. data/lib/talon_one/models/change.rb +0 -1
  631. data/lib/talon_one/models/code_generator_settings.rb +12 -1
  632. data/lib/talon_one/models/collection.rb +0 -1
  633. data/lib/talon_one/models/collection_item.rb +0 -1
  634. data/lib/talon_one/models/collection_without_payload.rb +0 -1
  635. data/lib/talon_one/models/coupon.rb +1 -2
  636. data/lib/talon_one/models/coupon_constraints.rb +1 -1
  637. data/lib/talon_one/models/coupon_creation_job.rb +1 -2
  638. data/lib/talon_one/models/coupon_deletion_filters.rb +373 -0
  639. data/lib/talon_one/models/coupon_deletion_job.rb +369 -0
  640. data/lib/talon_one/models/create_achievement.rb +90 -4
  641. data/lib/talon_one/models/custom_effect.rb +0 -1
  642. data/lib/talon_one/models/customer_profile.rb +1 -2
  643. data/lib/talon_one/models/customer_profile_audience_request_item.rb +1 -1
  644. data/lib/talon_one/models/customer_profile_integration_request_v2.rb +1 -1
  645. data/lib/talon_one/models/customer_session.rb +0 -1
  646. data/lib/talon_one/models/customer_session_v2.rb +20 -10
  647. data/lib/talon_one/models/deactivate_user_request.rb +0 -1
  648. data/lib/talon_one/models/deduct_loyalty_points_effect_props.rb +11 -0
  649. data/lib/talon_one/models/effect.rb +42 -2
  650. data/lib/talon_one/models/effect_entity.rb +44 -4
  651. data/lib/talon_one/models/environment.rb +16 -5
  652. data/lib/talon_one/models/event.rb +0 -6
  653. data/lib/talon_one/models/event_type.rb +0 -1
  654. data/lib/talon_one/models/event_v2.rb +0 -1
  655. data/lib/talon_one/models/export.rb +0 -1
  656. data/lib/talon_one/models/features_feed.rb +0 -1
  657. data/lib/talon_one/models/generate_campaign_description.rb +227 -0
  658. data/lib/talon_one/models/generate_campaign_tags.rb +212 -0
  659. data/lib/talon_one/models/generate_item_filter_description.rb +214 -0
  660. data/lib/talon_one/models/generate_loyalty_card.rb +292 -0
  661. data/lib/talon_one/models/generate_rule_title.rb +226 -0
  662. data/lib/talon_one/models/generate_rule_title_rule.rb +221 -0
  663. data/lib/talon_one/models/giveaway.rb +0 -1
  664. data/lib/talon_one/models/import.rb +0 -1
  665. data/lib/talon_one/models/increase_achievement_progress_effect_props.rb +1 -1
  666. data/lib/talon_one/models/inline_response20020.rb +1 -1
  667. data/lib/talon_one/models/inline_response20021.rb +11 -7
  668. data/lib/talon_one/models/inline_response20022.rb +10 -10
  669. data/lib/talon_one/models/inline_response20023.rb +1 -1
  670. data/lib/talon_one/models/inline_response20024.rb +6 -10
  671. data/lib/talon_one/models/inline_response20025.rb +1 -1
  672. data/lib/talon_one/models/inline_response20026.rb +1 -6
  673. data/lib/talon_one/models/inline_response20027.rb +6 -1
  674. data/lib/talon_one/models/inline_response20028.rb +11 -11
  675. data/lib/talon_one/models/inline_response20029.rb +11 -7
  676. data/lib/talon_one/models/inline_response20030.rb +2 -11
  677. data/lib/talon_one/models/inline_response20031.rb +1 -1
  678. data/lib/talon_one/models/inline_response20032.rb +11 -2
  679. data/lib/talon_one/models/inline_response20033.rb +7 -11
  680. data/lib/talon_one/models/inline_response20034.rb +11 -7
  681. data/lib/talon_one/models/inline_response20035.rb +7 -11
  682. data/lib/talon_one/models/inline_response20036.rb +1 -1
  683. data/lib/talon_one/models/inline_response20037.rb +1 -1
  684. data/lib/talon_one/models/inline_response20038.rb +1 -1
  685. data/lib/talon_one/models/inline_response20039.rb +1 -1
  686. data/lib/talon_one/models/inline_response20040.rb +1 -1
  687. data/lib/talon_one/models/inline_response20041.rb +11 -7
  688. data/lib/talon_one/models/inline_response20042.rb +7 -11
  689. data/lib/talon_one/models/inline_response20043.rb +1 -1
  690. data/lib/talon_one/models/inline_response20044.rb +11 -7
  691. data/lib/talon_one/models/inline_response20045.rb +2 -11
  692. data/lib/talon_one/models/inline_response20046.rb +6 -1
  693. data/lib/talon_one/models/integration_coupon.rb +1 -2
  694. data/lib/talon_one/models/integration_customer_session_response.rb +1 -0
  695. data/lib/talon_one/models/integration_event.rb +0 -1
  696. data/lib/talon_one/models/integration_event_v2_request.rb +0 -1
  697. data/lib/talon_one/models/inventory_coupon.rb +1 -2
  698. data/lib/talon_one/models/inventory_referral.rb +1 -2
  699. data/lib/talon_one/models/item_attribute.rb +0 -1
  700. data/lib/talon_one/models/ledger_entry.rb +1 -1
  701. data/lib/talon_one/models/ledger_info.rb +3 -3
  702. data/lib/talon_one/models/library_attribute.rb +0 -1
  703. data/lib/talon_one/models/limit_counter.rb +0 -1
  704. data/lib/talon_one/models/list_campaign_store_budgets.rb +248 -0
  705. data/lib/talon_one/models/list_campaign_store_budgets_store.rb +239 -0
  706. data/lib/talon_one/models/login_params.rb +0 -1
  707. data/lib/talon_one/models/loyalty_balance_with_tier.rb +276 -0
  708. data/lib/talon_one/models/loyalty_balances_with_tiers.rb +219 -0
  709. data/lib/talon_one/models/loyalty_card.rb +78 -6
  710. data/lib/talon_one/models/loyalty_card_balances.rb +1 -1
  711. data/lib/talon_one/models/loyalty_card_batch.rb +312 -0
  712. data/lib/talon_one/models/loyalty_card_batch_response.rb +227 -0
  713. data/lib/talon_one/models/loyalty_program.rb +90 -27
  714. data/lib/talon_one/models/loyalty_program_balance.rb +2 -2
  715. data/lib/talon_one/models/loyalty_program_entity.rb +24 -4
  716. data/lib/talon_one/models/loyalty_program_transaction.rb +11 -0
  717. data/lib/talon_one/models/loyalty_tier.rb +24 -4
  718. data/lib/talon_one/models/management_key.rb +0 -1
  719. data/lib/talon_one/models/message_log_entry.rb +67 -7
  720. data/lib/talon_one/models/message_log_response.rb +3 -22
  721. data/lib/talon_one/models/model_return.rb +0 -1
  722. data/lib/talon_one/models/multiple_audiences_item.rb +0 -1
  723. data/lib/talon_one/models/multiple_customer_profile_integration_request_item.rb +1 -1
  724. data/lib/talon_one/models/new_account_sign_up.rb +0 -1
  725. data/lib/talon_one/models/new_additional_cost.rb +0 -1
  726. data/lib/talon_one/models/new_app_wide_coupon_deletion_job.rb +227 -0
  727. data/lib/talon_one/models/new_application.rb +14 -4
  728. data/lib/talon_one/models/new_application_api_key.rb +0 -1
  729. data/lib/talon_one/models/new_application_cif.rb +262 -0
  730. data/lib/talon_one/models/new_application_cif_expression.rb +229 -0
  731. data/lib/talon_one/models/new_attribute.rb +2 -3
  732. data/lib/talon_one/models/new_audience.rb +0 -1
  733. data/lib/talon_one/models/new_base_notification.rb +1 -1
  734. data/lib/talon_one/models/new_campaign.rb +0 -1
  735. data/lib/talon_one/models/new_campaign_collection.rb +0 -1
  736. data/lib/talon_one/models/new_campaign_set.rb +0 -1
  737. data/lib/talon_one/models/new_campaign_store_budget.rb +283 -0
  738. data/lib/talon_one/models/new_campaign_store_budget_store_limit.rb +227 -0
  739. data/lib/talon_one/models/new_campaign_template.rb +10 -1
  740. data/lib/talon_one/models/new_catalog.rb +0 -1
  741. data/lib/talon_one/models/new_collection.rb +0 -1
  742. data/lib/talon_one/models/new_coupon_creation_job.rb +1 -2
  743. data/lib/talon_one/models/new_coupon_deletion_job.rb +211 -0
  744. data/lib/talon_one/models/new_coupons.rb +1 -2
  745. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +1 -2
  746. data/lib/talon_one/models/new_custom_effect.rb +0 -1
  747. data/lib/talon_one/models/new_customer_session.rb +0 -1
  748. data/lib/talon_one/models/new_customer_session_v2.rb +3 -3
  749. data/lib/talon_one/models/new_event.rb +0 -1
  750. data/lib/talon_one/models/new_event_type.rb +0 -1
  751. data/lib/talon_one/models/new_loyalty_program.rb +63 -22
  752. data/lib/talon_one/models/new_loyalty_tier.rb +2 -2
  753. data/lib/talon_one/models/new_management_key.rb +0 -1
  754. data/lib/talon_one/models/new_multiple_audiences_item.rb +0 -1
  755. data/lib/talon_one/models/new_notification_test.rb +2 -2
  756. data/lib/talon_one/models/new_outgoing_integration_webhook.rb +11 -1
  757. data/lib/talon_one/models/new_referral.rb +1 -2
  758. data/lib/talon_one/models/new_referrals_for_multiple_advocates.rb +1 -2
  759. data/lib/talon_one/models/new_revision_version.rb +352 -0
  760. data/lib/talon_one/models/new_role.rb +0 -1
  761. data/lib/talon_one/models/new_role_v2.rb +0 -1
  762. data/lib/talon_one/models/new_saml_connection.rb +1 -1
  763. data/lib/talon_one/models/new_store.rb +0 -1
  764. data/lib/talon_one/models/new_user.rb +0 -1
  765. data/lib/talon_one/models/new_webhook.rb +12 -3
  766. data/lib/talon_one/models/okta_event.rb +229 -0
  767. data/lib/talon_one/models/okta_event_payload.rb +212 -0
  768. data/lib/talon_one/models/okta_event_payload_data.rb +214 -0
  769. data/lib/talon_one/models/okta_event_target.rb +243 -0
  770. data/lib/talon_one/models/outgoing_integration_template_with_configuration_details.rb +0 -1
  771. data/lib/talon_one/models/picklist.rb +0 -1
  772. data/lib/talon_one/models/product.rb +1 -1
  773. data/lib/talon_one/models/product_search_match.rb +237 -0
  774. data/lib/talon_one/models/product_sku_unit_analytics.rb +256 -0
  775. data/lib/talon_one/models/product_unit_analytics.rb +271 -0
  776. data/lib/talon_one/models/projected_tier.rb +232 -0
  777. data/lib/talon_one/models/referral.rb +1 -2
  778. data/lib/talon_one/models/referral_constraints.rb +1 -1
  779. data/lib/talon_one/models/reject_coupon_effect_props.rb +14 -4
  780. data/lib/talon_one/models/reject_referral_effect_props.rb +14 -4
  781. data/lib/talon_one/models/revision.rb +318 -0
  782. data/lib/talon_one/models/revision_activation.rb +206 -0
  783. data/lib/talon_one/models/revision_version.rb +465 -0
  784. data/lib/talon_one/models/role.rb +0 -1
  785. data/lib/talon_one/models/role_assign.rb +0 -1
  786. data/lib/talon_one/models/role_v2.rb +0 -1
  787. data/lib/talon_one/models/rollback_added_loyalty_points_effect_props.rb +11 -0
  788. data/lib/talon_one/models/rollback_deducted_loyalty_points_effect_props.rb +11 -0
  789. data/lib/talon_one/models/rollback_increased_achievement_progress_effect_props.rb +288 -0
  790. data/lib/talon_one/models/rule_failure_reason.rb +24 -4
  791. data/lib/talon_one/models/ruleset.rb +0 -1
  792. data/lib/talon_one/models/saml_connection.rb +1 -1
  793. data/lib/talon_one/models/scim_base_user.rb +237 -0
  794. data/lib/talon_one/models/scim_base_user_name.rb +208 -0
  795. data/lib/talon_one/models/scim_new_user.rb +242 -0
  796. data/lib/talon_one/models/scim_patch_operation.rb +267 -0
  797. data/lib/talon_one/models/scim_patch_request.rb +226 -0
  798. data/lib/talon_one/models/scim_resource.rb +228 -0
  799. data/lib/talon_one/models/scim_resource_types_list_response.rb +214 -0
  800. data/lib/talon_one/models/scim_schema_resource.rb +239 -0
  801. data/lib/talon_one/models/scim_schemas_list_response.rb +236 -0
  802. data/lib/talon_one/models/scim_service_provider_config_response.rb +265 -0
  803. data/lib/talon_one/models/scim_service_provider_config_response_bulk.rb +228 -0
  804. data/lib/talon_one/models/scim_service_provider_config_response_change_password.rb +208 -0
  805. data/lib/talon_one/models/scim_service_provider_config_response_filter.rb +218 -0
  806. data/lib/talon_one/models/scim_service_provider_config_response_patch.rb +208 -0
  807. data/lib/talon_one/models/scim_service_provider_config_response_sort.rb +208 -0
  808. data/lib/talon_one/models/scim_user.rb +257 -0
  809. data/lib/talon_one/models/scim_users_list_response.rb +236 -0
  810. data/lib/talon_one/models/sso_config.rb +14 -4
  811. data/lib/talon_one/models/store.rb +1 -2
  812. data/lib/talon_one/models/strikethrough_debug_response.rb +221 -0
  813. data/lib/talon_one/models/summary_campaign_store_budget.rb +280 -0
  814. data/lib/talon_one/models/talang_attribute.rb +0 -1
  815. data/lib/talon_one/models/template_arg_def.rb +11 -2
  816. data/lib/talon_one/models/template_def.rb +0 -1
  817. data/lib/talon_one/models/template_limit_config.rb +0 -1
  818. data/lib/talon_one/models/tier.rb +12 -2
  819. data/lib/talon_one/models/transfer_loyalty_card.rb +25 -4
  820. data/lib/talon_one/models/update_achievement.rb +90 -4
  821. data/lib/talon_one/models/update_application.rb +24 -4
  822. data/lib/talon_one/models/update_application_cif.rb +237 -0
  823. data/lib/talon_one/models/update_campaign.rb +1 -1
  824. data/lib/talon_one/models/update_campaign_evaluation_group.rb +0 -1
  825. data/lib/talon_one/models/update_campaign_group.rb +0 -1
  826. data/lib/talon_one/models/update_campaign_template.rb +10 -1
  827. data/lib/talon_one/models/update_coupon.rb +1 -2
  828. data/lib/talon_one/models/update_coupon_batch.rb +1 -2
  829. data/lib/talon_one/models/update_loyalty_card.rb +15 -5
  830. data/lib/talon_one/models/update_loyalty_program.rb +63 -22
  831. data/lib/talon_one/models/update_loyalty_program_tier.rb +257 -0
  832. data/lib/talon_one/models/update_picklist.rb +0 -1
  833. data/lib/talon_one/models/update_referral.rb +1 -1
  834. data/lib/talon_one/models/update_referral_batch.rb +1 -1
  835. data/lib/talon_one/models/user.rb +14 -5
  836. data/lib/talon_one/models/value_map.rb +245 -0
  837. data/lib/talon_one/models/webhook.rb +12 -3
  838. data/lib/talon_one/models/webhook_log_entry.rb +1 -1
  839. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +12 -3
  840. data/lib/talon_one/version.rb +1 -1
  841. data/lib/talon_one.rb +69 -15
  842. data/spec/api/integration_api_spec.rb +22 -7
  843. data/spec/api/management_api_spec.rb +284 -98
  844. data/spec/models/achievement_progress_spec.rb +6 -0
  845. data/spec/models/achievement_spec.rb +32 -0
  846. data/spec/models/additional_campaign_properties_spec.rb +7 -1
  847. data/spec/models/analytics_data_point_spec.rb +47 -0
  848. data/spec/models/analytics_data_point_with_trend_and_influenced_rate_spec.rb +53 -0
  849. data/spec/models/analytics_data_point_with_trend_and_uplift_spec.rb +53 -0
  850. data/spec/models/analytics_data_point_with_trend_spec.rb +47 -0
  851. data/spec/models/analytics_product_sku_spec.rb +53 -0
  852. data/spec/models/analytics_product_spec.rb +59 -0
  853. data/spec/models/application_campaign_analytics_spec.rb +1 -19
  854. data/spec/models/application_campaign_stats_spec.rb +2 -2
  855. data/spec/models/application_cif_expression_spec.rb +71 -0
  856. data/spec/models/application_cif_spec.rb +89 -0
  857. data/spec/models/application_spec.rb +12 -0
  858. data/spec/models/async_coupon_deletion_job_response_spec.rb +41 -0
  859. data/spec/models/attribute_spec.rb +1 -1
  860. data/spec/models/base_loyalty_program_spec.rb +26 -4
  861. data/spec/models/base_notification_spec.rb +1 -1
  862. data/spec/models/bulk_operation_on_campaigns_spec.rb +7 -1
  863. data/spec/models/campaign_collection_edited_notification_spec.rb +53 -0
  864. data/spec/models/campaign_notification_policy_spec.rb +6 -0
  865. data/spec/models/campaign_spec.rb +53 -1
  866. data/spec/models/campaign_store_budget_spec.rb +65 -0
  867. data/spec/models/campaign_template_coupon_reservation_settings_spec.rb +47 -0
  868. data/spec/models/campaign_template_spec.rb +6 -0
  869. data/spec/models/campaign_versions_spec.rb +81 -0
  870. data/spec/models/card_added_deducted_points_notification_policy_spec.rb +51 -0
  871. data/spec/models/coupon_deletion_filters_spec.rb +123 -0
  872. data/spec/models/coupon_deletion_job_spec.rb +107 -0
  873. data/spec/models/create_achievement_spec.rb +32 -0
  874. data/spec/models/customer_session_v2_spec.rb +6 -0
  875. data/spec/models/effect_entity_spec.rb +24 -0
  876. data/spec/models/effect_spec.rb +24 -0
  877. data/spec/models/environment_spec.rb +6 -0
  878. data/spec/models/generate_campaign_description_spec.rb +47 -0
  879. data/spec/models/generate_campaign_tags_spec.rb +41 -0
  880. data/spec/models/generate_item_filter_description_spec.rb +41 -0
  881. data/spec/models/generate_loyalty_card_spec.rb +57 -0
  882. data/spec/models/generate_rule_title_rule_spec.rb +47 -0
  883. data/spec/models/generate_rule_title_spec.rb +47 -0
  884. data/spec/models/inline_response20021_spec.rb +6 -0
  885. data/spec/models/inline_response20022_spec.rb +2 -2
  886. data/spec/models/inline_response20024_spec.rb +0 -6
  887. data/spec/models/inline_response20028_spec.rb +1 -1
  888. data/spec/models/inline_response20029_spec.rb +6 -0
  889. data/spec/models/inline_response20030_spec.rb +0 -6
  890. data/spec/models/inline_response20032_spec.rb +6 -0
  891. data/spec/models/inline_response20033_spec.rb +0 -6
  892. data/spec/models/inline_response20034_spec.rb +6 -0
  893. data/spec/models/inline_response20035_spec.rb +0 -6
  894. data/spec/models/inline_response20041_spec.rb +6 -0
  895. data/spec/models/inline_response20042_spec.rb +0 -6
  896. data/spec/models/inline_response20044_spec.rb +6 -0
  897. data/spec/models/inline_response20045_spec.rb +0 -6
  898. data/spec/models/limit_config_spec.rb +1 -1
  899. data/spec/models/list_campaign_store_budgets_spec.rb +59 -0
  900. data/spec/models/list_campaign_store_budgets_store_spec.rb +53 -0
  901. data/spec/models/loyalty_balance_with_tier_spec.rb +83 -0
  902. data/spec/models/loyalty_balances_with_tiers_spec.rb +47 -0
  903. data/spec/models/loyalty_card_batch_response_spec.rb +47 -0
  904. data/spec/models/loyalty_card_batch_spec.rb +63 -0
  905. data/spec/models/loyalty_card_spec.rb +24 -0
  906. data/spec/models/loyalty_program_entity_spec.rb +12 -0
  907. data/spec/models/loyalty_program_spec.rb +38 -4
  908. data/spec/models/loyalty_tier_spec.rb +12 -0
  909. data/spec/models/message_log_entry_spec.rb +25 -1
  910. data/spec/models/new_app_wide_coupon_deletion_job_spec.rb +47 -0
  911. data/spec/models/new_application_cif_expression_spec.rb +53 -0
  912. data/spec/models/new_application_cif_spec.rb +71 -0
  913. data/spec/models/new_application_spec.rb +6 -0
  914. data/spec/models/new_attribute_spec.rb +1 -1
  915. data/spec/models/new_campaign_store_budget_spec.rb +61 -0
  916. data/spec/models/new_campaign_store_budget_store_limit_spec.rb +47 -0
  917. data/spec/models/new_campaign_template_spec.rb +6 -0
  918. data/spec/models/new_coupon_deletion_job_spec.rb +41 -0
  919. data/spec/models/new_loyalty_program_spec.rb +26 -4
  920. data/spec/models/new_notification_test_spec.rb +1 -1
  921. data/spec/models/new_outgoing_integration_webhook_spec.rb +6 -0
  922. data/spec/models/new_revision_version_spec.rb +105 -0
  923. data/spec/models/new_webhook_spec.rb +6 -0
  924. data/spec/models/okta_event_payload_data_spec.rb +41 -0
  925. data/spec/models/okta_event_payload_spec.rb +41 -0
  926. data/spec/models/okta_event_spec.rb +47 -0
  927. data/spec/models/okta_event_target_spec.rb +53 -0
  928. data/spec/models/product_search_match_spec.rb +53 -0
  929. data/spec/models/product_sku_unit_analytics_spec.rb +59 -0
  930. data/spec/models/product_unit_analytics_spec.rb +65 -0
  931. data/spec/models/projected_tier_spec.rb +53 -0
  932. data/spec/models/reject_coupon_effect_props_spec.rb +6 -0
  933. data/spec/models/reject_referral_effect_props_spec.rb +6 -0
  934. data/spec/models/revision_activation_spec.rb +41 -0
  935. data/spec/models/revision_spec.rb +95 -0
  936. data/spec/models/revision_version_spec.rb +153 -0
  937. data/spec/models/rollback_increased_achievement_progress_effect_props_spec.rb +71 -0
  938. data/spec/models/rule_failure_reason_spec.rb +12 -0
  939. data/spec/models/scim_base_user_name_spec.rb +41 -0
  940. data/spec/models/scim_base_user_spec.rb +59 -0
  941. data/spec/models/scim_new_user_spec.rb +59 -0
  942. data/spec/models/scim_patch_operation_spec.rb +57 -0
  943. data/spec/models/scim_patch_request_spec.rb +47 -0
  944. data/spec/models/scim_resource_spec.rb +53 -0
  945. data/spec/models/scim_resource_types_list_response_spec.rb +41 -0
  946. data/spec/models/scim_schema_resource_spec.rb +59 -0
  947. data/spec/models/scim_schemas_list_response_spec.rb +53 -0
  948. data/spec/models/scim_service_provider_config_response_bulk_spec.rb +53 -0
  949. data/spec/models/scim_service_provider_config_response_change_password_spec.rb +41 -0
  950. data/spec/models/scim_service_provider_config_response_filter_spec.rb +47 -0
  951. data/spec/models/scim_service_provider_config_response_patch_spec.rb +41 -0
  952. data/spec/models/scim_service_provider_config_response_sort_spec.rb +41 -0
  953. data/spec/models/scim_service_provider_config_response_spec.rb +77 -0
  954. data/spec/models/scim_user_spec.rb +65 -0
  955. data/spec/models/scim_users_list_response_spec.rb +53 -0
  956. data/spec/models/sso_config_spec.rb +6 -0
  957. data/spec/models/strikethrough_debug_response_spec.rb +47 -0
  958. data/spec/models/summary_campaign_store_budget_spec.rb +61 -0
  959. data/spec/models/template_arg_def_spec.rb +6 -0
  960. data/spec/models/template_limit_config_spec.rb +1 -1
  961. data/spec/models/tier_spec.rb +6 -0
  962. data/spec/models/transfer_loyalty_card_spec.rb +6 -0
  963. data/spec/models/update_achievement_spec.rb +32 -0
  964. data/spec/models/update_application_cif_spec.rb +59 -0
  965. data/spec/models/update_application_spec.rb +12 -0
  966. data/spec/models/update_campaign_template_spec.rb +6 -0
  967. data/spec/models/update_loyalty_card_spec.rb +6 -0
  968. data/spec/models/update_loyalty_program_spec.rb +26 -4
  969. data/spec/models/update_loyalty_program_tier_spec.rb +53 -0
  970. data/spec/models/user_spec.rb +6 -0
  971. data/spec/models/value_map_spec.rb +59 -0
  972. data/spec/models/webhook_spec.rb +6 -0
  973. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +6 -0
  974. metadata +663 -6
@@ -0,0 +1,298 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Multi::Operations do
5
+ let(:multi) { Ethon::Multi.new }
6
+ let(:easy) { Ethon::Easy.new }
7
+ let(:pointer) { FFI::MemoryPointer.new(:int) }
8
+
9
+ describe "#handle" do
10
+ it "returns a pointer" do
11
+ expect(multi.handle).to be_a(FFI::Pointer)
12
+ end
13
+ end
14
+
15
+ describe "#running_count" do
16
+ context "when hydra has no easy" do
17
+ it "returns nil" do
18
+ expect(multi.send(:running_count)).to be_nil
19
+ end
20
+ end
21
+
22
+ context "when hydra has easy" do
23
+ before do
24
+ easy.url = "http://localhost:3001/"
25
+ multi.add(easy)
26
+ multi.send(:trigger, pointer)
27
+ end
28
+
29
+ it "returns 1" do
30
+ expect(multi.send(:running_count)).to eq(1)
31
+ end
32
+ end
33
+
34
+ context "when hydra has more easys" do
35
+ let(:another_easy) { Ethon::Easy.new }
36
+
37
+ before do
38
+ easy.url = "http://localhost:3001/"
39
+ another_easy.url = "http://localhost:3001/"
40
+ multi.add(easy)
41
+ multi.add(another_easy)
42
+ multi.send(:trigger, pointer)
43
+ end
44
+
45
+ it "returns 2" do
46
+ expect(multi.send(:running_count)).to eq(2)
47
+ end
48
+ end
49
+ end
50
+
51
+ describe "#get_timeout" do
52
+ context "when code ok" do
53
+ let(:timeout) { 1 }
54
+
55
+ before do
56
+ expect(Ethon::Curl).to receive(:multi_timeout).and_return(:ok)
57
+ multi.instance_variable_set(:@timeout, double(:read_long => timeout))
58
+ end
59
+
60
+ it "doesn't raise" do
61
+ expect{ multi.send(:get_timeout) }.to_not raise_error
62
+ end
63
+
64
+ context "when timeout smaller zero" do
65
+ let(:timeout) { -1 }
66
+
67
+ it "returns 1" do
68
+ expect(multi.send(:get_timeout)).to eq(1)
69
+ end
70
+ end
71
+
72
+ context "when timeout bigger or equal zero" do
73
+ let(:timeout) { 2 }
74
+
75
+ it "returns timeout" do
76
+ expect(multi.send(:get_timeout)).to eq(timeout)
77
+ end
78
+ end
79
+ end
80
+
81
+ context "when code not ok" do
82
+ before { expect(Ethon::Curl).to receive(:multi_timeout).and_return(:not_ok) }
83
+
84
+ it "raises MultiTimeout error" do
85
+ expect{ multi.send(:get_timeout) }.to raise_error(Ethon::Errors::MultiTimeout)
86
+ end
87
+ end
88
+ end
89
+
90
+ describe "#set_fds" do
91
+ let(:timeout) { 1 }
92
+ let(:max_fd) { 1 }
93
+
94
+ context "when code ok" do
95
+ before { expect(Ethon::Curl).to receive(:multi_fdset).and_return(:ok) }
96
+
97
+ it "doesn't raise" do
98
+ expect{ multi.method(:set_fds).call(timeout) }.to_not raise_error
99
+ end
100
+
101
+ context "when max_fd -1" do
102
+ let(:max_fd) { -1 }
103
+
104
+ before do
105
+ multi.instance_variable_set(:@max_fd, double(:read_int => max_fd))
106
+ expect(multi).to receive(:sleep).with(0.001)
107
+ end
108
+
109
+ it "waits 100ms" do
110
+ multi.method(:set_fds).call(timeout)
111
+ end
112
+ end
113
+
114
+ context "when max_fd not -1" do
115
+ context "when code smaller zero" do
116
+ before { expect(Ethon::Curl).to receive(:select).and_return(-1) }
117
+
118
+ it "raises Select error" do
119
+ expect{ multi.method(:set_fds).call(timeout) }.to raise_error(Ethon::Errors::Select)
120
+ end
121
+ end
122
+
123
+ context "when code bigger or equal zero" do
124
+ before { expect(Ethon::Curl).to receive(:select).and_return(0) }
125
+
126
+ it "doesn't raise" do
127
+ expect{ multi.method(:set_fds).call(timeout) }.to_not raise_error
128
+ end
129
+ end
130
+ end
131
+ end
132
+
133
+ context "when code not ok" do
134
+ before { expect(Ethon::Curl).to receive(:multi_fdset).and_return(:not_ok) }
135
+
136
+ it "raises MultiFdset error" do
137
+ expect{ multi.method(:set_fds).call(timeout) }.to raise_error(Ethon::Errors::MultiFdset)
138
+ end
139
+ end
140
+ end
141
+
142
+ describe "#perform" do
143
+ context "when no easy handles" do
144
+ it "returns nil" do
145
+ expect(multi.perform).to be_nil
146
+ end
147
+
148
+ it "logs" do
149
+ expect(Ethon.logger).to receive(:debug).twice
150
+ multi.perform
151
+ end
152
+ end
153
+
154
+ context "when easy handle" do
155
+ before do
156
+ easy.url = "http://localhost:3001/"
157
+ multi.add(easy)
158
+ end
159
+
160
+ it "requests" do
161
+ multi.perform
162
+ end
163
+
164
+ it "sets easy" do
165
+ multi.perform
166
+ expect(easy.response_code).to eq(200)
167
+ end
168
+ end
169
+
170
+ context "when four easy handles" do
171
+ let(:easies) do
172
+ ary = []
173
+ 4.times do
174
+ ary << another_easy = Ethon::Easy.new
175
+ another_easy.url = "http://localhost:3001/"
176
+ end
177
+ ary
178
+ end
179
+
180
+ before do
181
+ easies.each { |e| multi.add(e) }
182
+ multi.perform
183
+ end
184
+
185
+ it "sets response codes" do
186
+ expect(easies.all?{ |e| e.response_code == 200 }).to be_truthy
187
+ end
188
+ end
189
+ end
190
+
191
+ describe "#ongoing?" do
192
+ context "when easy_handles" do
193
+ before { multi.easy_handles << 1 }
194
+
195
+ context "when running_count not greater 0" do
196
+ before { multi.instance_variable_set(:@running_count, 0) }
197
+
198
+ it "returns true" do
199
+ expect(multi.method(:ongoing?).call).to be_truthy
200
+ end
201
+ end
202
+
203
+ context "when running_count greater 0" do
204
+ before { multi.instance_variable_set(:@running_count, 1) }
205
+
206
+ it "returns true" do
207
+ expect(multi.method(:ongoing?).call).to be_truthy
208
+ end
209
+ end
210
+ end
211
+
212
+ context "when no easy_handles" do
213
+ context "when running_count not greater 0" do
214
+ before { multi.instance_variable_set(:@running_count, 0) }
215
+
216
+ it "returns false" do
217
+ expect(multi.method(:ongoing?).call).to be_falsey
218
+ end
219
+ end
220
+
221
+ context "when running_count greater 0" do
222
+ before { multi.instance_variable_set(:@running_count, 1) }
223
+
224
+ it "returns true" do
225
+ expect(multi.method(:ongoing?).call).to be_truthy
226
+ end
227
+ end
228
+ end
229
+ end
230
+
231
+ describe "#init_vars" do
232
+ it "sets @timeout" do
233
+ expect(multi.instance_variable_get(:@timeout)).to be_a(FFI::MemoryPointer)
234
+ end
235
+
236
+ it "sets @timeval" do
237
+ expect(multi.instance_variable_get(:@timeval)).to be_a(Ethon::Curl::Timeval)
238
+ end
239
+
240
+ it "sets @fd_read" do
241
+ expect(multi.instance_variable_get(:@fd_read)).to be_a(Ethon::Curl::FDSet)
242
+ end
243
+
244
+ it "sets @fd_write" do
245
+ expect(multi.instance_variable_get(:@fd_write)).to be_a(Ethon::Curl::FDSet)
246
+ end
247
+
248
+ it "sets @fd_excep" do
249
+ expect(multi.instance_variable_get(:@fd_excep)).to be_a(Ethon::Curl::FDSet)
250
+ end
251
+
252
+ it "sets @max_fd" do
253
+ expect(multi.instance_variable_get(:@max_fd)).to be_a(FFI::MemoryPointer)
254
+ end
255
+ end
256
+
257
+ describe "#reset_fds" do
258
+ after { multi.method(:reset_fds).call }
259
+
260
+ it "resets @fd_read" do
261
+ expect(multi.instance_variable_get(:@fd_read)).to receive(:clear)
262
+ end
263
+
264
+ it "resets @fd_write" do
265
+ expect(multi.instance_variable_get(:@fd_write)).to receive(:clear)
266
+ end
267
+
268
+ it "resets @fd_excep" do
269
+ expect(multi.instance_variable_get(:@fd_excep)).to receive(:clear)
270
+ end
271
+ end
272
+
273
+ describe "#check" do
274
+ it { skip("untested") }
275
+ end
276
+
277
+ describe "#run" do
278
+ it { skip("untested") }
279
+ end
280
+
281
+ describe "#trigger" do
282
+ it "calls multi perform" do
283
+ expect(Ethon::Curl).to receive(:multi_perform)
284
+ multi.send(:trigger, pointer)
285
+ end
286
+
287
+ it "sets running count" do
288
+ multi.instance_variable_set(:@running_count, nil)
289
+ multi.send(:trigger, pointer)
290
+ expect(multi.instance_variable_get(:@running_count)).to_not be_nil
291
+ end
292
+
293
+ it "returns multi perform code" do
294
+ expect(Ethon::Curl).to receive(:multi_perform).and_return(:ok)
295
+ expect(multi.send(:trigger, pointer)).to eq(:ok)
296
+ end
297
+ end
298
+ end
@@ -0,0 +1,182 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Multi::Options do
5
+ let(:multi) { Ethon::Multi.new }
6
+
7
+ [
8
+ :maxconnects, :pipelining, :socketdata, :socketfunction,
9
+ :timerdata, :timerfunction, :max_total_connections
10
+ ].each do |name|
11
+ describe "#{name}=" do
12
+ it "responds_to" do
13
+ expect(multi).to respond_to("#{name}=")
14
+ end
15
+
16
+ it "sets option" do
17
+ expect(Ethon::Curl).to receive(:set_option).with(name, anything, anything, anything)
18
+ multi.method("#{name}=").call(1)
19
+ end
20
+ end
21
+ end
22
+
23
+ context "socket_action mode" do
24
+ let(:multi) { Ethon::Multi.new(execution_mode: :socket_action) }
25
+
26
+ describe "#socketfunction callbacks" do
27
+ it "allows multi_code return values" do
28
+ calls = []
29
+ multi.socketfunction = proc do |handle, sock, what, userp, socketp|
30
+ calls << what
31
+ :ok
32
+ end
33
+
34
+ easy = Ethon::Easy.new
35
+ easy.url = "http://localhost:3001/?delay=1"
36
+ multi.add(easy)
37
+ expect(calls).to eq([])
38
+ 5.times do
39
+ multi.socket_action
40
+ break unless calls.empty?
41
+ sleep 0.1
42
+ end
43
+ expect(calls.last).to eq(:in).or(eq(:out))
44
+ multi.delete(easy)
45
+ expect(calls.last).to eq(:remove)
46
+ end
47
+
48
+ it "allows integer return values (compatibility)" do
49
+ called = false
50
+ multi.socketfunction = proc do |handle, sock, what, userp, socketp|
51
+ called = true
52
+ 0
53
+ end
54
+
55
+ easy = Ethon::Easy.new
56
+ easy.url = "http://localhost:3001/?delay=1"
57
+ multi.add(easy)
58
+ 5.times do
59
+ multi.socket_action
60
+ break if called
61
+ sleep 0.1
62
+ end
63
+ multi.delete(easy)
64
+
65
+ expect(called).to be_truthy
66
+ end
67
+
68
+ it "errors on invalid return codes" do
69
+ called = false
70
+ multi.socketfunction = proc do |handle, sock, what, userp, socketp|
71
+ called = true
72
+ "hi"
73
+ end
74
+
75
+ easy = Ethon::Easy.new
76
+ easy.url = "http://localhost:3001/?delay=1"
77
+ multi.add(easy)
78
+ expect {
79
+ 5.times do
80
+ multi.socket_action
81
+ break if called
82
+ sleep 0.1
83
+ end
84
+ }.to raise_error(ArgumentError)
85
+ expect { multi.delete(easy) }.to raise_error(ArgumentError)
86
+ end
87
+ end
88
+
89
+ describe "#timerfunction callbacks" do
90
+ it "allows multi_code return values" do
91
+ calls = []
92
+ multi.timerfunction = proc do |handle, timeout_ms, userp|
93
+ calls << timeout_ms
94
+ :ok
95
+ end
96
+
97
+ easy = Ethon::Easy.new
98
+ easy.url = "http://localhost:3001/?delay=1"
99
+ multi.add(easy)
100
+ expect(calls.last).to be >= 0 # adds an immediate timeout
101
+
102
+ multi.delete(easy)
103
+ expect(calls.last).to eq(-1) # cancels the timer
104
+ end
105
+
106
+ it "allows integer return values (compatibility)" do
107
+ called = false
108
+ multi.timerfunction = proc do |handle, timeout_ms, userp|
109
+ called = true
110
+ 0
111
+ end
112
+
113
+ easy = Ethon::Easy.new
114
+ easy.url = "http://localhost:3001/?delay=1"
115
+ multi.add(easy)
116
+ multi.socket_action
117
+ multi.delete(easy)
118
+
119
+ expect(called).to be_truthy
120
+ end
121
+
122
+ it "errors on invalid return codes" do
123
+ called = false
124
+ multi.timerfunction = proc do |handle, timeout_ms, userp|
125
+ called = true
126
+ "hi"
127
+ end
128
+
129
+ easy = Ethon::Easy.new
130
+ easy.url = "http://localhost:3001/?delay=1"
131
+ expect { multi.add(easy) }.to raise_error(ArgumentError)
132
+ end
133
+ end
134
+ end
135
+
136
+ describe "#value_for" do
137
+ context "when option in bool" do
138
+ context "when value true" do
139
+ let(:value) { true }
140
+
141
+ it "returns 1" do
142
+ expect(multi.method(:value_for).call(value, :bool)).to eq(1)
143
+ end
144
+ end
145
+
146
+ context "when value false" do
147
+ let(:value) { false }
148
+
149
+ it "returns 0" do
150
+ expect(multi.method(:value_for).call(value, :bool)).to eq(0)
151
+ end
152
+ end
153
+ end
154
+
155
+
156
+ context "when value in int" do
157
+ let(:value) { "2" }
158
+
159
+ it "returns value casted to int" do
160
+ expect(multi.method(:value_for).call(value, :int)).to eq(2)
161
+ end
162
+ end
163
+
164
+ context "when value in unspecific_options" do
165
+ context "when value a string" do
166
+ let(:value) { "www.example.\0com" }
167
+
168
+ it "returns zero byte escaped string" do
169
+ expect(multi.method(:value_for).call(value, nil)).to eq("www.example.\\0com")
170
+ end
171
+ end
172
+
173
+ context "when value not a string" do
174
+ let(:value) { 1 }
175
+
176
+ it "returns value" do
177
+ expect(multi.method(:value_for).call(value, nil)).to eq(1)
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Multi::Stack do
5
+ let(:multi) { Ethon::Multi.new }
6
+ let(:easy) { Ethon::Easy.new }
7
+
8
+ describe "#add" do
9
+ context "when easy already added" do
10
+ before { multi.add(easy) }
11
+
12
+ it "returns nil" do
13
+ expect(multi.add(easy)).to be_nil
14
+ end
15
+ end
16
+
17
+ context "when easy new" do
18
+ it "adds easy to multi" do
19
+ expect(Ethon::Curl).to receive(:multi_add_handle).and_return(:ok)
20
+ multi.add(easy)
21
+ end
22
+
23
+ it "adds easy to easy_handles" do
24
+ multi.add(easy)
25
+ expect(multi.easy_handles).to include(easy)
26
+ end
27
+ end
28
+
29
+ context "when multi_add_handle fails" do
30
+ it "raises multi add error" do
31
+ expect(Ethon::Curl).to receive(:multi_add_handle).and_return(:bad_easy_handle)
32
+ expect{ multi.add(easy) }.to raise_error(Ethon::Errors::MultiAdd)
33
+ end
34
+ end
35
+
36
+ context "when multi cleaned up before" do
37
+ it "raises multi add error" do
38
+ Ethon::Curl.multi_cleanup(multi.handle)
39
+ expect{ multi.add(easy) }.to raise_error(Ethon::Errors::MultiAdd)
40
+ end
41
+ end
42
+ end
43
+
44
+ describe "#delete" do
45
+ context "when easy in easy_handles" do
46
+ before { multi.add(easy) }
47
+
48
+ it "deletes easy from multi" do
49
+ expect(Ethon::Curl).to receive(:multi_remove_handle).and_return(:ok)
50
+ multi.delete(easy)
51
+ end
52
+
53
+ it "deletes easy from easy_handles" do
54
+ multi.delete(easy)
55
+ expect(multi.easy_handles).to_not include(easy)
56
+ end
57
+ end
58
+
59
+ context "when easy is not in easy_handles" do
60
+ it "does nothing" do
61
+ expect(Ethon::Curl).to receive(:multi_add_handle).and_return(:ok)
62
+ multi.add(easy)
63
+ end
64
+
65
+ it "adds easy to easy_handles" do
66
+ multi.add(easy)
67
+ expect(multi.easy_handles).to include(easy)
68
+ end
69
+ end
70
+
71
+ context "when multi_remove_handle fails" do
72
+ before { multi.add(easy) }
73
+
74
+ it "raises multi remove error" do
75
+ expect(Ethon::Curl).to receive(:multi_remove_handle).and_return(:bad_easy_handle)
76
+ expect{ multi.delete(easy) }.to raise_error(Ethon::Errors::MultiRemove)
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,152 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Multi do
5
+ describe ".new" do
6
+ it "inits curl" do
7
+ expect(Ethon::Curl).to receive(:init)
8
+ Ethon::Multi.new
9
+ end
10
+
11
+ context "with default options" do
12
+ it "allows running #perform with the default execution_mode" do
13
+ Ethon::Multi.new.perform
14
+ end
15
+
16
+ it "refuses to run #socket_action" do
17
+ expect { Ethon::Multi.new.socket_action }.to raise_error(ArgumentError)
18
+ end
19
+ end
20
+
21
+ context "when options not empty" do
22
+ context "when pipelining is set" do
23
+ let(:options) { { :pipelining => true } }
24
+
25
+ it "sets pipelining" do
26
+ expect_any_instance_of(Ethon::Multi).to receive(:pipelining=).with(true)
27
+ Ethon::Multi.new(options)
28
+ end
29
+ end
30
+
31
+ context "when execution_mode option is :socket_action" do
32
+ let(:options) { { :execution_mode => :socket_action } }
33
+ let(:multi) { Ethon::Multi.new(options) }
34
+
35
+ it "refuses to run #perform" do
36
+ expect { multi.perform }.to raise_error(ArgumentError)
37
+ end
38
+
39
+ it "allows running #socket_action" do
40
+ multi.socket_action
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ describe "#socket_action" do
47
+ let(:options) { { :execution_mode => :socket_action } }
48
+ let(:select_state) { { :readers => [], :writers => [], :timeout => 0 } }
49
+ let(:multi) {
50
+ multi = Ethon::Multi.new(options)
51
+ multi.timerfunction = proc do |handle, timeout_ms, userp|
52
+ timeout_ms = nil if timeout_ms == -1
53
+ select_state[:timeout] = timeout_ms
54
+ :ok
55
+ end
56
+ multi.socketfunction = proc do |handle, sock, what, userp, socketp|
57
+ case what
58
+ when :remove
59
+ select_state[:readers].delete(sock)
60
+ select_state[:writers].delete(sock)
61
+ when :in
62
+ select_state[:readers].push(sock) unless select_state[:readers].include? sock
63
+ select_state[:writers].delete(sock)
64
+ when :out
65
+ select_state[:readers].delete(sock)
66
+ select_state[:writers].push(sock) unless select_state[:writers].include? sock
67
+ when :inout
68
+ select_state[:readers].push(sock) unless select_state[:readers].include? sock
69
+ select_state[:writers].push(sock) unless select_state[:writers].include? sock
70
+ else
71
+ raise ArgumentError, "invalid value for 'what' in socketfunction callback"
72
+ end
73
+ :ok
74
+ end
75
+ multi
76
+ }
77
+
78
+ def fds_to_ios(fds)
79
+ fds.map do |fd|
80
+ IO.for_fd(fd).tap { |io| io.autoclose = false }
81
+ end
82
+ end
83
+
84
+ def perform_socket_action_until_complete
85
+ multi.socket_action # start things off
86
+
87
+ while multi.ongoing?
88
+ readers, writers, _ = IO.select(
89
+ fds_to_ios(select_state[:readers]),
90
+ fds_to_ios(select_state[:writers]),
91
+ [],
92
+ select_state[:timeout]
93
+ )
94
+
95
+ to_notify = Hash.new { |hash, key| hash[key] = [] }
96
+ unless readers.nil?
97
+ readers.each do |reader|
98
+ to_notify[reader] << :in
99
+ end
100
+ end
101
+ unless writers.nil?
102
+ writers.each do |writer|
103
+ to_notify[writer] << :out
104
+ end
105
+ end
106
+
107
+ to_notify.each do |io, readiness|
108
+ multi.socket_action(io, readiness)
109
+ end
110
+
111
+ # if we didn't have anything to notify, then we timed out
112
+ multi.socket_action if to_notify.empty?
113
+ end
114
+ ensure
115
+ multi.easy_handles.dup.each do |h|
116
+ multi.delete(h)
117
+ end
118
+ end
119
+
120
+ it "supports an end-to-end request" do
121
+ easy = Ethon::Easy.new
122
+ easy.url = "http://localhost:3001/"
123
+ multi.add(easy)
124
+
125
+ perform_socket_action_until_complete
126
+
127
+ expect(multi.ongoing?).to eq(false)
128
+ end
129
+
130
+ it "supports multiple concurrent requests" do
131
+ handles = []
132
+ 10.times do
133
+ easy = Ethon::Easy.new
134
+ easy.url = "http://localhost:3001/?delay=1"
135
+ multi.add(easy)
136
+ handles << easy
137
+ end
138
+
139
+ start = Time.now
140
+ perform_socket_action_until_complete
141
+ duration = Time.now - start
142
+
143
+ # these should have happened concurrently
144
+ expect(duration).to be < 2
145
+ expect(multi.ongoing?).to eq(false)
146
+
147
+ handles.each do |handle|
148
+ expect(handle.response_code).to eq(200)
149
+ end
150
+ end
151
+ end
152
+ end