talon_one 6.0.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (751) hide show
  1. checksums.yaml +4 -4
  2. data/.github/.example/.bundle/config +2 -0
  3. data/.github/.example/Gemfile +6 -0
  4. data/.github/.example/Gemfile.lock +47 -0
  5. data/.github/.example/example.rb +85 -0
  6. data/.github/.example/vendor/bundle/ruby/3.3.0/extensions/arm64-darwin-24/3.3.0/json-2.8.2/gem.build_complete +0 -0
  7. data/.github/.example/vendor/bundle/ruby/3.3.0/extensions/arm64-darwin-24/3.3.0/json-2.8.2/gem_make.out +24 -0
  8. data/.github/.example/vendor/bundle/ruby/3.3.0/extensions/arm64-darwin-24/3.3.0/json-2.8.2/json/ext/generator.bundle +0 -0
  9. data/.github/.example/vendor/bundle/ruby/3.3.0/extensions/arm64-darwin-24/3.3.0/json-2.8.2/json/ext/parser.bundle +0 -0
  10. data/.github/.example/vendor/bundle/ruby/3.3.0/extensions/arm64-darwin-24/3.3.0/json-2.8.2/mkmf.log +177 -0
  11. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.github/workflows/ruby.yml +41 -0
  12. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.gitignore +8 -0
  13. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/.rspec +3 -0
  14. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/CHANGELOG.md +375 -0
  15. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Gemfile +43 -0
  16. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Guardfile +10 -0
  17. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/LICENSE +20 -0
  18. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/README.md +118 -0
  19. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/Rakefile +40 -0
  20. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/ethon.gemspec +26 -0
  21. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curl.rb +90 -0
  22. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/classes.rb +65 -0
  23. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/codes.rb +122 -0
  24. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/constants.rb +80 -0
  25. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/form_options.rb +37 -0
  26. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/functions.rb +58 -0
  27. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/infos.rb +151 -0
  28. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/messages.rb +19 -0
  29. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/options.rb +503 -0
  30. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/curls/settings.rb +12 -0
  31. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/callbacks.rb +149 -0
  32. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/debug_info.rb +47 -0
  33. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/features.rb +31 -0
  34. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/form.rb +107 -0
  35. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/header.rb +61 -0
  36. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/actionable.rb +157 -0
  37. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/custom.rb +29 -0
  38. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/delete.rb +25 -0
  39. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/get.rb +24 -0
  40. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/head.rb +24 -0
  41. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/options.rb +24 -0
  42. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/patch.rb +24 -0
  43. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/post.rb +26 -0
  44. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/postable.rb +32 -0
  45. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/put.rb +27 -0
  46. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http/putable.rb +25 -0
  47. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/http.rb +68 -0
  48. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/informations.rb +116 -0
  49. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/mirror.rb +36 -0
  50. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/operations.rb +64 -0
  51. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/options.rb +50 -0
  52. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/params.rb +29 -0
  53. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/queryable.rb +154 -0
  54. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/response_callbacks.rb +136 -0
  55. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy/util.rb +28 -0
  56. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/easy.rb +315 -0
  57. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/ethon_error.rb +9 -0
  58. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/global_init.rb +13 -0
  59. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/invalid_option.rb +13 -0
  60. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/invalid_value.rb +13 -0
  61. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_add.rb +12 -0
  62. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_fdset.rb +12 -0
  63. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_remove.rb +12 -0
  64. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/multi_timeout.rb +13 -0
  65. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors/select.rb +13 -0
  66. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/errors.rb +17 -0
  67. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/libc.rb +21 -0
  68. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/loggable.rb +59 -0
  69. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi/operations.rb +228 -0
  70. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi/options.rb +117 -0
  71. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi/stack.rb +49 -0
  72. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/multi.rb +126 -0
  73. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon/version.rb +6 -0
  74. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/lib/ethon.rb +36 -0
  75. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/benchmarks.rb +104 -0
  76. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/memory_leaks.rb +114 -0
  77. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/perf_spec_helper.rb +37 -0
  78. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/memory_test_helpers.rb +76 -0
  79. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/os_memory_leak_tracker.rb +48 -0
  80. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/profile/support/ruby_object_leak_tracker.rb +49 -0
  81. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/curl_spec.rb +38 -0
  82. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/callbacks_spec.rb +81 -0
  83. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/debug_info_spec.rb +54 -0
  84. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/features_spec.rb +24 -0
  85. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/form_spec.rb +104 -0
  86. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/header_spec.rb +79 -0
  87. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/custom_spec.rb +177 -0
  88. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/delete_spec.rb +21 -0
  89. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/get_spec.rb +126 -0
  90. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/head_spec.rb +80 -0
  91. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/options_spec.rb +51 -0
  92. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/patch_spec.rb +51 -0
  93. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/post_spec.rb +317 -0
  94. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http/put_spec.rb +168 -0
  95. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/http_spec.rb +64 -0
  96. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/informations_spec.rb +126 -0
  97. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/mirror_spec.rb +47 -0
  98. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/operations_spec.rb +271 -0
  99. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/options_spec.rb +193 -0
  100. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/queryable_spec.rb +235 -0
  101. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/response_callbacks_spec.rb +152 -0
  102. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy/util_spec.rb +28 -0
  103. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/easy_spec.rb +203 -0
  104. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/libc_spec.rb +14 -0
  105. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/loggable_spec.rb +22 -0
  106. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/operations_spec.rb +298 -0
  107. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/options_spec.rb +182 -0
  108. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi/stack_spec.rb +80 -0
  109. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/ethon/multi_spec.rb +152 -0
  110. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/spec_helper.rb +28 -0
  111. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/support/localhost_server.rb +95 -0
  112. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ethon-0.16.0/spec/support/server.rb +115 -0
  113. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/CHANGELOG.md +456 -0
  114. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/COPYING +49 -0
  115. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/Gemfile +21 -0
  116. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/LICENSE +24 -0
  117. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/LICENSE.SPECS +22 -0
  118. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/README.md +137 -0
  119. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/Rakefile +206 -0
  120. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/ffi.gemspec +42 -0
  121. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/2.5/ffi_c.bundle +0 -0
  122. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/2.6/ffi_c.bundle +0 -0
  123. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/2.7/ffi_c.bundle +0 -0
  124. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/3.0/ffi_c.bundle +0 -0
  125. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/3.1/ffi_c.bundle +0 -0
  126. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/3.2/ffi_c.bundle +0 -0
  127. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/3.3/ffi_c.bundle +0 -0
  128. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/abstract_memory.rb +44 -0
  129. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/autopointer.rb +180 -0
  130. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/buffer.rb +4 -0
  131. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/callback.rb +4 -0
  132. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/compat.rb +43 -0
  133. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/data_converter.rb +67 -0
  134. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/dynamic_library.rb +118 -0
  135. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/enum.rb +302 -0
  136. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/errno.rb +43 -0
  137. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/ffi.rb +50 -0
  138. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/function.rb +71 -0
  139. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/io.rb +62 -0
  140. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/library.rb +576 -0
  141. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/library_path.rb +109 -0
  142. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/managedstruct.rb +84 -0
  143. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/memorypointer.rb +1 -0
  144. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
  145. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-freebsd/types.conf +128 -0
  146. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-freebsd12/types.conf +181 -0
  147. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-linux/types.conf +175 -0
  148. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
  149. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/aarch64-windows/types.conf +52 -0
  150. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/arm-freebsd/types.conf +152 -0
  151. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/arm-freebsd12/types.conf +152 -0
  152. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/arm-linux/types.conf +132 -0
  153. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/hppa1.1-linux/types.conf +178 -0
  154. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/hppa2.0-linux/types.conf +178 -0
  155. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-cygwin/types.conf +3 -0
  156. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-darwin/types.conf +100 -0
  157. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-freebsd/types.conf +152 -0
  158. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-freebsd12/types.conf +152 -0
  159. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-gnu/types.conf +107 -0
  160. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-linux/types.conf +103 -0
  161. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-netbsd/types.conf +126 -0
  162. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-openbsd/types.conf +128 -0
  163. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-solaris/types.conf +122 -0
  164. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/i386-windows/types.conf +52 -0
  165. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/ia64-linux/types.conf +104 -0
  166. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/loongarch64-linux/types.conf +141 -0
  167. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mips-linux/types.conf +102 -0
  168. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mips64-linux/types.conf +104 -0
  169. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  170. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mipsel-linux/types.conf +102 -0
  171. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mipsisa32r6-linux/types.conf +102 -0
  172. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mipsisa32r6el-linux/types.conf +102 -0
  173. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mipsisa64r6-linux/types.conf +104 -0
  174. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/mipsisa64r6el-linux/types.conf +104 -0
  175. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc-aix/types.conf +180 -0
  176. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc-darwin/types.conf +100 -0
  177. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc-linux/types.conf +130 -0
  178. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc-openbsd/types.conf +156 -0
  179. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  180. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/powerpc64le-linux/types.conf +100 -0
  181. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/riscv64-linux/types.conf +104 -0
  182. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/s390-linux/types.conf +102 -0
  183. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/s390x-linux/types.conf +102 -0
  184. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sparc-linux/types.conf +102 -0
  185. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sparc-solaris/types.conf +128 -0
  186. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sparcv9-linux/types.conf +102 -0
  187. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sparcv9-openbsd/types.conf +156 -0
  188. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sparcv9-solaris/types.conf +128 -0
  189. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/sw_64-linux/types.conf +141 -0
  190. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  191. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-darwin/types.conf +130 -0
  192. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-dragonflybsd/types.conf +130 -0
  193. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-freebsd/types.conf +128 -0
  194. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-freebsd12/types.conf +158 -0
  195. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
  196. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-linux/types.conf +132 -0
  197. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-msys/types.conf +119 -0
  198. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-netbsd/types.conf +128 -0
  199. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-openbsd/types.conf +134 -0
  200. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-solaris/types.conf +122 -0
  201. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform/x86_64-windows/types.conf +52 -0
  202. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/platform.rb +187 -0
  203. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/pointer.rb +167 -0
  204. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/struct.rb +317 -0
  205. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/struct_by_reference.rb +72 -0
  206. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/struct_layout.rb +96 -0
  207. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/struct_layout_builder.rb +227 -0
  208. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/tools/const_generator.rb +232 -0
  209. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/tools/generator.rb +105 -0
  210. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/tools/generator_task.rb +32 -0
  211. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/tools/struct_generator.rb +195 -0
  212. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/tools/types_generator.rb +137 -0
  213. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/types.rb +222 -0
  214. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/union.rb +43 -0
  215. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/variadic.rb +80 -0
  216. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi/version.rb +3 -0
  217. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/lib/ffi.rb +27 -0
  218. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/rakelib/ffi_gem_helper.rb +65 -0
  219. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/getlogin.rb +8 -0
  220. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/getpid.rb +8 -0
  221. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/gettimeofday.rb +18 -0
  222. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/hello.rb +8 -0
  223. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/hello_ractor.rb +11 -0
  224. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/inotify.rb +60 -0
  225. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/pty.rb +75 -0
  226. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/qsort.rb +20 -0
  227. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/samples/qsort_ractor.rb +28 -0
  228. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/abstract_memory.rbs +165 -0
  229. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/auto_pointer.rbs +27 -0
  230. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/buffer.rbs +18 -0
  231. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/data_converter.rbs +10 -0
  232. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/dynamic_library.rbs +9 -0
  233. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/enum.rbs +38 -0
  234. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/function.rbs +39 -0
  235. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/library.rbs +42 -0
  236. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/native_type.rbs +86 -0
  237. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/pointer.rbs +42 -0
  238. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/struct.rbs +76 -0
  239. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/struct_by_reference.rbs +11 -0
  240. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/struct_by_value.rbs +7 -0
  241. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/struct_layout.rbs +9 -0
  242. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/struct_layout_builder.rbs +5 -0
  243. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi/type.rbs +39 -0
  244. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-arm64-darwin/sig/ffi.rbs +26 -0
  245. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/BSDL +22 -0
  246. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/CHANGES.md +559 -0
  247. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/COPYING +56 -0
  248. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/LEGAL +60 -0
  249. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/README.md +195 -0
  250. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/fbuffer/fbuffer.h +184 -0
  251. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/generator/Makefile +270 -0
  252. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/generator/extconf.rb +10 -0
  253. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/generator/generator.c +1663 -0
  254. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/parser/Makefile +270 -0
  255. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/parser/extconf.rb +12 -0
  256. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/parser/parser.c +3238 -0
  257. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/ext/json/ext/parser/parser.rl +1465 -0
  258. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/json.gemspec +64 -0
  259. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/bigdecimal.rb +58 -0
  260. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/complex.rb +51 -0
  261. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/core.rb +12 -0
  262. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/date.rb +54 -0
  263. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/date_time.rb +67 -0
  264. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/exception.rb +49 -0
  265. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/ostruct.rb +54 -0
  266. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/range.rb +54 -0
  267. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/rational.rb +49 -0
  268. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/regexp.rb +48 -0
  269. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/set.rb +48 -0
  270. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/struct.rb +52 -0
  271. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/symbol.rb +47 -0
  272. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/add/time.rb +52 -0
  273. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/common.rb +876 -0
  274. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/ext/generator/state.rb +105 -0
  275. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/ext/generator.bundle +0 -0
  276. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/ext/parser.bundle +0 -0
  277. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/ext.rb +23 -0
  278. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/generic_object.rb +75 -0
  279. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/truffle_ruby/generator.rb +621 -0
  280. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json/version.rb +5 -0
  281. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/json-2.8.2/lib/json.rb +587 -0
  282. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/ci.yml +30 -0
  283. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/experimental.yml +33 -0
  284. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.gitignore +8 -0
  285. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.rspec +4 -0
  286. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/CHANGELOG.md +410 -0
  287. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/CONTRIBUTING.md +20 -0
  288. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Gemfile +36 -0
  289. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Guardfile +9 -0
  290. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/LICENSE +22 -0
  291. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/README.md +588 -0
  292. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Rakefile +38 -0
  293. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/UPGRADE.md +55 -0
  294. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/rack/typhoeus/middleware/params_decoder/helper.rb +76 -0
  295. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/rack/typhoeus/middleware/params_decoder.rb +57 -0
  296. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/rack/typhoeus.rb +1 -0
  297. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/adapters/faraday.rb +180 -0
  298. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/cache/dalli.rb +28 -0
  299. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/cache/rails.rb +28 -0
  300. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/cache/redis.rb +35 -0
  301. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/config.rb +85 -0
  302. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/easy_factory.rb +206 -0
  303. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/errors/no_stub.rb +12 -0
  304. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/errors/typhoeus_error.rb +8 -0
  305. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/errors.rb +9 -0
  306. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/expectation.rb +217 -0
  307. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/addable.rb +23 -0
  308. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/before.rb +31 -0
  309. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/block_connection.rb +35 -0
  310. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/cacheable.rb +15 -0
  311. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/memoizable.rb +56 -0
  312. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/queueable.rb +83 -0
  313. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/runnable.rb +19 -0
  314. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra/stubbable.rb +28 -0
  315. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/hydra.rb +95 -0
  316. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/pool.rb +70 -0
  317. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/railtie.rb +12 -0
  318. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/actions.rb +125 -0
  319. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/before.rb +30 -0
  320. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/block_connection.rb +52 -0
  321. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/cacheable.rb +38 -0
  322. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/callbacks.rb +151 -0
  323. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/marshal.rb +22 -0
  324. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/memoizable.rb +38 -0
  325. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/operations.rb +40 -0
  326. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/responseable.rb +29 -0
  327. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/streamable.rb +34 -0
  328. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request/stubbable.rb +30 -0
  329. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/request.rb +223 -0
  330. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/cacheable.rb +14 -0
  331. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/header.rb +105 -0
  332. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/informations.rb +305 -0
  333. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response/status.rb +106 -0
  334. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/response.rb +68 -0
  335. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus/version.rb +5 -0
  336. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/lib/typhoeus.rb +143 -0
  337. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/profile.rb +14 -0
  338. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/vs_nethttp.rb +64 -0
  339. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +156 -0
  340. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder_spec.rb +31 -0
  341. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/spec_helper.rb +29 -0
  342. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/localhost_server.rb +94 -0
  343. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/memory_cache.rb +15 -0
  344. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/server.rb +116 -0
  345. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/adapters/faraday_spec.rb +339 -0
  346. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/dalli_spec.rb +41 -0
  347. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/redis_spec.rb +41 -0
  348. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/config_spec.rb +15 -0
  349. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/easy_factory_spec.rb +143 -0
  350. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/errors/no_stub_spec.rb +13 -0
  351. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/expectation_spec.rb +280 -0
  352. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/addable_spec.rb +22 -0
  353. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/before_spec.rb +98 -0
  354. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/block_connection_spec.rb +18 -0
  355. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/cacheable_spec.rb +88 -0
  356. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/memoizable_spec.rb +53 -0
  357. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/queueable_spec.rb +98 -0
  358. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/runnable_spec.rb +137 -0
  359. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/stubbable_spec.rb +48 -0
  360. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra_spec.rb +22 -0
  361. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/pool_spec.rb +137 -0
  362. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/actions_spec.rb +19 -0
  363. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/before_spec.rb +93 -0
  364. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/block_connection_spec.rb +75 -0
  365. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/cacheable_spec.rb +94 -0
  366. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/callbacks_spec.rb +91 -0
  367. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/marshal_spec.rb +60 -0
  368. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/memoizable_spec.rb +34 -0
  369. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/operations_spec.rb +101 -0
  370. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/responseable_spec.rb +13 -0
  371. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/stubbable_spec.rb +45 -0
  372. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request_spec.rb +256 -0
  373. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/header_spec.rb +147 -0
  374. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/informations_spec.rb +323 -0
  375. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/status_spec.rb +256 -0
  376. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response_spec.rb +100 -0
  377. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus_spec.rb +105 -0
  378. data/.github/.example/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/typhoeus.gemspec +25 -0
  379. data/.github/.example/vendor/bundle/ruby/3.3.0/specifications/ethon-0.16.0.gemspec +24 -0
  380. data/.github/.example/vendor/bundle/ruby/3.3.0/specifications/ffi-1.17.0-arm64-darwin.gemspec +31 -0
  381. data/.github/.example/vendor/bundle/ruby/3.3.0/specifications/json-2.8.2.gemspec +0 -0
  382. data/.github/.example/vendor/bundle/ruby/3.3.0/specifications/typhoeus-1.4.1.gemspec +24 -0
  383. data/.github/dependabot.yml +10 -0
  384. data/.github/workflows/test.yml +75 -0
  385. data/README.md +546 -562
  386. data/docker-compose.yml +47 -0
  387. data/docs/AccountAnalytics.md +1 -1
  388. data/docs/Achievement.md +8 -0
  389. data/docs/AdditionalCampaignProperties.md +1 -1
  390. data/docs/AnalyticsProduct.md +23 -0
  391. data/docs/AnalyticsProductSKU.md +21 -0
  392. data/docs/ApplicationCampaignStats.md +2 -0
  393. data/docs/ApplicationCustomer.md +8 -8
  394. data/docs/ApplicationSession.md +2 -2
  395. data/docs/AudienceCustomer.md +2 -2
  396. data/docs/BaseLoyaltyProgram.md +3 -1
  397. data/docs/BulkOperationOnCampaigns.md +3 -1
  398. data/docs/Campaign.md +3 -1
  399. data/docs/CampaignTemplate.md +3 -1
  400. data/docs/CampaignTemplateCouponReservationSettings.md +19 -0
  401. data/docs/CampaignVersions.md +3 -1
  402. data/docs/Change.md +1 -1
  403. data/docs/CouponDeletionFilters.md +1 -1
  404. data/docs/CreateAchievement.md +9 -1
  405. data/docs/CustomerProfile.md +2 -2
  406. data/docs/CustomerProfileAudienceRequestItem.md +1 -1
  407. data/docs/CustomerSession.md +1 -1
  408. data/docs/CustomerSessionV2.md +10 -8
  409. data/docs/FeatureFlag.md +1 -1
  410. data/docs/GenerateCampaignDescription.md +2 -2
  411. data/docs/GenerateCampaignTags.md +2 -2
  412. data/docs/GenerateLoyaltyCard.md +3 -1
  413. data/docs/InlineResponse20020.md +1 -1
  414. data/docs/InlineResponse20021.md +4 -2
  415. data/docs/InlineResponse20022.md +3 -3
  416. data/docs/InlineResponse20023.md +1 -1
  417. data/docs/InlineResponse20024.md +1 -3
  418. data/docs/InlineResponse20025.md +1 -1
  419. data/docs/InlineResponse20026.md +2 -2
  420. data/docs/InlineResponse20027.md +2 -2
  421. data/docs/InlineResponse20028.md +3 -3
  422. data/docs/InlineResponse20029.md +5 -3
  423. data/docs/InlineResponse20030.md +1 -3
  424. data/docs/InlineResponse20031.md +1 -1
  425. data/docs/InlineResponse20032.md +3 -1
  426. data/docs/InlineResponse20033.md +3 -5
  427. data/docs/InlineResponse20034.md +5 -3
  428. data/docs/InlineResponse20035.md +3 -5
  429. data/docs/InlineResponse20036.md +1 -1
  430. data/docs/InlineResponse20037.md +1 -1
  431. data/docs/InlineResponse20038.md +1 -1
  432. data/docs/InlineResponse20039.md +1 -1
  433. data/docs/InlineResponse20040.md +1 -1
  434. data/docs/InlineResponse20041.md +4 -2
  435. data/docs/InlineResponse20042.md +2 -4
  436. data/docs/InlineResponse20043.md +1 -1
  437. data/docs/InlineResponse20044.md +5 -3
  438. data/docs/InlineResponse20045.md +1 -3
  439. data/docs/InlineResponse20046.md +3 -3
  440. data/docs/IntegrationApi.md +8 -8
  441. data/docs/IntegrationCustomerSessionResponse.md +1 -1
  442. data/docs/LedgerInfo.md +2 -2
  443. data/docs/ListCampaignStoreBudgets.md +23 -0
  444. data/docs/ListCampaignStoreBudgetsStore.md +21 -0
  445. data/docs/LoyaltyCard.md +4 -0
  446. data/docs/LoyaltyCardBatch.md +3 -1
  447. data/docs/LoyaltyLedger.md +1 -1
  448. data/docs/LoyaltyMembership.md +1 -1
  449. data/docs/LoyaltyProgram.md +5 -3
  450. data/docs/LoyaltyProgramBalance.md +2 -2
  451. data/docs/LoyaltyProgramEntity.md +5 -1
  452. data/docs/LoyaltyTier.md +6 -2
  453. data/docs/ManagementApi.md +114 -188
  454. data/docs/MessageLogEntry.md +10 -2
  455. data/docs/NewCampaignStoreBudget.md +21 -0
  456. data/docs/NewCampaignStoreBudgetStoreLimit.md +19 -0
  457. data/docs/NewCampaignTemplate.md +2 -0
  458. data/docs/NewCustomerSessionV2.md +4 -4
  459. data/docs/NewLoyaltyProgram.md +2 -0
  460. data/docs/NewLoyaltyTier.md +2 -2
  461. data/docs/NewPicklist.md +1 -1
  462. data/docs/NewWebhook.md +1 -1
  463. data/docs/Picklist.md +1 -1
  464. data/docs/Product.md +1 -1
  465. data/docs/ProductSearchMatch.md +21 -0
  466. data/docs/ProductSkuUnitAnalytics.md +23 -0
  467. data/docs/ProductUnitAnalytics.md +25 -0
  468. data/docs/ScimNewUser.md +1 -1
  469. data/docs/ScimServiceProviderConfigResponse.md +3 -1
  470. data/docs/ScimServiceProviderConfigResponseSort.md +17 -0
  471. data/docs/ScimUser.md +1 -1
  472. data/docs/Store.md +2 -2
  473. data/docs/StrikethroughDebugResponse.md +19 -0
  474. data/docs/SummaryCampaignStoreBudget.md +21 -0
  475. data/docs/TemplateArgDef.md +2 -0
  476. data/docs/UpdateAchievement.md +9 -1
  477. data/docs/UpdateCampaignTemplate.md +2 -0
  478. data/docs/UpdateLoyaltyProgram.md +2 -0
  479. data/docs/UpdateLoyaltyProgramTier.md +21 -0
  480. data/docs/UpdatePicklist.md +1 -1
  481. data/docs/User.md +2 -2
  482. data/docs/ValueMap.md +23 -0
  483. data/docs/Webhook.md +1 -1
  484. data/docs/WebhookLogEntry.md +1 -1
  485. data/docs/WebhookWithOutgoingIntegrationDetails.md +1 -1
  486. data/lib/talon_one/api/integration_api.rb +13 -13
  487. data/lib/talon_one/api/management_api.rb +156 -245
  488. data/lib/talon_one/models/account.rb +0 -1
  489. data/lib/talon_one/models/account_additional_cost.rb +0 -1
  490. data/lib/talon_one/models/achievement.rb +87 -2
  491. data/lib/talon_one/models/add_loyalty_points_effect_props.rb +11 -0
  492. data/lib/talon_one/models/additional_campaign_properties.rb +3 -3
  493. data/lib/talon_one/models/analytics_product.rb +252 -0
  494. data/lib/talon_one/models/analytics_product_sku.rb +242 -0
  495. data/lib/talon_one/models/application.rb +0 -1
  496. data/lib/talon_one/models/application_api_key.rb +0 -1
  497. data/lib/talon_one/models/application_campaign_analytics.rb +2 -2
  498. data/lib/talon_one/models/application_campaign_stats.rb +16 -1
  499. data/lib/talon_one/models/application_cif.rb +0 -1
  500. data/lib/talon_one/models/application_cif_expression.rb +0 -1
  501. data/lib/talon_one/models/application_customer.rb +4 -5
  502. data/lib/talon_one/models/application_event.rb +0 -1
  503. data/lib/talon_one/models/application_referee.rb +0 -1
  504. data/lib/talon_one/models/application_session.rb +1 -2
  505. data/lib/talon_one/models/async_coupon_deletion_job_response.rb +0 -1
  506. data/lib/talon_one/models/attribute.rb +0 -1
  507. data/lib/talon_one/models/audience.rb +0 -1
  508. data/lib/talon_one/models/audience_customer.rb +1 -2
  509. data/lib/talon_one/models/base_loyalty_program.rb +26 -4
  510. data/lib/talon_one/models/base_notification.rb +0 -1
  511. data/lib/talon_one/models/base_notification_webhook.rb +0 -1
  512. data/lib/talon_one/models/bulk_operation_on_campaigns.rb +16 -6
  513. data/lib/talon_one/models/campaign.rb +26 -5
  514. data/lib/talon_one/models/campaign_analytics.rb +0 -1
  515. data/lib/talon_one/models/campaign_collection.rb +0 -1
  516. data/lib/talon_one/models/campaign_collection_without_payload.rb +0 -1
  517. data/lib/talon_one/models/campaign_evaluation_group.rb +0 -1
  518. data/lib/talon_one/models/campaign_group.rb +0 -1
  519. data/lib/talon_one/models/campaign_set.rb +0 -1
  520. data/lib/talon_one/models/campaign_store_budget.rb +0 -1
  521. data/lib/talon_one/models/campaign_template.rb +10 -2
  522. data/lib/talon_one/models/campaign_template_coupon_reservation_settings.rb +243 -0
  523. data/lib/talon_one/models/campaign_versions.rb +45 -1
  524. data/lib/talon_one/models/card_ledger_transaction_log_entry.rb +11 -0
  525. data/lib/talon_one/models/card_ledger_transaction_log_entry_integration_api.rb +11 -0
  526. data/lib/talon_one/models/catalog.rb +0 -1
  527. data/lib/talon_one/models/catalog_item.rb +0 -1
  528. data/lib/talon_one/models/change.rb +0 -1
  529. data/lib/talon_one/models/code_generator_settings.rb +11 -0
  530. data/lib/talon_one/models/collection.rb +0 -1
  531. data/lib/talon_one/models/collection_item.rb +0 -1
  532. data/lib/talon_one/models/collection_without_payload.rb +0 -1
  533. data/lib/talon_one/models/coupon.rb +0 -1
  534. data/lib/talon_one/models/coupon_creation_job.rb +0 -1
  535. data/lib/talon_one/models/coupon_deletion_filters.rb +0 -2
  536. data/lib/talon_one/models/coupon_deletion_job.rb +0 -1
  537. data/lib/talon_one/models/create_achievement.rb +90 -4
  538. data/lib/talon_one/models/custom_effect.rb +0 -1
  539. data/lib/talon_one/models/customer_profile.rb +1 -2
  540. data/lib/talon_one/models/customer_profile_audience_request_item.rb +1 -1
  541. data/lib/talon_one/models/customer_profile_integration_request_v2.rb +1 -1
  542. data/lib/talon_one/models/customer_session.rb +0 -1
  543. data/lib/talon_one/models/customer_session_v2.rb +20 -10
  544. data/lib/talon_one/models/deactivate_user_request.rb +0 -1
  545. data/lib/talon_one/models/deduct_loyalty_points_effect_props.rb +11 -0
  546. data/lib/talon_one/models/effect.rb +1 -1
  547. data/lib/talon_one/models/environment.rb +0 -1
  548. data/lib/talon_one/models/event.rb +0 -1
  549. data/lib/talon_one/models/event_type.rb +0 -1
  550. data/lib/talon_one/models/event_v2.rb +0 -1
  551. data/lib/talon_one/models/export.rb +0 -1
  552. data/lib/talon_one/models/features_feed.rb +0 -1
  553. data/lib/talon_one/models/generate_campaign_description.rb +11 -11
  554. data/lib/talon_one/models/generate_campaign_tags.rb +11 -11
  555. data/lib/talon_one/models/generate_loyalty_card.rb +40 -4
  556. data/lib/talon_one/models/giveaway.rb +0 -1
  557. data/lib/talon_one/models/import.rb +0 -1
  558. data/lib/talon_one/models/inline_response20020.rb +1 -1
  559. data/lib/talon_one/models/inline_response20021.rb +11 -7
  560. data/lib/talon_one/models/inline_response20022.rb +10 -10
  561. data/lib/talon_one/models/inline_response20023.rb +1 -1
  562. data/lib/talon_one/models/inline_response20024.rb +6 -10
  563. data/lib/talon_one/models/inline_response20025.rb +1 -1
  564. data/lib/talon_one/models/inline_response20026.rb +1 -6
  565. data/lib/talon_one/models/inline_response20027.rb +6 -1
  566. data/lib/talon_one/models/inline_response20028.rb +11 -11
  567. data/lib/talon_one/models/inline_response20029.rb +11 -7
  568. data/lib/talon_one/models/inline_response20030.rb +2 -11
  569. data/lib/talon_one/models/inline_response20031.rb +1 -1
  570. data/lib/talon_one/models/inline_response20032.rb +11 -2
  571. data/lib/talon_one/models/inline_response20033.rb +7 -11
  572. data/lib/talon_one/models/inline_response20034.rb +11 -7
  573. data/lib/talon_one/models/inline_response20035.rb +7 -11
  574. data/lib/talon_one/models/inline_response20036.rb +1 -1
  575. data/lib/talon_one/models/inline_response20037.rb +1 -1
  576. data/lib/talon_one/models/inline_response20038.rb +1 -1
  577. data/lib/talon_one/models/inline_response20039.rb +1 -1
  578. data/lib/talon_one/models/inline_response20040.rb +1 -1
  579. data/lib/talon_one/models/inline_response20041.rb +11 -7
  580. data/lib/talon_one/models/inline_response20042.rb +7 -11
  581. data/lib/talon_one/models/inline_response20043.rb +1 -1
  582. data/lib/talon_one/models/inline_response20044.rb +11 -7
  583. data/lib/talon_one/models/inline_response20045.rb +2 -11
  584. data/lib/talon_one/models/inline_response20046.rb +6 -1
  585. data/lib/talon_one/models/integration_coupon.rb +0 -1
  586. data/lib/talon_one/models/integration_customer_session_response.rb +1 -0
  587. data/lib/talon_one/models/integration_event.rb +0 -1
  588. data/lib/talon_one/models/integration_event_v2_request.rb +0 -1
  589. data/lib/talon_one/models/inventory_coupon.rb +0 -1
  590. data/lib/talon_one/models/inventory_referral.rb +0 -1
  591. data/lib/talon_one/models/item_attribute.rb +0 -1
  592. data/lib/talon_one/models/ledger_entry.rb +1 -1
  593. data/lib/talon_one/models/ledger_info.rb +3 -3
  594. data/lib/talon_one/models/library_attribute.rb +0 -1
  595. data/lib/talon_one/models/limit_counter.rb +0 -1
  596. data/lib/talon_one/models/list_campaign_store_budgets.rb +248 -0
  597. data/lib/talon_one/models/list_campaign_store_budgets_store.rb +239 -0
  598. data/lib/talon_one/models/login_params.rb +0 -1
  599. data/lib/talon_one/models/loyalty_balance_with_tier.rb +1 -1
  600. data/lib/talon_one/models/loyalty_card.rb +54 -2
  601. data/lib/talon_one/models/loyalty_card_balances.rb +1 -1
  602. data/lib/talon_one/models/loyalty_card_batch.rb +13 -5
  603. data/lib/talon_one/models/loyalty_program.rb +25 -3
  604. data/lib/talon_one/models/loyalty_program_balance.rb +2 -2
  605. data/lib/talon_one/models/loyalty_program_entity.rb +24 -4
  606. data/lib/talon_one/models/loyalty_program_transaction.rb +11 -0
  607. data/lib/talon_one/models/loyalty_tier.rb +24 -4
  608. data/lib/talon_one/models/management_key.rb +0 -1
  609. data/lib/talon_one/models/message_log_entry.rb +67 -7
  610. data/lib/talon_one/models/model_return.rb +0 -1
  611. data/lib/talon_one/models/multiple_audiences_item.rb +0 -1
  612. data/lib/talon_one/models/multiple_customer_profile_integration_request_item.rb +1 -1
  613. data/lib/talon_one/models/new_account_sign_up.rb +0 -1
  614. data/lib/talon_one/models/new_additional_cost.rb +0 -1
  615. data/lib/talon_one/models/new_application_api_key.rb +0 -1
  616. data/lib/talon_one/models/new_attribute.rb +0 -1
  617. data/lib/talon_one/models/new_audience.rb +0 -1
  618. data/lib/talon_one/models/new_base_notification.rb +0 -1
  619. data/lib/talon_one/models/new_campaign.rb +0 -1
  620. data/lib/talon_one/models/new_campaign_collection.rb +0 -1
  621. data/lib/talon_one/models/new_campaign_set.rb +0 -1
  622. data/lib/talon_one/models/new_campaign_store_budget.rb +283 -0
  623. data/lib/talon_one/models/new_campaign_store_budget_store_limit.rb +227 -0
  624. data/lib/talon_one/models/new_campaign_template.rb +10 -1
  625. data/lib/talon_one/models/new_catalog.rb +0 -1
  626. data/lib/talon_one/models/new_collection.rb +0 -1
  627. data/lib/talon_one/models/new_coupon_creation_job.rb +0 -1
  628. data/lib/talon_one/models/new_coupons.rb +0 -1
  629. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +0 -1
  630. data/lib/talon_one/models/new_custom_effect.rb +0 -1
  631. data/lib/talon_one/models/new_customer_session.rb +0 -1
  632. data/lib/talon_one/models/new_customer_session_v2.rb +3 -3
  633. data/lib/talon_one/models/new_event.rb +0 -1
  634. data/lib/talon_one/models/new_event_type.rb +0 -1
  635. data/lib/talon_one/models/new_loyalty_program.rb +24 -2
  636. data/lib/talon_one/models/new_loyalty_tier.rb +2 -2
  637. data/lib/talon_one/models/new_management_key.rb +0 -1
  638. data/lib/talon_one/models/new_multiple_audiences_item.rb +0 -1
  639. data/lib/talon_one/models/new_referral.rb +0 -1
  640. data/lib/talon_one/models/new_referrals_for_multiple_advocates.rb +0 -1
  641. data/lib/talon_one/models/new_role.rb +0 -1
  642. data/lib/talon_one/models/new_role_v2.rb +0 -1
  643. data/lib/talon_one/models/new_saml_connection.rb +1 -1
  644. data/lib/talon_one/models/new_store.rb +0 -1
  645. data/lib/talon_one/models/new_user.rb +0 -1
  646. data/lib/talon_one/models/new_webhook.rb +1 -2
  647. data/lib/talon_one/models/outgoing_integration_template_with_configuration_details.rb +0 -1
  648. data/lib/talon_one/models/picklist.rb +0 -1
  649. data/lib/talon_one/models/product.rb +1 -1
  650. data/lib/talon_one/models/product_search_match.rb +237 -0
  651. data/lib/talon_one/models/product_sku_unit_analytics.rb +256 -0
  652. data/lib/talon_one/models/product_unit_analytics.rb +271 -0
  653. data/lib/talon_one/models/referral.rb +0 -1
  654. data/lib/talon_one/models/revision.rb +0 -1
  655. data/lib/talon_one/models/revision_version.rb +0 -1
  656. data/lib/talon_one/models/role.rb +0 -1
  657. data/lib/talon_one/models/role_assign.rb +0 -1
  658. data/lib/talon_one/models/role_v2.rb +0 -1
  659. data/lib/talon_one/models/rollback_added_loyalty_points_effect_props.rb +11 -0
  660. data/lib/talon_one/models/rollback_deducted_loyalty_points_effect_props.rb +11 -0
  661. data/lib/talon_one/models/ruleset.rb +0 -1
  662. data/lib/talon_one/models/saml_connection.rb +1 -1
  663. data/lib/talon_one/models/scim_new_user.rb +5 -0
  664. data/lib/talon_one/models/scim_service_provider_config_response.rb +13 -4
  665. data/lib/talon_one/models/scim_service_provider_config_response_sort.rb +208 -0
  666. data/lib/talon_one/models/scim_user.rb +5 -0
  667. data/lib/talon_one/models/store.rb +1 -2
  668. data/lib/talon_one/models/strikethrough_debug_response.rb +221 -0
  669. data/lib/talon_one/models/summary_campaign_store_budget.rb +280 -0
  670. data/lib/talon_one/models/talang_attribute.rb +0 -1
  671. data/lib/talon_one/models/template_arg_def.rb +11 -2
  672. data/lib/talon_one/models/template_def.rb +0 -1
  673. data/lib/talon_one/models/template_limit_config.rb +0 -1
  674. data/lib/talon_one/models/transfer_loyalty_card.rb +11 -0
  675. data/lib/talon_one/models/update_achievement.rb +90 -4
  676. data/lib/talon_one/models/update_campaign_evaluation_group.rb +0 -1
  677. data/lib/talon_one/models/update_campaign_group.rb +0 -1
  678. data/lib/talon_one/models/update_campaign_template.rb +10 -1
  679. data/lib/talon_one/models/update_coupon.rb +0 -1
  680. data/lib/talon_one/models/update_coupon_batch.rb +0 -1
  681. data/lib/talon_one/models/update_loyalty_program.rb +24 -2
  682. data/lib/talon_one/models/update_loyalty_program_tier.rb +257 -0
  683. data/lib/talon_one/models/update_picklist.rb +0 -1
  684. data/lib/talon_one/models/user.rb +0 -1
  685. data/lib/talon_one/models/value_map.rb +245 -0
  686. data/lib/talon_one/models/webhook.rb +1 -2
  687. data/lib/talon_one/models/webhook_log_entry.rb +1 -1
  688. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +1 -2
  689. data/lib/talon_one/version.rb +1 -1
  690. data/lib/talon_one.rb +15 -4
  691. data/spec/api/integration_api_spec.rb +5 -5
  692. data/spec/api/management_api_spec.rb +58 -76
  693. data/spec/models/achievement_spec.rb +32 -0
  694. data/spec/models/additional_campaign_properties_spec.rb +1 -1
  695. data/spec/models/analytics_product_sku_spec.rb +53 -0
  696. data/spec/models/analytics_product_spec.rb +59 -0
  697. data/spec/models/application_campaign_analytics_spec.rb +1 -1
  698. data/spec/models/application_campaign_stats_spec.rb +6 -0
  699. data/spec/models/base_loyalty_program_spec.rb +10 -0
  700. data/spec/models/bulk_operation_on_campaigns_spec.rb +7 -1
  701. data/spec/models/campaign_spec.rb +11 -1
  702. data/spec/models/campaign_template_coupon_reservation_settings_spec.rb +47 -0
  703. data/spec/models/campaign_template_spec.rb +6 -0
  704. data/spec/models/campaign_versions_spec.rb +10 -0
  705. data/spec/models/create_achievement_spec.rb +32 -0
  706. data/spec/models/customer_session_v2_spec.rb +6 -0
  707. data/spec/models/generate_campaign_description_spec.rb +1 -1
  708. data/spec/models/generate_campaign_tags_spec.rb +1 -1
  709. data/spec/models/generate_loyalty_card_spec.rb +6 -0
  710. data/spec/models/inline_response20021_spec.rb +6 -0
  711. data/spec/models/inline_response20022_spec.rb +2 -2
  712. data/spec/models/inline_response20024_spec.rb +0 -6
  713. data/spec/models/inline_response20028_spec.rb +1 -1
  714. data/spec/models/inline_response20029_spec.rb +6 -0
  715. data/spec/models/inline_response20030_spec.rb +0 -6
  716. data/spec/models/inline_response20032_spec.rb +6 -0
  717. data/spec/models/inline_response20033_spec.rb +0 -6
  718. data/spec/models/inline_response20034_spec.rb +6 -0
  719. data/spec/models/inline_response20035_spec.rb +0 -6
  720. data/spec/models/inline_response20041_spec.rb +6 -0
  721. data/spec/models/inline_response20042_spec.rb +0 -6
  722. data/spec/models/inline_response20044_spec.rb +6 -0
  723. data/spec/models/inline_response20045_spec.rb +0 -6
  724. data/spec/models/limit_config_spec.rb +1 -1
  725. data/spec/models/list_campaign_store_budgets_spec.rb +59 -0
  726. data/spec/models/list_campaign_store_budgets_store_spec.rb +53 -0
  727. data/spec/models/loyalty_card_batch_spec.rb +6 -0
  728. data/spec/models/loyalty_card_spec.rb +12 -0
  729. data/spec/models/loyalty_program_entity_spec.rb +12 -0
  730. data/spec/models/loyalty_program_spec.rb +10 -0
  731. data/spec/models/loyalty_tier_spec.rb +12 -0
  732. data/spec/models/message_log_entry_spec.rb +25 -1
  733. data/spec/models/new_campaign_store_budget_spec.rb +61 -0
  734. data/spec/models/new_campaign_store_budget_store_limit_spec.rb +47 -0
  735. data/spec/models/new_campaign_template_spec.rb +6 -0
  736. data/spec/models/new_loyalty_program_spec.rb +10 -0
  737. data/spec/models/product_search_match_spec.rb +53 -0
  738. data/spec/models/product_sku_unit_analytics_spec.rb +59 -0
  739. data/spec/models/product_unit_analytics_spec.rb +65 -0
  740. data/spec/models/scim_service_provider_config_response_sort_spec.rb +41 -0
  741. data/spec/models/scim_service_provider_config_response_spec.rb +6 -0
  742. data/spec/models/strikethrough_debug_response_spec.rb +47 -0
  743. data/spec/models/summary_campaign_store_budget_spec.rb +61 -0
  744. data/spec/models/template_arg_def_spec.rb +6 -0
  745. data/spec/models/template_limit_config_spec.rb +1 -1
  746. data/spec/models/update_achievement_spec.rb +32 -0
  747. data/spec/models/update_campaign_template_spec.rb +6 -0
  748. data/spec/models/update_loyalty_program_spec.rb +10 -0
  749. data/spec/models/update_loyalty_program_tier_spec.rb +53 -0
  750. data/spec/models/value_map_spec.rb +59 -0
  751. metadata +447 -6
