cybrid_api_bank_ruby 0.124.85 → 0.124.87

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 (569) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +4 -4
  3. data/README.md +5 -5
  4. data/cybrid_api_bank_ruby.gemspec +1 -1
  5. data/lib/cybrid_api_bank_ruby/api/accounts_bank_api.rb +1 -1
  6. data/lib/cybrid_api_bank_ruby/api/assets_bank_api.rb +1 -1
  7. data/lib/cybrid_api_bank_ruby/api/banks_bank_api.rb +1 -1
  8. data/lib/cybrid_api_bank_ruby/api/counterparties_bank_api.rb +1 -1
  9. data/lib/cybrid_api_bank_ruby/api/customers_bank_api.rb +1 -1
  10. data/lib/cybrid_api_bank_ruby/api/deposit_addresses_bank_api.rb +1 -1
  11. data/lib/cybrid_api_bank_ruby/api/deposit_bank_accounts_bank_api.rb +1 -1
  12. data/lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb +1 -1
  13. data/lib/cybrid_api_bank_ruby/api/external_wallets_bank_api.rb +1 -1
  14. data/lib/cybrid_api_bank_ruby/api/files_bank_api.rb +1 -1
  15. data/lib/cybrid_api_bank_ruby/api/identity_verifications_bank_api.rb +1 -1
  16. data/lib/cybrid_api_bank_ruby/api/invoices_bank_api.rb +1 -1
  17. data/lib/cybrid_api_bank_ruby/api/payment_instructions_bank_api.rb +1 -1
  18. data/lib/cybrid_api_bank_ruby/api/persona_sessions_bank_api.rb +1 -1
  19. data/lib/cybrid_api_bank_ruby/api/prices_bank_api.rb +1 -1
  20. data/lib/cybrid_api_bank_ruby/api/quotes_bank_api.rb +1 -1
  21. data/lib/cybrid_api_bank_ruby/api/symbols_bank_api.rb +1 -1
  22. data/lib/cybrid_api_bank_ruby/api/trades_bank_api.rb +1 -1
  23. data/lib/cybrid_api_bank_ruby/api/transfers_bank_api.rb +1 -1
  24. data/lib/cybrid_api_bank_ruby/api/workflows_bank_api.rb +1 -1
  25. data/lib/cybrid_api_bank_ruby/api_client.rb +1 -1
  26. data/lib/cybrid_api_bank_ruby/api_error.rb +1 -1
  27. data/lib/cybrid_api_bank_ruby/configuration.rb +1 -1
  28. data/lib/cybrid_api_bank_ruby/models/account_bank_model.rb +1 -1
  29. data/lib/cybrid_api_bank_ruby/models/account_list_bank_model.rb +1 -1
  30. data/lib/cybrid_api_bank_ruby/models/account_state_bank_model.rb +1 -1
  31. data/lib/cybrid_api_bank_ruby/models/account_type_bank_model.rb +1 -1
  32. data/lib/cybrid_api_bank_ruby/models/activity_limit_bank_model.rb +1 -1
  33. data/lib/cybrid_api_bank_ruby/models/activity_side_bank_model.rb +1 -1
  34. data/lib/cybrid_api_bank_ruby/models/activity_type_bank_model.rb +1 -1
  35. data/lib/cybrid_api_bank_ruby/models/asset_bank_model.rb +1 -1
  36. data/lib/cybrid_api_bank_ruby/models/asset_list_bank_model.rb +1 -1
  37. data/lib/cybrid_api_bank_ruby/models/asset_types_bank_model.rb +1 -1
  38. data/lib/cybrid_api_bank_ruby/models/bank_bank_model.rb +1 -1
  39. data/lib/cybrid_api_bank_ruby/models/bank_feature_bank_model.rb +1 -1
  40. data/lib/cybrid_api_bank_ruby/models/bank_list_bank_model.rb +1 -1
  41. data/lib/cybrid_api_bank_ruby/models/bank_supported_payout_symbols_inner_bank_model.rb +1 -1
  42. data/lib/cybrid_api_bank_ruby/models/bank_type_bank_model.rb +1 -1
  43. data/lib/cybrid_api_bank_ruby/models/compliance_check_bank_model.rb +1 -1
  44. data/lib/cybrid_api_bank_ruby/models/compliance_check_outcome_bank_model.rb +1 -1
  45. data/lib/cybrid_api_bank_ruby/models/compliance_check_type_bank_model.rb +1 -1
  46. data/lib/cybrid_api_bank_ruby/models/compliance_decision_bank_model.rb +1 -1
  47. data/lib/cybrid_api_bank_ruby/models/compliance_decision_state_bank_model.rb +1 -1
  48. data/lib/cybrid_api_bank_ruby/models/compliance_decision_type_bank_model.rb +1 -1
  49. data/lib/cybrid_api_bank_ruby/models/counterparty_address_bank_model.rb +1 -1
  50. data/lib/cybrid_api_bank_ruby/models/counterparty_aliases_inner_bank_model.rb +1 -1
  51. data/lib/cybrid_api_bank_ruby/models/counterparty_bank_model.rb +1 -1
  52. data/lib/cybrid_api_bank_ruby/models/counterparty_list_bank_model.rb +1 -1
  53. data/lib/cybrid_api_bank_ruby/models/counterparty_name_bank_model.rb +1 -1
  54. data/lib/cybrid_api_bank_ruby/models/counterparty_state_bank_model.rb +1 -1
  55. data/lib/cybrid_api_bank_ruby/models/counterparty_type_bank_model.rb +1 -1
  56. data/lib/cybrid_api_bank_ruby/models/customer_address_bank_model.rb +1 -1
  57. data/lib/cybrid_api_bank_ruby/models/customer_aliases_inner_bank_model.rb +1 -1
  58. data/lib/cybrid_api_bank_ruby/models/customer_bank_model.rb +1 -1
  59. data/lib/cybrid_api_bank_ruby/models/customer_list_bank_model.rb +1 -1
  60. data/lib/cybrid_api_bank_ruby/models/customer_name_bank_model.rb +1 -1
  61. data/lib/cybrid_api_bank_ruby/models/customer_state_bank_model.rb +1 -1
  62. data/lib/cybrid_api_bank_ruby/models/customer_type_bank_model.rb +1 -1
  63. data/lib/cybrid_api_bank_ruby/models/deposit_address_bank_model.rb +1 -1
  64. data/lib/cybrid_api_bank_ruby/models/deposit_address_format_bank_model.rb +1 -1
  65. data/lib/cybrid_api_bank_ruby/models/deposit_address_list_bank_model.rb +1 -1
  66. data/lib/cybrid_api_bank_ruby/models/deposit_address_state_bank_model.rb +1 -1
  67. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_account_details_inner_bank_model.rb +1 -1
  68. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_bank_model.rb +1 -1
  69. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_counterparty_address_bank_model.rb +1 -1
  70. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_list_bank_model.rb +1 -1
  71. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_routing_details_inner_bank_model.rb +1 -1
  72. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_routing_number_type_bank_model.rb +1 -1
  73. data/lib/cybrid_api_bank_ruby/models/deposit_bank_account_state_bank_model.rb +1 -1
  74. data/lib/cybrid_api_bank_ruby/models/error_response_bank_model.rb +1 -1
  75. data/lib/cybrid_api_bank_ruby/models/external_bank_account_balances_bank_model.rb +1 -1
  76. data/lib/cybrid_api_bank_ruby/models/external_bank_account_bank_model.rb +1 -1
  77. data/lib/cybrid_api_bank_ruby/models/external_bank_account_kind_bank_model.rb +1 -1
  78. data/lib/cybrid_api_bank_ruby/models/external_bank_account_list_bank_model.rb +1 -1
  79. data/lib/cybrid_api_bank_ruby/models/external_bank_account_pii_inner_addresses_inner_bank_model.rb +1 -1
  80. data/lib/cybrid_api_bank_ruby/models/external_bank_account_pii_inner_bank_model.rb +1 -1
  81. data/lib/cybrid_api_bank_ruby/models/external_bank_account_pii_inner_routing_details_inner_bank_model.rb +1 -1
  82. data/lib/cybrid_api_bank_ruby/models/external_bank_account_state_bank_model.rb +1 -1
  83. data/lib/cybrid_api_bank_ruby/models/external_wallet_bank_model.rb +1 -1
  84. data/lib/cybrid_api_bank_ruby/models/external_wallet_environment_bank_model.rb +1 -1
  85. data/lib/cybrid_api_bank_ruby/models/external_wallet_list_bank_model.rb +1 -1
  86. data/lib/cybrid_api_bank_ruby/models/external_wallet_state_bank_model.rb +1 -1
  87. data/lib/cybrid_api_bank_ruby/models/identification_number_bank_model.rb +1 -1
  88. data/lib/cybrid_api_bank_ruby/models/identity_verification_bank_model.rb +1 -1
  89. data/lib/cybrid_api_bank_ruby/models/identity_verification_business_associate_bank_model.rb +1 -1
  90. data/lib/cybrid_api_bank_ruby/models/identity_verification_document_bank_model.rb +1 -1
  91. data/lib/cybrid_api_bank_ruby/models/identity_verification_document_file_bank_model.rb +1 -1
  92. data/lib/cybrid_api_bank_ruby/models/identity_verification_list_bank_model.rb +1 -1
  93. data/lib/cybrid_api_bank_ruby/models/identity_verification_method_bank_model.rb +1 -1
  94. data/lib/cybrid_api_bank_ruby/models/identity_verification_outcome_bank_model.rb +1 -1
  95. data/lib/cybrid_api_bank_ruby/models/identity_verification_persona_state_bank_model.rb +1 -1
  96. data/lib/cybrid_api_bank_ruby/models/identity_verification_state_bank_model.rb +1 -1
  97. data/lib/cybrid_api_bank_ruby/models/identity_verification_type_bank_model.rb +1 -1
  98. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_bank_model.rb +1 -1
  99. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_pii_address_bank_model.rb +1 -1
  100. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_pii_aliases_inner_bank_model.rb +1 -1
  101. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_pii_bank_model.rb +1 -1
  102. data/lib/cybrid_api_bank_ruby/models/identity_verification_with_details_pii_name_bank_model.rb +1 -1
  103. data/lib/cybrid_api_bank_ruby/models/invoice_bank_model.rb +1 -1
  104. data/lib/cybrid_api_bank_ruby/models/invoice_list_bank_model.rb +1 -1
  105. data/lib/cybrid_api_bank_ruby/models/patch_bank_bank_model.rb +1 -1
  106. data/lib/cybrid_api_bank_ruby/models/patch_customer_bank_model.rb +1 -1
  107. data/lib/cybrid_api_bank_ruby/models/patch_external_bank_account_bank_model.rb +1 -1
  108. data/lib/cybrid_api_bank_ruby/models/patch_transfer_bank_model.rb +1 -1
  109. data/lib/cybrid_api_bank_ruby/models/patch_transfer_participant_bank_model.rb +1 -1
  110. data/lib/cybrid_api_bank_ruby/models/payment_instruction_bank_model.rb +1 -1
  111. data/lib/cybrid_api_bank_ruby/models/payment_instruction_list_bank_model.rb +1 -1
  112. data/lib/cybrid_api_bank_ruby/models/persona_session_bank_model.rb +1 -1
  113. data/lib/cybrid_api_bank_ruby/models/platform_file_bank_model.rb +1 -1
  114. data/lib/cybrid_api_bank_ruby/models/platform_file_list_bank_model.rb +1 -1
  115. data/lib/cybrid_api_bank_ruby/models/post_account_bank_model.rb +1 -1
  116. data/lib/cybrid_api_bank_ruby/models/post_bank_bank_model.rb +1 -1
  117. data/lib/cybrid_api_bank_ruby/models/post_counterparty_address_bank_model.rb +1 -1
  118. data/lib/cybrid_api_bank_ruby/models/post_counterparty_aliases_inner_bank_model.rb +1 -1
  119. data/lib/cybrid_api_bank_ruby/models/post_counterparty_bank_model.rb +1 -1
  120. data/lib/cybrid_api_bank_ruby/models/post_counterparty_name_bank_model.rb +1 -1
  121. data/lib/cybrid_api_bank_ruby/models/post_customer_address_bank_model.rb +1 -1
  122. data/lib/cybrid_api_bank_ruby/models/post_customer_aliases_inner_bank_model.rb +1 -1
  123. data/lib/cybrid_api_bank_ruby/models/post_customer_bank_model.rb +1 -1
  124. data/lib/cybrid_api_bank_ruby/models/post_customer_name_bank_model.rb +1 -1
  125. data/lib/cybrid_api_bank_ruby/models/post_deposit_address_bank_model.rb +1 -1
  126. data/lib/cybrid_api_bank_ruby/models/post_deposit_bank_account_bank_model.rb +1 -1
  127. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_bank_model.rb +1 -1
  128. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_counterparty_address_bank_model.rb +1 -1
  129. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_counterparty_bank_account_bank_model.rb +1 -1
  130. data/lib/cybrid_api_bank_ruby/models/post_external_bank_account_counterparty_name_bank_model.rb +1 -1
  131. data/lib/cybrid_api_bank_ruby/models/post_external_wallet_bank_model.rb +1 -1
  132. data/lib/cybrid_api_bank_ruby/models/post_fee_bank_model.rb +1 -1
  133. data/lib/cybrid_api_bank_ruby/models/post_file_bank_model.rb +1 -1
  134. data/lib/cybrid_api_bank_ruby/models/post_identification_number_bank_model.rb +1 -1
  135. data/lib/cybrid_api_bank_ruby/models/post_identity_verification_address_bank_model.rb +1 -1
  136. data/lib/cybrid_api_bank_ruby/models/post_identity_verification_aliases_inner_bank_model.rb +1 -1
  137. data/lib/cybrid_api_bank_ruby/models/post_identity_verification_bank_model.rb +1 -1
  138. data/lib/cybrid_api_bank_ruby/models/post_identity_verification_name_bank_model.rb +1 -1
  139. data/lib/cybrid_api_bank_ruby/models/post_invoice_bank_model.rb +1 -1
  140. data/lib/cybrid_api_bank_ruby/models/post_payment_instruction_bank_model.rb +1 -1
  141. data/lib/cybrid_api_bank_ruby/models/post_persona_session_bank_model.rb +1 -1
  142. data/lib/cybrid_api_bank_ruby/models/post_quote_bank_model.rb +1 -1
  143. data/lib/cybrid_api_bank_ruby/models/post_quote_entry_bank_model.rb +1 -1
  144. data/lib/cybrid_api_bank_ruby/models/post_supported_payout_symbols_bank_model.rb +1 -1
  145. data/lib/cybrid_api_bank_ruby/models/post_trade_bank_model.rb +1 -1
  146. data/lib/cybrid_api_bank_ruby/models/post_transfer_bank_model.rb +1 -1
  147. data/lib/cybrid_api_bank_ruby/models/post_transfer_participant_bank_model.rb +1 -1
  148. data/lib/cybrid_api_bank_ruby/models/post_ultimate_beneficial_owner_bank_model.rb +1 -1
  149. data/lib/cybrid_api_bank_ruby/models/post_workflow_bank_model.rb +1 -1
  150. data/lib/cybrid_api_bank_ruby/models/quote_bank_model.rb +1 -1
  151. data/lib/cybrid_api_bank_ruby/models/quote_entry_bank_model.rb +1 -1
  152. data/lib/cybrid_api_bank_ruby/models/quote_entry_destination_account_bank_model.rb +1 -1
  153. data/lib/cybrid_api_bank_ruby/models/quote_entry_source_account_bank_model.rb +1 -1
  154. data/lib/cybrid_api_bank_ruby/models/quote_list_bank_model.rb +1 -1
  155. data/lib/cybrid_api_bank_ruby/models/quote_side_bank_model.rb +1 -1
  156. data/lib/cybrid_api_bank_ruby/models/quote_type_bank_model.rb +1 -1
  157. data/lib/cybrid_api_bank_ruby/models/symbol_price_bank_model.rb +1 -1
  158. data/lib/cybrid_api_bank_ruby/models/trade_bank_model.rb +1 -1
  159. data/lib/cybrid_api_bank_ruby/models/trade_failure_code_bank_model.rb +1 -1
  160. data/lib/cybrid_api_bank_ruby/models/trade_list_bank_model.rb +1 -1
  161. data/lib/cybrid_api_bank_ruby/models/trade_side_bank_model.rb +1 -1
  162. data/lib/cybrid_api_bank_ruby/models/trade_state_bank_model.rb +1 -1
  163. data/lib/cybrid_api_bank_ruby/models/trade_type_bank_model.rb +1 -1
  164. data/lib/cybrid_api_bank_ruby/models/transfer_account_type_bank_model.rb +1 -1
  165. data/lib/cybrid_api_bank_ruby/models/transfer_bank_model.rb +1 -1
  166. data/lib/cybrid_api_bank_ruby/models/transfer_destination_account_bank_model.rb +1 -1
  167. data/lib/cybrid_api_bank_ruby/models/transfer_entry_bank_model.rb +1 -1
  168. data/lib/cybrid_api_bank_ruby/models/transfer_entry_destination_account_bank_model.rb +1 -1
  169. data/lib/cybrid_api_bank_ruby/models/transfer_failure_code_bank_model.rb +1 -1
  170. data/lib/cybrid_api_bank_ruby/models/transfer_hold_details_bank_model.rb +1 -1
  171. data/lib/cybrid_api_bank_ruby/models/transfer_list_bank_model.rb +1 -1
  172. data/lib/cybrid_api_bank_ruby/models/transfer_participant_bank_model.rb +1 -1
  173. data/lib/cybrid_api_bank_ruby/models/transfer_side_bank_model.rb +1 -1
  174. data/lib/cybrid_api_bank_ruby/models/transfer_source_account_bank_model.rb +1 -1
  175. data/lib/cybrid_api_bank_ruby/models/transfer_state_bank_model.rb +1 -1
  176. data/lib/cybrid_api_bank_ruby/models/transfer_type_bank_model.rb +1 -1
  177. data/lib/cybrid_api_bank_ruby/models/workflow_bank_model.rb +1 -1
  178. data/lib/cybrid_api_bank_ruby/models/workflow_state_bank_model.rb +1 -1
  179. data/lib/cybrid_api_bank_ruby/models/workflow_type_bank_model.rb +1 -1
  180. data/lib/cybrid_api_bank_ruby/models/workflow_with_details_all_of_bank_model.rb +1 -1
  181. data/lib/cybrid_api_bank_ruby/models/workflow_with_details_bank_model.rb +1 -1
  182. data/lib/cybrid_api_bank_ruby/models/workflows_list_bank_model.rb +1 -1
  183. data/lib/cybrid_api_bank_ruby/version.rb +2 -2
  184. data/lib/cybrid_api_bank_ruby.rb +1 -1
  185. data/spec/api/accounts_bank_api_spec.rb +1 -1
  186. data/spec/api/assets_bank_api_spec.rb +1 -1
  187. data/spec/api/banks_bank_api_spec.rb +1 -1
  188. data/spec/api/counterparties_bank_api_spec.rb +1 -1
  189. data/spec/api/customers_bank_api_spec.rb +1 -1
  190. data/spec/api/deposit_addresses_bank_api_spec.rb +1 -1
  191. data/spec/api/deposit_bank_accounts_bank_api_spec.rb +1 -1
  192. data/spec/api/external_bank_accounts_bank_api_spec.rb +1 -1
  193. data/spec/api/external_wallets_bank_api_spec.rb +1 -1
  194. data/spec/api/files_bank_api_spec.rb +1 -1
  195. data/spec/api/identity_verifications_bank_api_spec.rb +1 -1
  196. data/spec/api/invoices_bank_api_spec.rb +1 -1
  197. data/spec/api/payment_instructions_bank_api_spec.rb +1 -1
  198. data/spec/api/persona_sessions_bank_api_spec.rb +1 -1
  199. data/spec/api/prices_bank_api_spec.rb +1 -1
  200. data/spec/api/quotes_bank_api_spec.rb +1 -1
  201. data/spec/api/symbols_bank_api_spec.rb +1 -1
  202. data/spec/api/trades_bank_api_spec.rb +1 -1
  203. data/spec/api/transfers_bank_api_spec.rb +1 -1
  204. data/spec/api/workflows_bank_api_spec.rb +1 -1
  205. data/spec/api_client_spec.rb +1 -1
  206. data/spec/configuration_spec.rb +1 -1
  207. data/spec/models/account_bank_model_spec.rb +1 -1
  208. data/spec/models/account_list_bank_model_spec.rb +1 -1
  209. data/spec/models/account_state_bank_model_spec.rb +1 -1
  210. data/spec/models/account_type_bank_model_spec.rb +1 -1
  211. data/spec/models/activity_limit_bank_model_spec.rb +1 -1
  212. data/spec/models/activity_side_bank_model_spec.rb +1 -1
  213. data/spec/models/activity_type_bank_model_spec.rb +1 -1
  214. data/spec/models/asset_bank_model_spec.rb +1 -1
  215. data/spec/models/asset_list_bank_model_spec.rb +1 -1
  216. data/spec/models/asset_types_bank_model_spec.rb +1 -1
  217. data/spec/models/bank_bank_model_spec.rb +1 -1
  218. data/spec/models/bank_feature_bank_model_spec.rb +1 -1
  219. data/spec/models/bank_list_bank_model_spec.rb +1 -1
  220. data/spec/models/bank_supported_payout_symbols_inner_bank_model_spec.rb +1 -1
  221. data/spec/models/bank_type_bank_model_spec.rb +1 -1
  222. data/spec/models/compliance_check_bank_model_spec.rb +1 -1
  223. data/spec/models/compliance_check_outcome_bank_model_spec.rb +1 -1
  224. data/spec/models/compliance_check_type_bank_model_spec.rb +1 -1
  225. data/spec/models/compliance_decision_bank_model_spec.rb +1 -1
  226. data/spec/models/compliance_decision_state_bank_model_spec.rb +1 -1
  227. data/spec/models/compliance_decision_type_bank_model_spec.rb +1 -1
  228. data/spec/models/counterparty_address_bank_model_spec.rb +1 -1
  229. data/spec/models/counterparty_aliases_inner_bank_model_spec.rb +1 -1
  230. data/spec/models/counterparty_bank_model_spec.rb +1 -1
  231. data/spec/models/counterparty_list_bank_model_spec.rb +1 -1
  232. data/spec/models/counterparty_name_bank_model_spec.rb +1 -1
  233. data/spec/models/counterparty_state_bank_model_spec.rb +1 -1
  234. data/spec/models/counterparty_type_bank_model_spec.rb +1 -1
  235. data/spec/models/customer_address_bank_model_spec.rb +1 -1
  236. data/spec/models/customer_aliases_inner_bank_model_spec.rb +1 -1
  237. data/spec/models/customer_bank_model_spec.rb +1 -1
  238. data/spec/models/customer_list_bank_model_spec.rb +1 -1
  239. data/spec/models/customer_name_bank_model_spec.rb +1 -1
  240. data/spec/models/customer_state_bank_model_spec.rb +1 -1
  241. data/spec/models/customer_type_bank_model_spec.rb +1 -1
  242. data/spec/models/deposit_address_bank_model_spec.rb +1 -1
  243. data/spec/models/deposit_address_format_bank_model_spec.rb +1 -1
  244. data/spec/models/deposit_address_list_bank_model_spec.rb +1 -1
  245. data/spec/models/deposit_address_state_bank_model_spec.rb +1 -1
  246. data/spec/models/deposit_bank_account_account_details_inner_bank_model_spec.rb +1 -1
  247. data/spec/models/deposit_bank_account_bank_model_spec.rb +1 -1
  248. data/spec/models/deposit_bank_account_counterparty_address_bank_model_spec.rb +1 -1
  249. data/spec/models/deposit_bank_account_list_bank_model_spec.rb +1 -1
  250. data/spec/models/deposit_bank_account_routing_details_inner_bank_model_spec.rb +1 -1
  251. data/spec/models/deposit_bank_account_routing_number_type_bank_model_spec.rb +1 -1
  252. data/spec/models/deposit_bank_account_state_bank_model_spec.rb +1 -1
  253. data/spec/models/error_response_bank_model_spec.rb +1 -1
  254. data/spec/models/external_bank_account_balances_bank_model_spec.rb +1 -1
  255. data/spec/models/external_bank_account_bank_model_spec.rb +1 -1
  256. data/spec/models/external_bank_account_kind_bank_model_spec.rb +1 -1
  257. data/spec/models/external_bank_account_list_bank_model_spec.rb +1 -1
  258. data/spec/models/external_bank_account_pii_inner_addresses_inner_bank_model_spec.rb +1 -1
  259. data/spec/models/external_bank_account_pii_inner_bank_model_spec.rb +1 -1
  260. data/spec/models/external_bank_account_pii_inner_routing_details_inner_bank_model_spec.rb +1 -1
  261. data/spec/models/external_bank_account_state_bank_model_spec.rb +1 -1
  262. data/spec/models/external_wallet_bank_model_spec.rb +1 -1
  263. data/spec/models/external_wallet_environment_bank_model_spec.rb +1 -1
  264. data/spec/models/external_wallet_list_bank_model_spec.rb +1 -1
  265. data/spec/models/external_wallet_state_bank_model_spec.rb +1 -1
  266. data/spec/models/identification_number_bank_model_spec.rb +1 -1
  267. data/spec/models/identity_verification_bank_model_spec.rb +1 -1
  268. data/spec/models/identity_verification_business_associate_bank_model_spec.rb +1 -1
  269. data/spec/models/identity_verification_document_bank_model_spec.rb +1 -1
  270. data/spec/models/identity_verification_document_file_bank_model_spec.rb +1 -1
  271. data/spec/models/identity_verification_list_bank_model_spec.rb +1 -1
  272. data/spec/models/identity_verification_method_bank_model_spec.rb +1 -1
  273. data/spec/models/identity_verification_outcome_bank_model_spec.rb +1 -1
  274. data/spec/models/identity_verification_persona_state_bank_model_spec.rb +1 -1
  275. data/spec/models/identity_verification_state_bank_model_spec.rb +1 -1
  276. data/spec/models/identity_verification_type_bank_model_spec.rb +1 -1
  277. data/spec/models/identity_verification_with_details_bank_model_spec.rb +1 -1
  278. data/spec/models/identity_verification_with_details_pii_address_bank_model_spec.rb +1 -1
  279. data/spec/models/identity_verification_with_details_pii_aliases_inner_bank_model_spec.rb +1 -1
  280. data/spec/models/identity_verification_with_details_pii_bank_model_spec.rb +1 -1
  281. data/spec/models/identity_verification_with_details_pii_name_bank_model_spec.rb +1 -1
  282. data/spec/models/invoice_bank_model_spec.rb +1 -1
  283. data/spec/models/invoice_list_bank_model_spec.rb +1 -1
  284. data/spec/models/patch_bank_bank_model_spec.rb +1 -1
  285. data/spec/models/patch_customer_bank_model_spec.rb +1 -1
  286. data/spec/models/patch_external_bank_account_bank_model_spec.rb +1 -1
  287. data/spec/models/patch_transfer_bank_model_spec.rb +1 -1
  288. data/spec/models/patch_transfer_participant_bank_model_spec.rb +1 -1
  289. data/spec/models/payment_instruction_bank_model_spec.rb +1 -1
  290. data/spec/models/payment_instruction_list_bank_model_spec.rb +1 -1
  291. data/spec/models/persona_session_bank_model_spec.rb +1 -1
  292. data/spec/models/platform_file_bank_model_spec.rb +1 -1
  293. data/spec/models/platform_file_list_bank_model_spec.rb +1 -1
  294. data/spec/models/post_account_bank_model_spec.rb +1 -1
  295. data/spec/models/post_bank_bank_model_spec.rb +1 -1
  296. data/spec/models/post_counterparty_address_bank_model_spec.rb +1 -1
  297. data/spec/models/post_counterparty_aliases_inner_bank_model_spec.rb +1 -1
  298. data/spec/models/post_counterparty_bank_model_spec.rb +1 -1
  299. data/spec/models/post_counterparty_name_bank_model_spec.rb +1 -1
  300. data/spec/models/post_customer_address_bank_model_spec.rb +1 -1
  301. data/spec/models/post_customer_aliases_inner_bank_model_spec.rb +1 -1
  302. data/spec/models/post_customer_bank_model_spec.rb +1 -1
  303. data/spec/models/post_customer_name_bank_model_spec.rb +1 -1
  304. data/spec/models/post_deposit_address_bank_model_spec.rb +1 -1
  305. data/spec/models/post_deposit_bank_account_bank_model_spec.rb +1 -1
  306. data/spec/models/post_external_bank_account_bank_model_spec.rb +1 -1
  307. data/spec/models/post_external_bank_account_counterparty_address_bank_model_spec.rb +1 -1
  308. data/spec/models/post_external_bank_account_counterparty_bank_account_bank_model_spec.rb +1 -1
  309. data/spec/models/post_external_bank_account_counterparty_name_bank_model_spec.rb +1 -1
  310. data/spec/models/post_external_wallet_bank_model_spec.rb +1 -1
  311. data/spec/models/post_fee_bank_model_spec.rb +1 -1
  312. data/spec/models/post_file_bank_model_spec.rb +1 -1
  313. data/spec/models/post_identification_number_bank_model_spec.rb +1 -1
  314. data/spec/models/post_identity_verification_address_bank_model_spec.rb +1 -1
  315. data/spec/models/post_identity_verification_aliases_inner_bank_model_spec.rb +1 -1
  316. data/spec/models/post_identity_verification_bank_model_spec.rb +1 -1
  317. data/spec/models/post_identity_verification_name_bank_model_spec.rb +1 -1
  318. data/spec/models/post_invoice_bank_model_spec.rb +1 -1
  319. data/spec/models/post_payment_instruction_bank_model_spec.rb +1 -1
  320. data/spec/models/post_persona_session_bank_model_spec.rb +1 -1
  321. data/spec/models/post_quote_bank_model_spec.rb +1 -1
  322. data/spec/models/post_quote_entry_bank_model_spec.rb +1 -1
  323. data/spec/models/post_supported_payout_symbols_bank_model_spec.rb +1 -1
  324. data/spec/models/post_trade_bank_model_spec.rb +1 -1
  325. data/spec/models/post_transfer_bank_model_spec.rb +1 -1
  326. data/spec/models/post_transfer_participant_bank_model_spec.rb +1 -1
  327. data/spec/models/post_ultimate_beneficial_owner_bank_model_spec.rb +1 -1
  328. data/spec/models/post_workflow_bank_model_spec.rb +1 -1
  329. data/spec/models/quote_bank_model_spec.rb +1 -1
  330. data/spec/models/quote_entry_bank_model_spec.rb +1 -1
  331. data/spec/models/quote_entry_destination_account_bank_model_spec.rb +1 -1
  332. data/spec/models/quote_entry_source_account_bank_model_spec.rb +1 -1
  333. data/spec/models/quote_list_bank_model_spec.rb +1 -1
  334. data/spec/models/quote_side_bank_model_spec.rb +1 -1
  335. data/spec/models/quote_type_bank_model_spec.rb +1 -1
  336. data/spec/models/symbol_price_bank_model_spec.rb +1 -1
  337. data/spec/models/trade_bank_model_spec.rb +1 -1
  338. data/spec/models/trade_failure_code_bank_model_spec.rb +1 -1
  339. data/spec/models/trade_list_bank_model_spec.rb +1 -1
  340. data/spec/models/trade_side_bank_model_spec.rb +1 -1
  341. data/spec/models/trade_state_bank_model_spec.rb +1 -1
  342. data/spec/models/trade_type_bank_model_spec.rb +1 -1
  343. data/spec/models/transfer_account_type_bank_model_spec.rb +1 -1
  344. data/spec/models/transfer_bank_model_spec.rb +1 -1
  345. data/spec/models/transfer_destination_account_bank_model_spec.rb +1 -1
  346. data/spec/models/transfer_entry_bank_model_spec.rb +1 -1
  347. data/spec/models/transfer_entry_destination_account_bank_model_spec.rb +1 -1
  348. data/spec/models/transfer_failure_code_bank_model_spec.rb +1 -1
  349. data/spec/models/transfer_hold_details_bank_model_spec.rb +1 -1
  350. data/spec/models/transfer_list_bank_model_spec.rb +1 -1
  351. data/spec/models/transfer_participant_bank_model_spec.rb +1 -1
  352. data/spec/models/transfer_side_bank_model_spec.rb +1 -1
  353. data/spec/models/transfer_source_account_bank_model_spec.rb +1 -1
  354. data/spec/models/transfer_state_bank_model_spec.rb +1 -1
  355. data/spec/models/transfer_type_bank_model_spec.rb +1 -1
  356. data/spec/models/workflow_bank_model_spec.rb +1 -1
  357. data/spec/models/workflow_state_bank_model_spec.rb +1 -1
  358. data/spec/models/workflow_type_bank_model_spec.rb +1 -1
  359. data/spec/models/workflow_with_details_all_of_bank_model_spec.rb +1 -1
  360. data/spec/models/workflow_with_details_bank_model_spec.rb +1 -1
  361. data/spec/models/workflows_list_bank_model_spec.rb +1 -1
  362. data/spec/spec_helper.rb +1 -1
  363. data/vendor/bundle/ruby/3.3.0/cache/ethon-0.15.0.gem +0 -0
  364. data/vendor/bundle/ruby/3.3.0/cache/typhoeus-1.5.0.gem +0 -0
  365. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-12.0.0/gem_make.out +5 -5
  366. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  367. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  368. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  369. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  370. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  371. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/.github/workflows/ruby.yml +41 -0
  372. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/.gitignore +4 -4
  373. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/.rspec +0 -1
  374. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/CHANGELOG.md +1 -29
  375. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/Gemfile +43 -0
  376. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/Guardfile +3 -2
  377. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/README.md +0 -23
  378. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/Rakefile +7 -5
  379. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/ethon.gemspec +3 -6
  380. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/classes.rb +2 -12
  381. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/codes.rb +2 -3
  382. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/options.rb +3 -4
  383. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/callbacks.rb +1 -2
  384. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/informations.rb +0 -3
  385. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/response_callbacks.rb +1 -6
  386. data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/version.rb +1 -1
  387. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/benchmarks.rb +104 -0
  388. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/memory_leaks.rb +114 -0
  389. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/perf_spec_helper.rb +37 -0
  390. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/support/memory_test_helpers.rb +76 -0
  391. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/support/os_memory_leak_tracker.rb +48 -0
  392. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/profile/support/ruby_object_leak_tracker.rb +49 -0
  393. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/curl_spec.rb +38 -0
  394. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/callbacks_spec.rb +59 -0
  395. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/debug_info_spec.rb +54 -0
  396. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/features_spec.rb +24 -0
  397. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/form_spec.rb +104 -0
  398. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/header_spec.rb +79 -0
  399. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/custom_spec.rb +177 -0
  400. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/delete_spec.rb +21 -0
  401. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/get_spec.rb +126 -0
  402. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/head_spec.rb +80 -0
  403. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/options_spec.rb +51 -0
  404. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/patch_spec.rb +51 -0
  405. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/post_spec.rb +317 -0
  406. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http/put_spec.rb +168 -0
  407. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/http_spec.rb +64 -0
  408. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/informations_spec.rb +120 -0
  409. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/mirror_spec.rb +47 -0
  410. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/operations_spec.rb +268 -0
  411. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/options_spec.rb +193 -0
  412. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/queryable_spec.rb +235 -0
  413. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/response_callbacks_spec.rb +152 -0
  414. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy/util_spec.rb +28 -0
  415. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/easy_spec.rb +203 -0
  416. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/libc_spec.rb +14 -0
  417. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/loggable_spec.rb +22 -0
  418. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/multi/operations_spec.rb +298 -0
  419. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/multi/options_spec.rb +182 -0
  420. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/multi/stack_spec.rb +80 -0
  421. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/ethon/multi_spec.rb +152 -0
  422. data/vendor/bundle/ruby/3.3.0/gems/ethon-0.15.0/spec/spec_helper.rb +28 -0
  423. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/spec/support/localhost_server.rb +2 -1
  424. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → ethon-0.15.0}/spec/support/server.rb +10 -11
  425. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/CHANGELOG.md +43 -1
  426. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/expectation.rb +4 -2
  427. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/responseable.rb +1 -1
  428. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/version.rb +1 -1
  429. data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/typhoeus.gemspec +14 -4
  430. data/vendor/bundle/ruby/3.3.0/specifications/{ethon-0.17.0.gemspec → ethon-0.15.0.gemspec} +5 -6
  431. data/vendor/bundle/ruby/3.3.0/specifications/typhoeus-1.5.0.gemspec +26 -0
  432. metadata +156 -160
  433. data/vendor/bundle/ruby/3.3.0/cache/ethon-0.17.0.gem +0 -0
  434. data/vendor/bundle/ruby/3.3.0/cache/typhoeus-1.4.1.gem +0 -0
  435. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/ci.yml +0 -30
  436. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/.github/workflows/experimental.yml +0 -33
  437. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/Gemfile +0 -36
  438. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/profile.rb +0 -14
  439. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/perf/vs_nethttp.rb +0 -64
  440. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder/helper_spec.rb +0 -156
  441. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/rack/typhoeus/middleware/params_decoder_spec.rb +0 -31
  442. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/spec_helper.rb +0 -29
  443. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/support/memory_cache.rb +0 -15
  444. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/adapters/faraday_spec.rb +0 -339
  445. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/dalli_spec.rb +0 -41
  446. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/cache/redis_spec.rb +0 -41
  447. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/config_spec.rb +0 -15
  448. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/easy_factory_spec.rb +0 -143
  449. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/errors/no_stub_spec.rb +0 -13
  450. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/expectation_spec.rb +0 -280
  451. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/addable_spec.rb +0 -22
  452. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/before_spec.rb +0 -98
  453. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/block_connection_spec.rb +0 -18
  454. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/cacheable_spec.rb +0 -88
  455. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/memoizable_spec.rb +0 -53
  456. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/queueable_spec.rb +0 -98
  457. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/runnable_spec.rb +0 -137
  458. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra/stubbable_spec.rb +0 -48
  459. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/hydra_spec.rb +0 -22
  460. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/pool_spec.rb +0 -137
  461. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/actions_spec.rb +0 -19
  462. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/before_spec.rb +0 -93
  463. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/block_connection_spec.rb +0 -75
  464. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/cacheable_spec.rb +0 -94
  465. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/callbacks_spec.rb +0 -91
  466. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/marshal_spec.rb +0 -60
  467. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/memoizable_spec.rb +0 -34
  468. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/operations_spec.rb +0 -101
  469. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/responseable_spec.rb +0 -13
  470. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request/stubbable_spec.rb +0 -45
  471. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/request_spec.rb +0 -256
  472. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/header_spec.rb +0 -147
  473. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/informations_spec.rb +0 -323
  474. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response/status_spec.rb +0 -256
  475. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus/response_spec.rb +0 -100
  476. data/vendor/bundle/ruby/3.3.0/gems/typhoeus-1.4.1/spec/typhoeus_spec.rb +0 -105
  477. data/vendor/bundle/ruby/3.3.0/specifications/typhoeus-1.4.1.gemspec +0 -24
  478. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/LICENSE +0 -0
  479. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curl.rb +0 -0
  480. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/constants.rb +0 -0
  481. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/form_options.rb +0 -0
  482. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/functions.rb +0 -0
  483. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/infos.rb +0 -0
  484. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/messages.rb +0 -0
  485. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/curls/settings.rb +0 -0
  486. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/debug_info.rb +0 -0
  487. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/features.rb +0 -0
  488. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/form.rb +0 -0
  489. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/header.rb +0 -0
  490. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/actionable.rb +0 -0
  491. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/custom.rb +0 -0
  492. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/delete.rb +0 -0
  493. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/get.rb +0 -0
  494. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/head.rb +0 -0
  495. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/options.rb +0 -0
  496. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/patch.rb +0 -0
  497. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/post.rb +0 -0
  498. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/postable.rb +0 -0
  499. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/put.rb +0 -0
  500. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http/putable.rb +0 -0
  501. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/http.rb +0 -0
  502. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/mirror.rb +0 -0
  503. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/operations.rb +0 -0
  504. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/options.rb +0 -0
  505. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/params.rb +0 -0
  506. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/queryable.rb +0 -0
  507. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy/util.rb +0 -0
  508. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/easy.rb +0 -0
  509. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/ethon_error.rb +0 -0
  510. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/global_init.rb +0 -0
  511. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/invalid_option.rb +0 -0
  512. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/invalid_value.rb +0 -0
  513. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/multi_add.rb +0 -0
  514. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/multi_fdset.rb +0 -0
  515. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/multi_remove.rb +0 -0
  516. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/multi_timeout.rb +0 -0
  517. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors/select.rb +0 -0
  518. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/errors.rb +0 -0
  519. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/libc.rb +0 -0
  520. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/loggable.rb +0 -0
  521. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/multi/operations.rb +0 -0
  522. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/multi/options.rb +0 -0
  523. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/multi/stack.rb +0 -0
  524. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon/multi.rb +0 -0
  525. /data/vendor/bundle/ruby/3.3.0/gems/{ethon-0.17.0 → ethon-0.15.0}/lib/ethon.rb +0 -0
  526. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/CONTRIBUTING.md +0 -0
  527. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/LICENSE +0 -0
  528. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/README.md +0 -0
  529. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/UPGRADE.md +0 -0
  530. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -0
  531. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/rack/typhoeus/middleware/params_decoder.rb +0 -0
  532. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/rack/typhoeus.rb +0 -0
  533. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/adapters/faraday.rb +0 -0
  534. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/dalli.rb +0 -0
  535. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/rails.rb +0 -0
  536. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/cache/redis.rb +0 -0
  537. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/config.rb +0 -0
  538. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/easy_factory.rb +0 -0
  539. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors/no_stub.rb +0 -0
  540. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors/typhoeus_error.rb +0 -0
  541. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/errors.rb +0 -0
  542. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/addable.rb +0 -0
  543. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/before.rb +0 -0
  544. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/block_connection.rb +0 -0
  545. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/cacheable.rb +0 -0
  546. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/memoizable.rb +0 -0
  547. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/queueable.rb +0 -0
  548. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/runnable.rb +0 -0
  549. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra/stubbable.rb +0 -0
  550. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/hydra.rb +0 -0
  551. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/pool.rb +0 -0
  552. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/railtie.rb +0 -0
  553. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/actions.rb +0 -0
  554. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/before.rb +0 -0
  555. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/block_connection.rb +0 -0
  556. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/cacheable.rb +0 -0
  557. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/callbacks.rb +0 -0
  558. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/marshal.rb +0 -0
  559. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/memoizable.rb +0 -0
  560. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/operations.rb +0 -0
  561. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/streamable.rb +0 -0
  562. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request/stubbable.rb +0 -0
  563. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/request.rb +0 -0
  564. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/cacheable.rb +0 -0
  565. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/header.rb +0 -0
  566. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/informations.rb +0 -0
  567. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response/status.rb +0 -0
  568. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus/response.rb +0 -0
  569. /data/vendor/bundle/ruby/3.3.0/gems/{typhoeus-1.4.1 → typhoeus-1.5.0}/lib/typhoeus.rb +0 -0
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+ #### SETUP
3
+ require 'bundler'
4
+ Bundler.setup
5
+ require 'rspec'
6
+
7
+ require 'support/localhost_server'
8
+ require 'support/server'
9
+ require_relative 'support/memory_test_helpers'
10
+
11
+ require 'logger'
12
+
13
+ if ENV['VERBOSE']
14
+ Ethon.logger = Logger.new($stdout)
15
+ Ethon.logger.level = Logger::DEBUG
16
+ end
17
+
18
+ RSpec.configure do |config|
19
+ config.before(:suite) do
20
+ LocalhostServer.new(TESTSERVER.new, 3001)
21
+ end
22
+ config.include(MemoryTestHelpers)
23
+ config.extend(MemoryTestHelpers::TestMethods)
24
+ end
25
+
26
+ MemoryTestHelpers.setup
27
+ MemoryTestHelpers.logger = Logger.new($stdout)
28
+ MemoryTestHelpers.logger.level = Logger::INFO
29
+ MemoryTestHelpers.logger.formatter = proc do |severity, datetime, progname, msg|
30
+ "\t\t#{msg}\n"
31
+ end
32
+
33
+ if ENV['VERBOSE']
34
+ MemoryTestHelpers.logger.level = Logger::DEBUG
35
+ end
36
+
37
+ MemoryTestHelpers.iterations = ENV.fetch("ITERATIONS", 10_000).to_i
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+ require_relative 'ruby_object_leak_tracker'
3
+ require_relative 'os_memory_leak_tracker'
4
+
5
+ module MemoryTestHelpers
6
+ class << self
7
+ attr_accessor :gc_proc, :iterations, :logger
8
+
9
+ def setup
10
+ if RUBY_PLATFORM == "java"
11
+ # for leak detection
12
+ JRuby.objectspace = true if defined?(JRuby)
13
+ # for gc
14
+ require 'java'
15
+ java_import 'java.lang.System'
16
+ self.gc_proc = proc { System.gc }
17
+ else
18
+ self.gc_proc = proc { GC.start }
19
+ end
20
+ end
21
+ end
22
+
23
+ module TestMethods
24
+ def memory_leak_test(description, &block)
25
+ context(description) do
26
+ it "doesn't leak ruby objects" do
27
+ object_leak_tracker = RubyObjectLeakTracker.new
28
+ track_memory_usage(object_leak_tracker, &block)
29
+ object_leak_tracker.total_difference_between_runs.should be <= 10
30
+ end
31
+
32
+ it "doesn't leak OS memory (C interop check)" do
33
+ os_memory_leak_tracker = OSMemoryLeakTracker.new
34
+ track_memory_usage(os_memory_leak_tracker, &block)
35
+ os_memory_leak_tracker.total_difference_between_runs.should be <= 10
36
+ end
37
+ end
38
+ end
39
+ end
40
+
41
+ def track_memory_usage(tracker)
42
+ # Intentionally do all this setup before we do any testing
43
+ logger = MemoryTestHelpers.logger
44
+ iterations = MemoryTestHelpers.iterations
45
+
46
+ checkpoint_frequency = (iterations / 10.0).to_i
47
+ gc_frequency = 20
48
+
49
+ warmup_iterations = [(iterations / 3.0).to_i, 500].min
50
+ logger.info "Performing #{warmup_iterations} warmup iterations"
51
+ warmup_iterations.times do
52
+ yield
53
+ MemoryTestHelpers.gc_proc.call
54
+ end
55
+ tracker.capture_initial_memory_usage
56
+
57
+ logger.info "Performing #{iterations} iterations (checkpoint every #{checkpoint_frequency})"
58
+
59
+ iterations.times do |i|
60
+ yield
61
+
62
+ last_iteration = (i == iterations - 1)
63
+ checkpoint = last_iteration || (i % checkpoint_frequency == 0)
64
+
65
+ if checkpoint || (i % gc_frequency == 0)
66
+ MemoryTestHelpers.gc_proc.call
67
+ end
68
+
69
+ if checkpoint
70
+ logger.info "Iteration #{i} checkpoint"
71
+ tracker.capture_memory_usage
72
+ tracker.dump_status(logger)
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+ class OSMemoryLeakTracker
3
+ attr_reader :current_run
4
+
5
+ def initialize
6
+ @previous_run = @current_run = 0
7
+ end
8
+
9
+ def difference_between_runs(basis=@previous_run)
10
+ @current_run - basis
11
+ end
12
+
13
+ def total_difference_between_runs
14
+ difference_between_runs(@initial_count_run)
15
+ end
16
+
17
+ def capture_initial_memory_usage
18
+ capture_memory_usage
19
+ @initial_count_run = @current_run
20
+ end
21
+
22
+ def capture_memory_usage
23
+ @previous_run = @current_run
24
+ @current_run = rss_bytes
25
+ end
26
+
27
+ def dump_status(logger)
28
+ delta = difference_between_runs
29
+ logger.add(log_level(delta), sprintf("\tTotal memory usage (kb): %d (%+d)", current_run, delta))
30
+ end
31
+
32
+ private
33
+ # amount of memory the current process "is using", in RAM
34
+ # (doesn't include any swap memory that it may be using, just that in actual RAM)
35
+ # Code loosely based on https://github.com/rdp/os/blob/master/lib/os.rb
36
+ # returns 0 on windows
37
+ def rss_bytes
38
+ if ENV['OS'] == 'Windows_NT'
39
+ 0
40
+ else
41
+ `ps -o rss= -p #{Process.pid}`.to_i # in kilobytes
42
+ end
43
+ end
44
+
45
+ def log_level(delta)
46
+ delta > 0 ? Logger::WARN : Logger::DEBUG
47
+ end
48
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+ class RubyObjectLeakTracker
3
+ attr_reader :previous_count_hash, :current_count_hash
4
+
5
+ def initialize
6
+ @previous_count_hash = @current_count_hash = {}
7
+ end
8
+
9
+ def difference_between_runs(basis=@previous_count_hash)
10
+ @difference_between_runs ||= Hash[@current_count_hash.map do |object_class, count|
11
+ [object_class, count - (basis[object_class] || 0)]
12
+ end]
13
+ end
14
+
15
+ def total_difference_between_runs
16
+ difference_between_runs(@initial_count_hash).values.inject(0) { |sum, count| sum + count }
17
+ end
18
+
19
+ def capture_initial_memory_usage
20
+ capture_memory_usage
21
+ @initial_count_hash = @current_count_hash
22
+ end
23
+
24
+ def capture_memory_usage
25
+ @difference_between_runs = nil
26
+ @previous_count_hash = @current_count_hash
27
+
28
+ class_to_count = Hash.new { |hash, key| hash[key] = 0 }
29
+ ObjectSpace.each_object { |obj| class_to_count[obj.class] += 1 }
30
+
31
+ sorted_class_to_count = class_to_count.sort_by { |k, v| -v }
32
+ @current_count_hash = Hash[sorted_class_to_count]
33
+ end
34
+
35
+ def dump_status(logger)
36
+ diff = difference_between_runs
37
+ most_used_objects = current_count_hash.to_a.sort_by(&:last).reverse[0, 20]
38
+
39
+ most_used_objects.each do |object_class, count|
40
+ delta = diff[object_class]
41
+ logger.add(log_level(delta), sprintf("\t%s: %d (%+d)", object_class, count, delta))
42
+ end
43
+ end
44
+
45
+ private
46
+ def log_level(delta)
47
+ delta > 0 ? Logger::WARN : Logger::DEBUG
48
+ end
49
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Curl do
5
+ describe ".init" do
6
+ before { Ethon::Curl.send(:class_variable_set, :@@initialized, false) }
7
+
8
+ context "when global_init fails" do
9
+ it "raises global init error" do
10
+ expect(Ethon::Curl).to receive(:global_init).and_return(1)
11
+ expect{ Ethon::Curl.init }.to raise_error(Ethon::Errors::GlobalInit)
12
+ end
13
+ end
14
+
15
+ context "when global_init works" do
16
+ before { expect(Ethon::Curl).to receive(:global_init).and_return(0) }
17
+
18
+ it "doesn't raises global init error" do
19
+ expect{ Ethon::Curl.init }.to_not raise_error
20
+ end
21
+
22
+ it "logs" do
23
+ expect(Ethon.logger).to receive(:debug)
24
+ Ethon::Curl.init
25
+ end
26
+ end
27
+
28
+ context "when global_cleanup is called" do
29
+ before { expect(Ethon::Curl).to receive(:global_cleanup) }
30
+
31
+ it "logs" do
32
+ expect(Ethon.logger).to receive(:debug).twice
33
+ Ethon::Curl.init
34
+ Ethon::Curl.cleanup
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Easy::Callbacks do
5
+ let!(:easy) { Ethon::Easy.new }
6
+
7
+ describe "#set_callbacks" do
8
+ before do
9
+ expect(Ethon::Curl).to receive(:set_option).exactly(3).times
10
+ end
11
+
12
+ it "sets write-, debug-, and headerfunction" do
13
+ easy.set_callbacks
14
+ end
15
+
16
+ it "resets @response_body" do
17
+ easy.set_callbacks
18
+ expect(easy.instance_variable_get(:@response_body)).to eq("")
19
+ end
20
+
21
+ it "resets @response_headers" do
22
+ easy.set_callbacks
23
+ expect(easy.instance_variable_get(:@response_headers)).to eq("")
24
+ end
25
+
26
+ it "resets @debug_info" do
27
+ easy.set_callbacks
28
+ expect(easy.instance_variable_get(:@debug_info).to_a).to eq([])
29
+ end
30
+ end
31
+
32
+ describe "#progress_callback" do
33
+ it "returns 0" do
34
+ expect(easy.progress_callback.call(0,1,1,1,1)).to be(0)
35
+ end
36
+ end
37
+
38
+ describe "#body_write_callback" do
39
+ let(:body_write_callback) { easy.instance_variable_get(:@body_write_callback) }
40
+ let(:stream) { double(:read_string => "") }
41
+ context "when body returns not :abort" do
42
+ it "returns number bigger than 0" do
43
+ expect(body_write_callback.call(stream, 1, 1, nil) > 0).to be(true)
44
+ end
45
+ end
46
+
47
+ context "when body returns :abort" do
48
+ before do
49
+ easy.on_body.clear
50
+ easy.on_body { :abort }
51
+ end
52
+ let(:body_write_callback) { easy.instance_variable_get(:@body_write_callback) }
53
+
54
+ it "returns -1 to indicate abort to libcurl" do
55
+ expect(body_write_callback.call(stream, 1, 1, nil)).to eq(-1)
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Easy::DebugInfo do
5
+ let(:easy) { Ethon::Easy.new }
6
+
7
+ before do
8
+ easy.url = "http://localhost:3001/"
9
+ easy.perform
10
+ end
11
+
12
+ describe "#debug_info" do
13
+ context "when verbose is not set to true" do
14
+ it "does not save any debug info after a request" do
15
+ expect(easy.debug_info.to_a.length).to eq(0)
16
+ expect(easy.debug_info.to_h.values.flatten.length).to eq(0)
17
+ end
18
+ end
19
+
20
+ context "when verbose is set to true" do
21
+ before do
22
+ easy.verbose = true
23
+ easy.perform
24
+ end
25
+
26
+ after do
27
+ easy.verbose = false
28
+ easy.reset
29
+ end
30
+
31
+ it "saves debug info after a request" do
32
+ expect(easy.debug_info.to_a.length).to be > 0
33
+ end
34
+
35
+ it "saves request headers" do
36
+ expect(easy.debug_info.header_out.join).to include('GET / HTTP/1.1')
37
+ end
38
+
39
+ it "saves response headers" do
40
+ expect(easy.debug_info.header_in.length).to be > 0
41
+ expect(easy.response_headers).to include(easy.debug_info.header_in.join)
42
+ end
43
+
44
+ it "saves incoming data" do
45
+ expect(easy.debug_info.data_in.length).to be > 0
46
+ expect(easy.response_body).to include(easy.debug_info.data_in.join)
47
+ end
48
+
49
+ it "saves debug text" do
50
+ expect(easy.debug_info.text.length).to be > 0
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Easy::Informations do
5
+
6
+ describe "#supports_asynch_dns?" do
7
+ it "returns boolean" do
8
+ expect([true, false].include? Ethon::Easy.supports_asynch_dns?).to be_truthy
9
+ end
10
+ end
11
+
12
+ describe "#supports_zlib?" do
13
+ it "returns boolean" do
14
+ expect([true, false].include? Ethon::Easy.supports_zlib?).to be_truthy
15
+ end
16
+ end
17
+
18
+ describe "#supports_timeout_ms?" do
19
+ it "returns boolean" do
20
+ expect([true, false].include? Ethon::Easy.supports_timeout_ms?).to be_truthy
21
+ end
22
+ end
23
+
24
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Easy::Form do
5
+ let(:hash) { {} }
6
+ let!(:easy) { Ethon::Easy.new }
7
+ let(:form) { Ethon::Easy::Form.new(easy, hash) }
8
+
9
+ describe ".new" do
10
+ it "assigns attribute to @params" do
11
+ expect(form.instance_variable_get(:@params)).to eq(hash)
12
+ end
13
+ end
14
+
15
+ describe "#first" do
16
+ it "returns a pointer" do
17
+ expect(form.first).to be_a(FFI::Pointer)
18
+ end
19
+ end
20
+
21
+ describe "#last" do
22
+ it "returns a pointer" do
23
+ expect(form.first).to be_a(FFI::Pointer)
24
+ end
25
+ end
26
+
27
+ describe "#multipart?" do
28
+ before { form.instance_variable_set(:@query_pairs, pairs) }
29
+
30
+ context "when query_pairs contains string values" do
31
+ let(:pairs) { [['a', '1'], ['b', '2']] }
32
+
33
+ it "returns false" do
34
+ expect(form.multipart?).to be_falsey
35
+ end
36
+ end
37
+
38
+ context "when query_pairs contains file" do
39
+ let(:pairs) { [['a', '1'], ['b', ['path', 'encoding', 'abs_path']]] }
40
+
41
+ it "returns true" do
42
+ expect(form.multipart?).to be_truthy
43
+ end
44
+ end
45
+
46
+ context "when options contains multipart=true" do
47
+ before { form.instance_variable_set(:@multipart, true) }
48
+ let(:pairs) { [['a', '1'], ['b', '2']] }
49
+
50
+ it "returns true" do
51
+ expect(form.multipart?).to be_truthy
52
+ end
53
+ end
54
+ end
55
+
56
+ describe "#materialize" do
57
+ before { form.instance_variable_set(:@query_pairs, pairs) }
58
+
59
+ context "when query_pairs contains string values" do
60
+ let(:pairs) { [['a', '1']] }
61
+
62
+ it "adds params to form" do
63
+ expect(Ethon::Curl).to receive(:formadd)
64
+ form.materialize
65
+ end
66
+ end
67
+
68
+ context "when query_pairs contains nil" do
69
+ let(:pairs) { [['a', nil]] }
70
+
71
+ it "adds params to form" do
72
+ expect(Ethon::Curl).to receive(:formadd)
73
+ form.materialize
74
+ end
75
+ end
76
+
77
+ context "when query_pairs contains file" do
78
+ let(:pairs) { [['a', ["file", "type", "path/file"]]] }
79
+
80
+ it "adds file to form" do
81
+ expect(Ethon::Curl).to receive(:formadd)
82
+ form.materialize
83
+ end
84
+ end
85
+
86
+ context "when query_pairs contains file and string values" do
87
+ let(:pairs) { [['a', ["file", "type", "path/file"]], ['b', '1']] }
88
+
89
+ it "adds file to form" do
90
+ expect(Ethon::Curl).to receive(:formadd).twice
91
+ form.materialize
92
+ end
93
+ end
94
+
95
+ context "when query_pairs contains file, string and int values" do
96
+ let(:pairs) { [['a', ["file", "type", "path/file"]], ['b', '1'], ['c', 1]] }
97
+
98
+ it "adds file to form" do
99
+ expect(Ethon::Curl).to receive(:formadd).exactly(3).times
100
+ form.materialize
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ describe Ethon::Easy::Header do
5
+ let(:easy) { Ethon::Easy.new }
6
+
7
+ describe "#headers=" do
8
+ let(:headers) { { 'User-Agent' => 'Ethon' } }
9
+
10
+ it "sets header" do
11
+ expect_any_instance_of(Ethon::Easy).to receive(:set_callbacks)
12
+ expect(Ethon::Curl).to receive(:set_option)
13
+ easy.headers = headers
14
+ end
15
+
16
+ context "when requesting" do
17
+ before do
18
+ easy.headers = headers
19
+ easy.url = "http://localhost:3001"
20
+ easy.perform
21
+ end
22
+
23
+ it "sends" do
24
+ expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon"')
25
+ end
26
+
27
+ context "when header value contains null byte" do
28
+ let(:headers) { { 'User-Agent' => "Ethon\0" } }
29
+
30
+ it "escapes" do
31
+ expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon\\\\0"')
32
+ end
33
+ end
34
+
35
+ context "when header value has leading whitespace" do
36
+ let(:headers) { { 'User-Agent' => " Ethon" } }
37
+
38
+ it "removes" do
39
+ expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon"')
40
+ end
41
+ end
42
+
43
+ context "when header value has traiing whitespace" do
44
+ let(:headers) { { 'User-Agent' => "Ethon " } }
45
+
46
+ it "removes" do
47
+ expect(easy.response_body).to include('"HTTP_USER_AGENT":"Ethon"')
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ describe "#compose_header" do
54
+ it "has space in between" do
55
+ expect(easy.compose_header('a', 'b')).to eq('a: b')
56
+ end
57
+
58
+ context "when value is a symbol" do
59
+ it "works" do
60
+ expect{ easy.compose_header('a', :b) }.to_not raise_error
61
+ end
62
+ end
63
+ end
64
+
65
+ describe "#header_list" do
66
+ context "when no set_headers" do
67
+ it "returns nil" do
68
+ expect(easy.header_list).to eq(nil)
69
+ end
70
+ end
71
+
72
+ context "when set_headers" do
73
+ it "returns pointer to header list" do
74
+ easy.headers = {'User-Agent' => 'Custom'}
75
+ expect(easy.header_list).to be_a(FFI::Pointer)
76
+ end
77
+ end
78
+ end
79
+ end