@@ -0,0 +1,72 @@
1
+ #
2
+ # Copyright (C) 2010 Wayne Meissner
3
+ #
4
+ # This file is part of ruby-ffi.
5
+ #
6
+ # All rights reserved.
7
+ #
8
+ # Redistribution and use in source and binary forms, with or without
9
+ # modification, are permitted provided that the following conditions are met:
10
+ #
11
+ # * Redistributions of source code must retain the above copyright notice, this
12
+ # list of conditions and the following disclaimer.
13
+ # * Redistributions in binary form must reproduce the above copyright notice
14
+ # this list of conditions and the following disclaimer in the documentation
15
+ # and/or other materials provided with the distribution.
16
+ # * Neither the name of the Ruby FFI project nor the names of its contributors
17
+ # may be used to endorse or promote products derived from this software
18
+ # without specific prior written permission.
19
+ #
20
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
24
+ # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.#
30
+
31
+ module FFI
32
+ # This class includes the {FFI::DataConverter} module.
33
+ class StructByReference
34
+ include DataConverter
35
+
36
+ attr_reader :struct_class
37
+
38
+ # @param [Struct] struct_class
39
+ def initialize(struct_class)
40
+ unless Class === struct_class and struct_class < FFI::Struct
41
+ raise TypeError, 'wrong type (expected subclass of FFI::Struct)'
42
+ end
43
+ @struct_class = struct_class
44
+ end
45
+
46
+ # Always get {FFI::Type}::POINTER.
47
+ def native_type
48
+ FFI::Type::POINTER
49
+ end
50
+
51
+ # @param [nil, Struct] value
52
+ # @param [nil] ctx
53
+ # @return [AbstractMemory] Pointer on +value+.
54
+ def to_native(value, ctx)
55
+ return Pointer::NULL if value.nil?
56
+
57
+ unless @struct_class === value
58
+ raise TypeError, "wrong argument type #{value.class} (expected #{@struct_class})"
59
+ end
60
+
61
+ value.pointer
62
+ end
63
+
64
+ # @param [AbstractMemory] value
65
+ # @param [nil] ctx
66
+ # @return [Struct]
67
+ # Create a struct from content of memory +value+.
68
+ def from_native(value, ctx)
69
+ @struct_class.new(value)
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,96 @@
1
+ #
2
+ # Copyright (C) 2008-2010 Wayne Meissner
3
+ # Copyright (C) 2008, 2009 Andrea Fazzi
4
+ # Copyright (C) 2008, 2009 Luc Heinrich
5
+ #
6
+ # This file is part of ruby-ffi.
7
+ #
8
+ # All rights reserved.
9
+ #
10
+ # Redistribution and use in source and binary forms, with or without
11
+ # modification, are permitted provided that the following conditions are met:
12
+ #
13
+ # * Redistributions of source code must retain the above copyright notice, this
14
+ # list of conditions and the following disclaimer.
15
+ # * Redistributions in binary form must reproduce the above copyright notice
16
+ # this list of conditions and the following disclaimer in the documentation
17
+ # and/or other materials provided with the distribution.
18
+ # * Neither the name of the Ruby FFI project nor the names of its contributors
19
+ # may be used to endorse or promote products derived from this software
20
+ # without specific prior written permission.
21
+ #
22
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
+ # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
26
+ # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28
+ # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
+ # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30
+ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+ #
33
+
34
+ module FFI
35
+
36
+ class StructLayout
37
+
38
+ # @return [Array<Array(Symbol, Integer)>
39
+ # Get an array of tuples (field name, offset of the field).
40
+ def offsets
41
+ members.map { |m| [ m, self[m].offset ] }
42
+ end
43
+
44
+ # @return [Integer]
45
+ # Get the offset of a field.
46
+ def offset_of(field_name)
47
+ self[field_name].offset
48
+ end
49
+
50
+ # An enum {Field} in a {StructLayout}.
51
+ class Enum < Field
52
+
53
+ # @param [AbstractMemory] ptr pointer on a {Struct}
54
+ # @return [Object]
55
+ # Get an object of type {#type} from memory pointed by +ptr+.
56
+ def get(ptr)
57
+ type.find(ptr.get_int(offset))
58
+ end
59
+
60
+ # @param [AbstractMemory] ptr pointer on a {Struct}
61
+ # @param value
62
+ # @return [nil]
63
+ # Set +value+ into memory pointed by +ptr+.
64
+ def put(ptr, value)
65
+ ptr.put_int(offset, type.find(value))
66
+ end
67
+
68
+ end
69
+
70
+ class InnerStruct < Field
71
+ def get(ptr)
72
+ type.struct_class.new(ptr.slice(self.offset, self.size))
73
+ end
74
+
75
+ def put(ptr, value)
76
+ raise TypeError, "wrong value type (expected #{type.struct_class})" unless value.is_a?(type.struct_class)
77
+ ptr.slice(self.offset, self.size).__copy_from__(value.pointer, self.size)
78
+ end
79
+ end
80
+
81
+ class Mapped < Field
82
+ def initialize(name, offset, type, orig_field)
83
+ @orig_field = orig_field
84
+ super(name, offset, type)
85
+ end
86
+
87
+ def get(ptr)
88
+ type.from_native(@orig_field.get(ptr), nil)
89
+ end
90
+
91
+ def put(ptr, value)
92
+ @orig_field.put(ptr, type.to_native(value, nil))
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,227 @@
1
+ #
2
+ # Copyright (C) 2008-2010 Wayne Meissner
3
+ #
4
+ # This file is part of ruby-ffi.
5
+ #
6
+ # All rights reserved.
7
+ #
8
+ # Redistribution and use in source and binary forms, with or without
9
+ # modification, are permitted provided that the following conditions are met:
10
+ #
11
+ # * Redistributions of source code must retain the above copyright notice, this
12
+ # list of conditions and the following disclaimer.
13
+ # * Redistributions in binary form must reproduce the above copyright notice
14
+ # this list of conditions and the following disclaimer in the documentation
15
+ # and/or other materials provided with the distribution.
16
+ # * Neither the name of the Ruby FFI project nor the names of its contributors
17
+ # may be used to endorse or promote products derived from this software
18
+ # without specific prior written permission.
19
+ #
20
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
24
+ # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
+ #
31
+
32
+ module FFI
33
+
34
+ # Build a {StructLayout struct layout}.
35
+ class StructLayoutBuilder
36
+ attr_reader :size
37
+ attr_reader :alignment
38
+
39
+ def initialize
40
+ @size = 0
41
+ @alignment = 1
42
+ @min_alignment = 1
43
+ @packed = false
44
+ @union = false
45
+ @fields = Array.new
46
+ end
47
+
48
+ # Set size attribute with +size+ only if +size+ is greater than attribute value.
49
+ # @param [Integer] size
50
+ def size=(size)
51
+ @size = size if size > @size
52
+ end
53
+
54
+ # Set alignment attribute with +align+ only if it is greater than attribute value.
55
+ # @param [Integer] align
56
+ def alignment=(align)
57
+ @alignment = align if align > @alignment
58
+ @min_alignment = align
59
+ end
60
+
61
+ # Set union attribute.
62
+ # Set to +true+ to build a {Union} instead of a {Struct}.
63
+ # @param [Boolean] is_union
64
+ # @return [is_union]
65
+ def union=(is_union)
66
+ @union = is_union
67
+ end
68
+
69
+ # Building a {Union} or a {Struct} ?
70
+ #
71
+ # @return [Boolean]
72
+ #
73
+ def union?
74
+ @union
75
+ end
76
+
77
+ # Set packed attribute
78
+ # @overload packed=(packed) Set alignment and packed attributes to
79
+ # +packed+.
80
+ #
81
+ # @param [Integer] packed
82
+ #
83
+ # @return [packed]
84
+ # @overload packed=(packed) Set packed attribute.
85
+ # @param packed
86
+ #
87
+ # @return [0,1]
88
+ #
89
+ def packed=(packed)
90
+ if packed.is_a?(0.class)
91
+ @alignment = packed
92
+ @packed = packed
93
+ else
94
+ @packed = packed ? 1 : 0
95
+ end
96
+ end
97
+
98
+
99
+ # List of number types
100
+ NUMBER_TYPES = [
101
+ Type::INT8,
102
+ Type::UINT8,
103
+ Type::INT16,
104
+ Type::UINT16,
105
+ Type::INT32,
106
+ Type::UINT32,
107
+ Type::LONG,
108
+ Type::ULONG,
109
+ Type::INT64,
110
+ Type::UINT64,
111
+ Type::FLOAT32,
112
+ Type::FLOAT64,
113
+ Type::LONGDOUBLE,
114
+ Type::BOOL,
115
+ ].freeze
116
+
117
+ # @param [String, Symbol] name name of the field
118
+ # @param [Array, DataConverter, Struct, StructLayout::Field, Symbol, Type] type type of the field
119
+ # @param [Integer, nil] offset
120
+ # @return [self]
121
+ # Add a field to the builder.
122
+ # @note Setting +offset+ to +nil+ or +-1+ is equivalent to +0+.
123
+ def add(name, type, offset = nil)
124
+
125
+ if offset.nil? || offset == -1
126
+ offset = @union ? 0 : align(@size, @packed ? [ @packed, type.alignment ].min : [ @min_alignment, type.alignment ].max)
127
+ end
128
+
129
+ #
130
+ # If a FFI::Type type was passed in as the field arg, try and convert to a StructLayout::Field instance
131
+ #
132
+ field = type.is_a?(StructLayout::Field) ? type : field_for_type(name, offset, type)
133
+ @fields << field
134
+ @alignment = [ @alignment, field.alignment ].max unless @packed
135
+ @size = [ @size, field.size + (@union ? 0 : field.offset) ].max
136
+
137
+ return self
138
+ end
139
+
140
+ # @param (see #add)
141
+ # @return (see #add)
142
+ # Same as {#add}.
143
+ # @see #add
144
+ def add_field(name, type, offset = nil)
145
+ add(name, type, offset)
146
+ end
147
+
148
+ # @param (see #add)
149
+ # @return (see #add)
150
+ # Add a struct as a field to the builder.
151
+ def add_struct(name, type, offset = nil)
152
+ add(name, Type::Struct.new(type), offset)
153
+ end
154
+
155
+ # @param name (see #add)
156
+ # @param type (see #add)
157
+ # @param [Integer] count array length
158
+ # @param offset (see #add)
159
+ # @return (see #add)
160
+ # Add an array as a field to the builder.
161
+ def add_array(name, type, count, offset = nil)
162
+ add(name, Type::Array.new(type, count), offset)
163
+ end
164
+
165
+ # @return [StructLayout]
166
+ # Build and return the struct layout.
167
+ def build
168
+ # Add tail padding if the struct is not packed
169
+ size = @packed ? @size : align(@size, @alignment)
170
+
171
+ layout = StructLayout.new(@fields, size, @alignment)
172
+ layout.__union! if @union
173
+ layout
174
+ end
175
+
176
+ private
177
+
178
+ # @param [Integer] offset
179
+ # @param [Integer] align
180
+ # @return [Integer]
181
+ def align(offset, align)
182
+ align + ((offset - 1) & ~(align - 1));
183
+ end
184
+
185
+ # @param (see #add)
186
+ # @return [StructLayout::Field]
187
+ def field_for_type(name, offset, type)
188
+ field_class = case
189
+ when type.is_a?(Type::Function)
190
+ StructLayout::Function
191
+
192
+ when type.is_a?(Type::Struct)
193
+ StructLayout::InnerStruct
194
+
195
+ when type.is_a?(Type::Array)
196
+ StructLayout::Array
197
+
198
+ when type.is_a?(FFI::Enum)
199
+ StructLayout::Enum
200
+
201
+ when NUMBER_TYPES.include?(type)
202
+ StructLayout::Number
203
+
204
+ when type == Type::POINTER
205
+ StructLayout::Pointer
206
+
207
+ when type == Type::STRING
208
+ StructLayout::String
209
+
210
+ when type.is_a?(Class) && type < StructLayout::Field
211
+ type
212
+
213
+ when type.is_a?(DataConverter)
214
+ return StructLayout::Mapped.new(name, offset, Type::Mapped.new(type), field_for_type(name, offset, type.native_type))
215
+
216
+ when type.is_a?(Type::Mapped)
217
+ return StructLayout::Mapped.new(name, offset, type, field_for_type(name, offset, type.native_type))
218
+
219
+ else
220
+ raise TypeError, "invalid struct field type #{type.inspect}"
221
+ end
222
+
223
+ field_class.new(name, offset, type)
224
+ end
225
+ end
226
+
227
+ end
@@ -0,0 +1,232 @@
1
+ require 'tempfile'
2
+ require 'open3'
3
+
4
+ module FFI
5
+
6
+ # ConstGenerator turns C constants into ruby values.
7
+ #
8
+ # @example a simple example for stdio
9
+ # require 'ffi/tools/const_generator'
10
+ # cg = FFI::ConstGenerator.new('stdio') do |gen|
11
+ # gen.const(:SEEK_SET)
12
+ # gen.const('SEEK_CUR')
13
+ # gen.const('seek_end') # this constant does not exist
14
+ # end # #calculate called automatically at the end of the block
15
+ #
16
+ # cg['SEEK_SET'] # => 0
17
+ # cg['SEEK_CUR'] # => 1
18
+ # cg['seek_end'] # => nil
19
+ # cg.to_ruby # => "SEEK_SET = 0\nSEEK_CUR = 1\n# seek_end not available"
20
+ class ConstGenerator
21
+ @options = {}
22
+ attr_reader :constants
23
+
24
+ # Creates a new constant generator that uses +prefix+ as a name, and an
25
+ # options hash.
26
+ #
27
+ # The only option is +:required+, which if set to +true+ raises an error if a
28
+ # constant you have requested was not found.
29
+ #
30
+ # @param [#to_s] prefix
31
+ # @param [Hash] options
32
+ # @return
33
+ # @option options [Boolean] :required
34
+ # @overload initialize(prefix, options)
35
+ # @overload initialize(prefix, options) { |gen| ... }
36
+ # @yieldparam [ConstGenerator] gen new generator is passed to the block
37
+ # When passed a block, {#calculate} is automatically called at the end of
38
+ # the block, otherwise you must call it yourself.
39
+ def initialize(prefix = nil, options = {})
40
+ @includes = ['stdio.h', 'stddef.h']
41
+ @constants = {}
42
+ @prefix = prefix
43
+
44
+ @required = options[:required]
45
+ @options = options
46
+
47
+ if block_given? then
48
+ yield self
49
+ calculate self.class.options.merge(options)
50
+ end
51
+ end
52
+ # Set class options
53
+ # These options are merged with {#initialize} options when it is called with a block.
54
+ # @param [Hash] options
55
+ # @return [Hash] class options
56
+ def self.options=(options)
57
+ @options = options
58
+ end
59
+ # Get class options.
60
+ # @return [Hash] class options
61
+ def self.options
62
+ @options
63
+ end
64
+ # @param [String] name
65
+ # @return constant value (converted if a +converter+ was defined).
66
+ # Access a constant by name.
67
+ def [](name)
68
+ @constants[name].converted_value
69
+ end
70
+
71
+ # Request the value for C constant +name+.
72
+ #
73
+ # @param [#to_s] name C constant name
74
+ # @param [String] format a printf format string to print the value out
75
+ # @param [String] cast a C cast for the value
76
+ # @param ruby_name alternate ruby name for {#to_ruby}
77
+ #
78
+ # @overload const(name, format=nil, cast='', ruby_name=nil, converter=nil)
79
+ # +converter+ is a Method or a Proc.
80
+ # @param [#call] converter convert the value from a string to the appropriate
81
+ # type for {#to_ruby}.
82
+ # @overload const(name, format=nil, cast='', ruby_name=nil) { |value| ... }
83
+ # Use a converter block. This block convert the value from a string to the
84
+ # appropriate type for {#to_ruby}.
85
+ # @yieldparam value constant value
86
+ def const(name, format = nil, cast = '', ruby_name = nil, converter = nil,
87
+ &converter_proc)
88
+ format ||= '%d'
89
+ cast ||= ''
90
+
91
+ if converter_proc and converter then
92
+ raise ArgumentError, "Supply only converter or converter block"
93
+ end
94
+
95
+ converter = converter_proc if converter.nil?
96
+
97
+ const = Constant.new name, format, cast, ruby_name, converter
98
+ @constants[name.to_s] = const
99
+ return const
100
+ end
101
+
102
+ # Calculate constants values.
103
+ # @param [Hash] options
104
+ # @option options [String] :cppflags flags for C compiler
105
+ # @return [nil]
106
+ # @raise if a constant is missing and +:required+ was set to +true+ (see {#initialize})
107
+ def calculate(options = {})
108
+ binary_path = nil
109
+
110
+ Tempfile.open("#{@prefix}.const_generator") do |f|
111
+ binary_path = f.path + ".bin"
112
+ @includes.each do |inc|
113
+ f.puts "#include <#{inc}>"
114
+ end
115
+ f.puts "\nint main(int argc, char **argv)\n{"
116
+
117
+ @constants.each_value do |const|
118
+ f.puts <<-EOF
119
+ #ifdef #{const.name}
120
+ printf("#{const.name} #{const.format}\\n", #{const.cast}#{const.name});
121
+ #endif
122
+ EOF
123
+ end
124
+
125
+ f.puts "\n\treturn 0;\n}"
126
+ f.flush
127
+
128
+ cc = ENV['CC'] || 'gcc'
129
+ output = `#{cc} #{options[:cppflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary_path} 2>&1`
130
+
131
+ unless $?.success? then
132
+ output = output.split("\n").map { |l| "\t#{l}" }.join "\n"
133
+ raise "Compilation error generating constants #{@prefix}:\n#{output}"
134
+ end
135
+ end
136
+
137
+ output = `#{binary_path}`
138
+ File.unlink(binary_path + (FFI::Platform.windows? ? ".exe" : ""))
139
+ output.each_line do |line|
140
+ line =~ /^(\S+)\s(.*)$/
141
+ const = @constants[$1]
142
+ const.value = $2
143
+ end
144
+
145
+ missing_constants = @constants.select do |name, constant|
146
+ constant.value.nil?
147
+ end.map { |name,| name }
148
+
149
+ if @required and not missing_constants.empty? then
150
+ raise "Missing required constants for #{@prefix}: #{missing_constants.join ', '}"
151
+ end
152
+ end
153
+
154
+ # Dump constants to +io+.
155
+ # @param [#puts] io
156
+ # @return [nil]
157
+ def dump_constants(io)
158
+ @constants.each do |name, constant|
159
+ name = [@prefix, name].join '.' if @prefix
160
+ io.puts "#{name} = #{constant.converted_value}"
161
+ end
162
+ end
163
+
164
+ # Outputs values for discovered constants. If the constant's value was
165
+ # not discovered it is not omitted.
166
+ # @return [String]
167
+ def to_ruby
168
+ @constants.sort_by { |name,| name }.map do |name, constant|
169
+ if constant.value.nil? then
170
+ "# #{name} not available"
171
+ else
172
+ constant.to_ruby
173
+ end
174
+ end.join "\n"
175
+ end
176
+
177
+ # Add additional C include file(s) to calculate constants from.
178
+ # @note +stdio.h+ and +stddef.h+ automatically included
179
+ # @param [List<String>, Array<String>] i include file(s)
180
+ # @return [Array<String>] array of include files
181
+ def include(*i)
182
+ @includes |= i.flatten
183
+ end
184
+
185
+ end
186
+
187
+ # This class hold constants for {ConstGenerator}
188
+ class ConstGenerator::Constant
189
+
190
+ attr_reader :name, :format, :cast
191
+ attr_accessor :value
192
+
193
+ # @param [#to_s] name
194
+ # @param [String] format a printf format string to print the value out
195
+ # @param [String] cast a C cast for the value
196
+ # @param ruby_name alternate ruby name for {#to_ruby}
197
+ # @param [#call] converter convert the value from a string to the appropriate
198
+ # type for {#to_ruby}.
199
+ def initialize(name, format, cast, ruby_name = nil, converter=nil)
200
+ @name = name
201
+ @format = format
202
+ @cast = cast
203
+ @ruby_name = ruby_name
204
+ @converter = converter
205
+ @value = nil
206
+ end
207
+
208
+ # Return constant value (converted if a +converter+ was defined).
209
+ # @return constant value.
210
+ def converted_value
211
+ if @converter
212
+ @converter.call(@value)
213
+ else
214
+ @value
215
+ end
216
+ end
217
+
218
+ # get constant ruby name
219
+ # @return [String]
220
+ def ruby_name
221
+ @ruby_name || @name
222
+ end
223
+
224
+ # Get an evaluable string from constant.
225
+ # @return [String]
226
+ def to_ruby
227
+ "#{ruby_name} = #{converted_value}"
228
+ end
229
+
230
+ end
231
+
232
+ end