lithic 0.1.0.pre.alpha.6 → 0.1.0.pre.alpha.8

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 (530) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -1
  3. data/lib/lithic/client.rb +3 -3
  4. data/lib/lithic/internal/transport/base_client.rb +2 -2
  5. data/lib/lithic/internal/transport/pooled_net_requester.rb +15 -6
  6. data/lib/lithic/internal/type/array_of.rb +12 -2
  7. data/lib/lithic/internal/type/base_model.rb +23 -22
  8. data/lib/lithic/internal/type/boolean.rb +5 -1
  9. data/lib/lithic/internal/type/converter.rb +62 -39
  10. data/lib/lithic/internal/type/enum.rb +13 -9
  11. data/lib/lithic/internal/type/hash_of.rb +6 -2
  12. data/lib/lithic/internal/type/io_like.rb +75 -0
  13. data/lib/lithic/internal/type/request_parameters.rb +11 -2
  14. data/lib/lithic/internal/type/union.rb +7 -3
  15. data/lib/lithic/internal/type/unknown.rb +5 -1
  16. data/lib/lithic/internal/util.rb +81 -26
  17. data/lib/lithic/models/account.rb +37 -37
  18. data/lib/lithic/models/account_holder.rb +58 -55
  19. data/lib/lithic/models/account_holder_create_params.rb +59 -59
  20. data/lib/lithic/models/account_holder_create_response.rb +6 -6
  21. data/lib/lithic/models/account_holder_list_params.rb +10 -10
  22. data/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rb +2 -2
  23. data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -1
  24. data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +71 -71
  25. data/lib/lithic/models/account_holder_update_params.rb +56 -64
  26. data/lib/lithic/models/account_holder_update_response.rb +75 -75
  27. data/lib/lithic/models/account_list_params.rb +6 -6
  28. data/lib/lithic/models/account_spend_limits.rb +6 -6
  29. data/lib/lithic/models/account_update_params.rb +14 -14
  30. data/lib/lithic/models/address.rb +5 -5
  31. data/lib/lithic/models/address_update.rb +3 -3
  32. data/lib/lithic/models/aggregate_balance.rb +4 -4
  33. data/lib/lithic/models/auth_rules/auth_rule.rb +6 -6
  34. data/lib/lithic/models/auth_rules/auth_rule_condition.rb +44 -44
  35. data/lib/lithic/models/auth_rules/conditional_attribute.rb +44 -44
  36. data/lib/lithic/models/auth_rules/v2/backtest_results.rb +10 -10
  37. data/lib/lithic/models/auth_rules/v2_apply_response.rb +2 -2
  38. data/lib/lithic/models/auth_rules/v2_create_response.rb +2 -2
  39. data/lib/lithic/models/auth_rules/v2_draft_response.rb +2 -2
  40. data/lib/lithic/models/auth_rules/v2_list_params.rb +2 -2
  41. data/lib/lithic/models/auth_rules/v2_list_response.rb +2 -2
  42. data/lib/lithic/models/auth_rules/v2_promote_response.rb +2 -2
  43. data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +2 -2
  44. data/lib/lithic/models/auth_rules/v2_update_params.rb +6 -6
  45. data/lib/lithic/models/auth_rules/v2_update_response.rb +2 -2
  46. data/lib/lithic/models/auth_rules/velocity_limit_params.rb +14 -14
  47. data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +5 -5
  48. data/lib/lithic/models/balance.rb +4 -4
  49. data/lib/lithic/models/balance_list_params.rb +1 -1
  50. data/lib/lithic/models/book_transfer_create_params.rb +4 -4
  51. data/lib/lithic/models/book_transfer_list_params.rb +7 -7
  52. data/lib/lithic/models/book_transfer_response.rb +14 -14
  53. data/lib/lithic/models/card.rb +110 -110
  54. data/lib/lithic/models/card_convert_physical_params.rb +22 -22
  55. data/lib/lithic/models/card_create_params.rb +93 -93
  56. data/lib/lithic/models/card_list_params.rb +6 -6
  57. data/lib/lithic/models/card_program.rb +1 -1
  58. data/lib/lithic/models/card_program_list_params.rb +2 -2
  59. data/lib/lithic/models/card_provision_params.rb +11 -11
  60. data/lib/lithic/models/card_reissue_params.rb +22 -22
  61. data/lib/lithic/models/card_renew_params.rb +24 -24
  62. data/lib/lithic/models/card_spend_limits.rb +6 -6
  63. data/lib/lithic/models/card_update_params.rb +33 -33
  64. data/lib/lithic/models/cards/aggregate_balance_list_response.rb +4 -4
  65. data/lib/lithic/models/cards/balance_list_params.rb +2 -2
  66. data/lib/lithic/models/cards/balance_list_response.rb +4 -4
  67. data/lib/lithic/models/cards/financial_transaction_list_params.rb +6 -6
  68. data/lib/lithic/models/digital_card_art_list_params.rb +2 -2
  69. data/lib/lithic/models/dispute.rb +88 -88
  70. data/lib/lithic/models/dispute_evidence.rb +11 -11
  71. data/lib/lithic/models/dispute_list_evidences_params.rb +6 -6
  72. data/lib/lithic/models/dispute_list_params.rb +6 -6
  73. data/lib/lithic/models/document.rb +6 -6
  74. data/lib/lithic/models/event.rb +51 -51
  75. data/lib/lithic/models/event_list_attempts_params.rb +6 -6
  76. data/lib/lithic/models/event_list_params.rb +6 -6
  77. data/lib/lithic/models/events/subscription_create_params.rb +1 -1
  78. data/lib/lithic/models/events/subscription_list_attempts_params.rb +6 -6
  79. data/lib/lithic/models/events/subscription_list_params.rb +2 -2
  80. data/lib/lithic/models/events/subscription_recover_params.rb +4 -4
  81. data/lib/lithic/models/events/subscription_replay_missing_params.rb +4 -4
  82. data/lib/lithic/models/events/subscription_update_params.rb +1 -1
  83. data/lib/lithic/models/external_bank_account_create_params.rb +4 -4
  84. data/lib/lithic/models/external_bank_account_create_response.rb +11 -11
  85. data/lib/lithic/models/external_bank_account_list_params.rb +2 -2
  86. data/lib/lithic/models/external_bank_account_list_response.rb +11 -11
  87. data/lib/lithic/models/external_bank_account_retrieve_response.rb +11 -11
  88. data/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rb +11 -11
  89. data/lib/lithic/models/external_bank_account_retry_prenote_response.rb +11 -11
  90. data/lib/lithic/models/external_bank_account_update_params.rb +1 -1
  91. data/lib/lithic/models/external_bank_account_update_response.rb +11 -11
  92. data/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rb +11 -11
  93. data/lib/lithic/models/external_payment_list_params.rb +7 -7
  94. data/lib/lithic/models/financial_account_create_params.rb +1 -1
  95. data/lib/lithic/models/financial_accounts/balance_list_params.rb +2 -2
  96. data/lib/lithic/models/financial_accounts/balance_list_response.rb +4 -4
  97. data/lib/lithic/models/financial_accounts/financial_transaction_list_params.rb +6 -6
  98. data/lib/lithic/models/financial_accounts/loan_tape.rb +13 -13
  99. data/lib/lithic/models/financial_accounts/loan_tape_list_params.rb +6 -6
  100. data/lib/lithic/models/financial_accounts/statement.rb +6 -6
  101. data/lib/lithic/models/financial_accounts/statement_list_params.rb +6 -6
  102. data/lib/lithic/models/financial_accounts/statements/line_item_list_params.rb +2 -2
  103. data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +2 -1
  104. data/lib/lithic/models/financial_transaction.rb +35 -34
  105. data/lib/lithic/models/kyb.rb +47 -47
  106. data/lib/lithic/models/kyb_business_entity.rb +9 -9
  107. data/lib/lithic/models/kyc.rb +12 -12
  108. data/lib/lithic/models/kyc_exempt.rb +4 -4
  109. data/lib/lithic/models/management_operation_list_params.rb +7 -7
  110. data/lib/lithic/models/management_operation_transaction.rb +36 -0
  111. data/lib/lithic/models/message_attempt.rb +1 -1
  112. data/lib/lithic/models/payment.rb +66 -54
  113. data/lib/lithic/models/payment_create_params.rb +1 -1
  114. data/lib/lithic/models/payment_list_params.rb +6 -6
  115. data/lib/lithic/models/reports/settlement/network_total_list_params.rb +7 -7
  116. data/lib/lithic/models/reports/settlement/network_total_list_response.rb +7 -7
  117. data/lib/lithic/models/reports/settlement/network_total_retrieve_response.rb +7 -7
  118. data/lib/lithic/models/reports/settlement_list_details_params.rb +2 -2
  119. data/lib/lithic/models/required_document.rb +2 -2
  120. data/lib/lithic/models/settlement_detail.rb +5 -5
  121. data/lib/lithic/models/settlement_report.rb +15 -15
  122. data/lib/lithic/models/settlement_summary_details.rb +3 -3
  123. data/lib/lithic/models/shipping_address.rb +9 -9
  124. data/lib/lithic/models/spend_limit_duration.rb +10 -10
  125. data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +97 -97
  126. data/lib/lithic/models/three_ds/authentication_simulate_otp_entry_params.rb +1 -1
  127. data/lib/lithic/models/three_ds/authentication_simulate_params.rb +7 -7
  128. data/lib/lithic/models/three_ds/authentication_simulate_response.rb +1 -1
  129. data/lib/lithic/models/three_ds/challenge_response.rb +3 -3
  130. data/lib/lithic/models/tokenization.rb +5 -5
  131. data/lib/lithic/models/tokenization_list_params.rb +6 -6
  132. data/lib/lithic/models/tokenization_resend_activation_code_params.rb +4 -4
  133. data/lib/lithic/models/tokenization_simulate_params.rb +3 -3
  134. data/lib/lithic/models/tokenization_update_digital_card_art_params.rb +3 -3
  135. data/lib/lithic/models/transaction.rb +95 -95
  136. data/lib/lithic/models/transaction_list_params.rb +8 -8
  137. data/lib/lithic/models/transaction_simulate_authorization_advice_params.rb +1 -1
  138. data/lib/lithic/models/transaction_simulate_authorization_params.rb +38 -38
  139. data/lib/lithic/models/transaction_simulate_authorization_response.rb +1 -1
  140. data/lib/lithic/models/transaction_simulate_clearing_params.rb +7 -7
  141. data/lib/lithic/models/transaction_simulate_credit_authorization_params.rb +4 -4
  142. data/lib/lithic/models/transaction_simulate_void_params.rb +7 -7
  143. data/lib/lithic/models/transactions/events/enhanced_data.rb +2 -2
  144. data/lib/lithic/models/transfer.rb +25 -24
  145. data/lib/lithic/models/transfer_create_params.rb +4 -4
  146. data/lib/lithic/request_options.rb +7 -7
  147. data/lib/lithic/resources/account_holders.rb +52 -52
  148. data/lib/lithic/resources/accounts.rb +7 -7
  149. data/lib/lithic/resources/aggregate_balances.rb +1 -1
  150. data/lib/lithic/resources/auth_rules/v2/backtests.rb +38 -38
  151. data/lib/lithic/resources/auth_rules/v2.rb +58 -58
  152. data/lib/lithic/resources/auth_stream_enrollment.rb +8 -8
  153. data/lib/lithic/resources/book_transfers.rb +2 -2
  154. data/lib/lithic/resources/cards/financial_transactions.rb +1 -1
  155. data/lib/lithic/resources/cards.rb +63 -63
  156. data/lib/lithic/resources/disputes.rb +6 -6
  157. data/lib/lithic/resources/events/subscriptions.rb +8 -8
  158. data/lib/lithic/resources/events.rb +2 -2
  159. data/lib/lithic/resources/external_payments.rb +1 -1
  160. data/lib/lithic/resources/financial_accounts/financial_transactions.rb +1 -1
  161. data/lib/lithic/resources/financial_accounts/loan_tapes.rb +1 -1
  162. data/lib/lithic/resources/financial_accounts/statements.rb +1 -1
  163. data/lib/lithic/resources/financial_accounts.rb +1 -1
  164. data/lib/lithic/resources/management_operations.rb +1 -1
  165. data/lib/lithic/resources/payments.rb +2 -2
  166. data/lib/lithic/resources/reports/settlement/network_totals.rb +1 -1
  167. data/lib/lithic/resources/three_ds/authentication.rb +6 -6
  168. data/lib/lithic/resources/three_ds/decisioning.rb +8 -8
  169. data/lib/lithic/resources/tokenization_decisioning.rb +7 -7
  170. data/lib/lithic/resources/tokenizations.rb +46 -46
  171. data/lib/lithic/resources/transactions/enhanced_commercial_data.rb +1 -1
  172. data/lib/lithic/resources/transactions/events/enhanced_commercial_data.rb +1 -1
  173. data/lib/lithic/resources/transactions.rb +24 -24
  174. data/lib/lithic/resources/transfers.rb +1 -1
  175. data/lib/lithic/version.rb +1 -1
  176. data/lib/lithic.rb +1 -0
  177. data/rbi/lib/lithic/client.rbi +6 -9
  178. data/rbi/lib/lithic/errors.rbi +3 -6
  179. data/rbi/lib/lithic/internal/cursor_page.rbi +1 -2
  180. data/rbi/lib/lithic/internal/single_page.rbi +1 -2
  181. data/rbi/lib/lithic/internal/transport/base_client.rbi +13 -27
  182. data/rbi/lib/lithic/internal/transport/pooled_net_requester.rbi +8 -14
  183. data/rbi/lib/lithic/internal/type/array_of.rbi +16 -22
  184. data/rbi/lib/lithic/internal/type/base_model.rbi +51 -66
  185. data/rbi/lib/lithic/internal/type/base_page.rbi +5 -10
  186. data/rbi/lib/lithic/internal/type/boolean.rbi +16 -10
  187. data/rbi/lib/lithic/internal/type/converter.rbi +42 -38
  188. data/rbi/lib/lithic/internal/type/enum.rbi +24 -21
  189. data/rbi/lib/lithic/internal/type/hash_of.rbi +13 -18
  190. data/rbi/lib/lithic/internal/type/io_like.rbi +49 -0
  191. data/rbi/lib/lithic/internal/type/request_parameters.rbi +1 -2
  192. data/rbi/lib/lithic/internal/type/union.rbi +17 -23
  193. data/rbi/lib/lithic/internal/type/unknown.rbi +12 -12
  194. data/rbi/lib/lithic/internal/util.rbi +67 -70
  195. data/rbi/lib/lithic/internal.rbi +1 -1
  196. data/rbi/lib/lithic/models/account.rbi +46 -56
  197. data/rbi/lib/lithic/models/account_financial_account_type.rbi +1 -2
  198. data/rbi/lib/lithic/models/account_holder.rbi +81 -99
  199. data/rbi/lib/lithic/models/account_holder_create_params.rbi +73 -90
  200. data/rbi/lib/lithic/models/account_holder_create_response.rbi +9 -12
  201. data/rbi/lib/lithic/models/account_holder_list_documents_params.rbi +2 -4
  202. data/rbi/lib/lithic/models/account_holder_list_documents_response.rbi +2 -4
  203. data/rbi/lib/lithic/models/account_holder_list_params.rbi +10 -13
  204. data/rbi/lib/lithic/models/account_holder_retrieve_document_params.rbi +2 -4
  205. data/rbi/lib/lithic/models/account_holder_retrieve_params.rbi +2 -4
  206. data/rbi/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rbi +6 -11
  207. data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_params.rbi +5 -9
  208. data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_response.rbi +103 -123
  209. data/rbi/lib/lithic/models/account_holder_update_params.rbi +68 -94
  210. data/rbi/lib/lithic/models/account_holder_update_response.rbi +135 -140
  211. data/rbi/lib/lithic/models/account_holder_upload_document_params.rbi +3 -6
  212. data/rbi/lib/lithic/models/account_list_params.rbi +5 -6
  213. data/rbi/lib/lithic/models/account_retrieve_params.rbi +2 -4
  214. data/rbi/lib/lithic/models/account_retrieve_spend_limits_params.rbi +2 -4
  215. data/rbi/lib/lithic/models/account_spend_limits.rbi +14 -22
  216. data/rbi/lib/lithic/models/account_update_params.rbi +19 -25
  217. data/rbi/lib/lithic/models/address.rbi +7 -9
  218. data/rbi/lib/lithic/models/address_update.rbi +5 -7
  219. data/rbi/lib/lithic/models/aggregate_balance.rbi +7 -11
  220. data/rbi/lib/lithic/models/aggregate_balance_list_params.rbi +3 -6
  221. data/rbi/lib/lithic/models/api_status.rbi +2 -4
  222. data/rbi/lib/lithic/models/auth_rules/auth_rule.rbi +9 -13
  223. data/rbi/lib/lithic/models/auth_rules/auth_rule_condition.rbi +48 -52
  224. data/rbi/lib/lithic/models/auth_rules/conditional_attribute.rbi +45 -46
  225. data/rbi/lib/lithic/models/auth_rules/conditional_block_parameters.rbi +2 -4
  226. data/rbi/lib/lithic/models/auth_rules/v2/backtest_create_params.rbi +2 -4
  227. data/rbi/lib/lithic/models/auth_rules/v2/backtest_create_response.rbi +2 -4
  228. data/rbi/lib/lithic/models/auth_rules/v2/backtest_results.rbi +40 -54
  229. data/rbi/lib/lithic/models/auth_rules/v2/backtest_retrieve_params.rbi +2 -4
  230. data/rbi/lib/lithic/models/auth_rules/v2_apply_params.rbi +1 -2
  231. data/rbi/lib/lithic/models/auth_rules/v2_apply_response.rbi +12 -23
  232. data/rbi/lib/lithic/models/auth_rules/v2_create_params.rbi +4 -9
  233. data/rbi/lib/lithic/models/auth_rules/v2_create_response.rbi +12 -23
  234. data/rbi/lib/lithic/models/auth_rules/v2_delete_params.rbi +2 -4
  235. data/rbi/lib/lithic/models/auth_rules/v2_draft_params.rbi +3 -6
  236. data/rbi/lib/lithic/models/auth_rules/v2_draft_response.rbi +12 -23
  237. data/rbi/lib/lithic/models/auth_rules/v2_list_params.rbi +4 -7
  238. data/rbi/lib/lithic/models/auth_rules/v2_list_response.rbi +12 -23
  239. data/rbi/lib/lithic/models/auth_rules/v2_promote_params.rbi +2 -4
  240. data/rbi/lib/lithic/models/auth_rules/v2_promote_response.rbi +12 -23
  241. data/rbi/lib/lithic/models/auth_rules/v2_report_params.rbi +2 -4
  242. data/rbi/lib/lithic/models/auth_rules/v2_report_response.rbi +2 -4
  243. data/rbi/lib/lithic/models/auth_rules/v2_retrieve_params.rbi +2 -4
  244. data/rbi/lib/lithic/models/auth_rules/v2_retrieve_response.rbi +12 -23
  245. data/rbi/lib/lithic/models/auth_rules/v2_update_params.rbi +9 -13
  246. data/rbi/lib/lithic/models/auth_rules/v2_update_response.rbi +12 -23
  247. data/rbi/lib/lithic/models/auth_rules/velocity_limit_params.rbi +19 -24
  248. data/rbi/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +6 -7
  249. data/rbi/lib/lithic/models/auth_stream_enrollment_retrieve_secret_params.rbi +2 -4
  250. data/rbi/lib/lithic/models/auth_stream_enrollment_rotate_secret_params.rbi +2 -4
  251. data/rbi/lib/lithic/models/auth_stream_secret.rbi +2 -4
  252. data/rbi/lib/lithic/models/balance.rbi +7 -11
  253. data/rbi/lib/lithic/models/balance_list_params.rbi +4 -8
  254. data/rbi/lib/lithic/models/book_transfer_create_params.rbi +8 -13
  255. data/rbi/lib/lithic/models/book_transfer_list_params.rbi +10 -16
  256. data/rbi/lib/lithic/models/book_transfer_response.rbi +23 -33
  257. data/rbi/lib/lithic/models/book_transfer_retrieve_params.rbi +2 -4
  258. data/rbi/lib/lithic/models/book_transfer_reverse_params.rbi +2 -4
  259. data/rbi/lib/lithic/models/card.rbi +117 -127
  260. data/rbi/lib/lithic/models/card_convert_physical_params.rbi +24 -26
  261. data/rbi/lib/lithic/models/card_create_params.rbi +98 -104
  262. data/rbi/lib/lithic/models/card_embed_params.rbi +2 -4
  263. data/rbi/lib/lithic/models/card_list_params.rbi +7 -11
  264. data/rbi/lib/lithic/models/card_program.rbi +3 -6
  265. data/rbi/lib/lithic/models/card_program_list_params.rbi +4 -6
  266. data/rbi/lib/lithic/models/card_program_retrieve_params.rbi +2 -4
  267. data/rbi/lib/lithic/models/card_provision_params.rbi +14 -18
  268. data/rbi/lib/lithic/models/card_provision_response.rbi +2 -4
  269. data/rbi/lib/lithic/models/card_reissue_params.rbi +24 -26
  270. data/rbi/lib/lithic/models/card_renew_params.rbi +27 -31
  271. data/rbi/lib/lithic/models/card_retrieve_params.rbi +2 -4
  272. data/rbi/lib/lithic/models/card_retrieve_spend_limits_params.rbi +2 -4
  273. data/rbi/lib/lithic/models/card_search_by_pan_params.rbi +2 -4
  274. data/rbi/lib/lithic/models/card_spend_limits.rbi +14 -22
  275. data/rbi/lib/lithic/models/card_update_params.rbi +37 -42
  276. data/rbi/lib/lithic/models/cards/aggregate_balance_list_params.rbi +2 -4
  277. data/rbi/lib/lithic/models/cards/aggregate_balance_list_response.rbi +6 -9
  278. data/rbi/lib/lithic/models/cards/balance_list_params.rbi +4 -6
  279. data/rbi/lib/lithic/models/cards/balance_list_response.rbi +7 -11
  280. data/rbi/lib/lithic/models/cards/financial_transaction_list_params.rbi +9 -15
  281. data/rbi/lib/lithic/models/cards/financial_transaction_retrieve_params.rbi +2 -4
  282. data/rbi/lib/lithic/models/carrier.rbi +2 -4
  283. data/rbi/lib/lithic/models/client_api_status_params.rbi +2 -4
  284. data/rbi/lib/lithic/models/credit_products/extended_credit.rbi +2 -4
  285. data/rbi/lib/lithic/models/credit_products/extended_credit_retrieve_params.rbi +2 -4
  286. data/rbi/lib/lithic/models/credit_products/prime_rate_create_params.rbi +2 -4
  287. data/rbi/lib/lithic/models/credit_products/prime_rate_retrieve_params.rbi +2 -4
  288. data/rbi/lib/lithic/models/credit_products/prime_rate_retrieve_response.rbi +4 -8
  289. data/rbi/lib/lithic/models/digital_card_art.rbi +2 -4
  290. data/rbi/lib/lithic/models/digital_card_art_list_params.rbi +4 -6
  291. data/rbi/lib/lithic/models/digital_card_art_retrieve_params.rbi +2 -4
  292. data/rbi/lib/lithic/models/dispute.rbi +93 -99
  293. data/rbi/lib/lithic/models/dispute_create_params.rbi +2 -4
  294. data/rbi/lib/lithic/models/dispute_delete_evidence_params.rbi +2 -4
  295. data/rbi/lib/lithic/models/dispute_delete_params.rbi +2 -4
  296. data/rbi/lib/lithic/models/dispute_evidence.rbi +13 -15
  297. data/rbi/lib/lithic/models/dispute_initiate_evidence_upload_params.rbi +2 -4
  298. data/rbi/lib/lithic/models/dispute_list_evidences_params.rbi +5 -6
  299. data/rbi/lib/lithic/models/dispute_list_params.rbi +7 -11
  300. data/rbi/lib/lithic/models/dispute_retrieve_evidence_params.rbi +2 -4
  301. data/rbi/lib/lithic/models/dispute_retrieve_params.rbi +2 -4
  302. data/rbi/lib/lithic/models/dispute_update_params.rbi +2 -4
  303. data/rbi/lib/lithic/models/document.rbi +13 -21
  304. data/rbi/lib/lithic/models/event.rbi +58 -61
  305. data/rbi/lib/lithic/models/event_list_attempts_params.rbi +7 -11
  306. data/rbi/lib/lithic/models/event_list_params.rbi +7 -11
  307. data/rbi/lib/lithic/models/event_retrieve_params.rbi +2 -4
  308. data/rbi/lib/lithic/models/event_subscription.rbi +3 -6
  309. data/rbi/lib/lithic/models/events/event_subscription_resend_params.rbi +2 -4
  310. data/rbi/lib/lithic/models/events/subscription_create_params.rbi +4 -7
  311. data/rbi/lib/lithic/models/events/subscription_delete_params.rbi +2 -4
  312. data/rbi/lib/lithic/models/events/subscription_list_attempts_params.rbi +7 -11
  313. data/rbi/lib/lithic/models/events/subscription_list_params.rbi +4 -6
  314. data/rbi/lib/lithic/models/events/subscription_recover_params.rbi +4 -6
  315. data/rbi/lib/lithic/models/events/subscription_replay_missing_params.rbi +4 -6
  316. data/rbi/lib/lithic/models/events/subscription_retrieve_params.rbi +2 -4
  317. data/rbi/lib/lithic/models/events/subscription_retrieve_secret_params.rbi +2 -4
  318. data/rbi/lib/lithic/models/events/subscription_retrieve_secret_response.rbi +2 -4
  319. data/rbi/lib/lithic/models/events/subscription_rotate_secret_params.rbi +2 -4
  320. data/rbi/lib/lithic/models/events/subscription_send_simulated_example_params.rbi +3 -6
  321. data/rbi/lib/lithic/models/events/subscription_update_params.rbi +4 -7
  322. data/rbi/lib/lithic/models/external_bank_account_address.rbi +2 -4
  323. data/rbi/lib/lithic/models/external_bank_account_create_params.rbi +8 -13
  324. data/rbi/lib/lithic/models/external_bank_account_create_response.rbi +18 -26
  325. data/rbi/lib/lithic/models/external_bank_account_list_params.rbi +7 -13
  326. data/rbi/lib/lithic/models/external_bank_account_list_response.rbi +18 -26
  327. data/rbi/lib/lithic/models/external_bank_account_retrieve_params.rbi +2 -4
  328. data/rbi/lib/lithic/models/external_bank_account_retrieve_response.rbi +18 -26
  329. data/rbi/lib/lithic/models/external_bank_account_retry_micro_deposits_params.rbi +2 -4
  330. data/rbi/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rbi +18 -26
  331. data/rbi/lib/lithic/models/external_bank_account_retry_prenote_params.rbi +2 -4
  332. data/rbi/lib/lithic/models/external_bank_account_retry_prenote_response.rbi +16 -22
  333. data/rbi/lib/lithic/models/external_bank_account_update_params.rbi +4 -8
  334. data/rbi/lib/lithic/models/external_bank_account_update_response.rbi +18 -26
  335. data/rbi/lib/lithic/models/external_bank_accounts/micro_deposit_create_params.rbi +2 -4
  336. data/rbi/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rbi +18 -26
  337. data/rbi/lib/lithic/models/external_payment.rbi +10 -21
  338. data/rbi/lib/lithic/models/external_payment_cancel_params.rbi +2 -4
  339. data/rbi/lib/lithic/models/external_payment_create_params.rbi +5 -11
  340. data/rbi/lib/lithic/models/external_payment_list_params.rbi +10 -16
  341. data/rbi/lib/lithic/models/external_payment_release_params.rbi +2 -4
  342. data/rbi/lib/lithic/models/external_payment_retrieve_params.rbi +2 -4
  343. data/rbi/lib/lithic/models/external_payment_reverse_params.rbi +2 -4
  344. data/rbi/lib/lithic/models/external_payment_settle_params.rbi +3 -6
  345. data/rbi/lib/lithic/models/financial_account.rbi +9 -20
  346. data/rbi/lib/lithic/models/financial_account_create_params.rbi +2 -4
  347. data/rbi/lib/lithic/models/financial_account_list_params.rbi +3 -6
  348. data/rbi/lib/lithic/models/financial_account_retrieve_params.rbi +2 -4
  349. data/rbi/lib/lithic/models/financial_account_update_params.rbi +2 -4
  350. data/rbi/lib/lithic/models/financial_account_update_status_params.rbi +4 -8
  351. data/rbi/lib/lithic/models/financial_accounts/balance_list_params.rbi +4 -6
  352. data/rbi/lib/lithic/models/financial_accounts/balance_list_response.rbi +7 -11
  353. data/rbi/lib/lithic/models/financial_accounts/credit_configuration_retrieve_params.rbi +2 -4
  354. data/rbi/lib/lithic/models/financial_accounts/credit_configuration_update_params.rbi +2 -5
  355. data/rbi/lib/lithic/models/financial_accounts/financial_account_credit_config.rbi +4 -9
  356. data/rbi/lib/lithic/models/financial_accounts/financial_transaction_list_params.rbi +9 -15
  357. data/rbi/lib/lithic/models/financial_accounts/financial_transaction_retrieve_params.rbi +2 -4
  358. data/rbi/lib/lithic/models/financial_accounts/loan_tape.rbi +51 -91
  359. data/rbi/lib/lithic/models/financial_accounts/loan_tape_list_params.rbi +5 -6
  360. data/rbi/lib/lithic/models/financial_accounts/loan_tape_retrieve_params.rbi +2 -4
  361. data/rbi/lib/lithic/models/financial_accounts/statement.rbi +30 -56
  362. data/rbi/lib/lithic/models/financial_accounts/statement_list_params.rbi +6 -9
  363. data/rbi/lib/lithic/models/financial_accounts/statement_retrieve_params.rbi +2 -4
  364. data/rbi/lib/lithic/models/financial_accounts/statements/line_item_list_params.rbi +3 -4
  365. data/rbi/lib/lithic/models/financial_accounts/statements/statement_line_items.rbi +12 -14
  366. data/rbi/lib/lithic/models/financial_accounts/statements.rbi +2 -4
  367. data/rbi/lib/lithic/models/financial_transaction.rbi +44 -53
  368. data/rbi/lib/lithic/models/instance_financial_account_type.rbi +1 -2
  369. data/rbi/lib/lithic/models/kyb.rbi +58 -72
  370. data/rbi/lib/lithic/models/kyb_business_entity.rbi +13 -18
  371. data/rbi/lib/lithic/models/kyc.rbi +17 -22
  372. data/rbi/lib/lithic/models/kyc_exempt.rbi +8 -13
  373. data/rbi/lib/lithic/models/management_operation_create_params.rbi +5 -11
  374. data/rbi/lib/lithic/models/management_operation_list_params.rbi +9 -14
  375. data/rbi/lib/lithic/models/management_operation_retrieve_params.rbi +2 -4
  376. data/rbi/lib/lithic/models/management_operation_reverse_params.rbi +2 -4
  377. data/rbi/lib/lithic/models/management_operation_transaction.rbi +60 -20
  378. data/rbi/lib/lithic/models/message_attempt.rbi +3 -5
  379. data/rbi/lib/lithic/models/owner_type.rbi +1 -2
  380. data/rbi/lib/lithic/models/payment.rbi +85 -89
  381. data/rbi/lib/lithic/models/payment_create_params.rbi +8 -16
  382. data/rbi/lib/lithic/models/payment_create_response.rbi +2 -4
  383. data/rbi/lib/lithic/models/payment_list_params.rbi +9 -15
  384. data/rbi/lib/lithic/models/payment_retrieve_params.rbi +2 -4
  385. data/rbi/lib/lithic/models/payment_retry_params.rbi +2 -4
  386. data/rbi/lib/lithic/models/payment_retry_response.rbi +2 -4
  387. data/rbi/lib/lithic/models/payment_simulate_action_params.rbi +4 -8
  388. data/rbi/lib/lithic/models/payment_simulate_action_response.rbi +3 -6
  389. data/rbi/lib/lithic/models/payment_simulate_receipt_params.rbi +2 -4
  390. data/rbi/lib/lithic/models/payment_simulate_receipt_response.rbi +3 -6
  391. data/rbi/lib/lithic/models/payment_simulate_release_params.rbi +2 -4
  392. data/rbi/lib/lithic/models/payment_simulate_release_response.rbi +3 -6
  393. data/rbi/lib/lithic/models/payment_simulate_return_params.rbi +2 -4
  394. data/rbi/lib/lithic/models/payment_simulate_return_response.rbi +3 -6
  395. data/rbi/lib/lithic/models/reports/settlement/network_total_list_params.rbi +8 -12
  396. data/rbi/lib/lithic/models/reports/settlement/network_total_list_response.rbi +12 -18
  397. data/rbi/lib/lithic/models/reports/settlement/network_total_retrieve_params.rbi +2 -4
  398. data/rbi/lib/lithic/models/reports/settlement/network_total_retrieve_response.rbi +12 -18
  399. data/rbi/lib/lithic/models/reports/settlement_list_details_params.rbi +4 -6
  400. data/rbi/lib/lithic/models/reports/settlement_summary_params.rbi +2 -4
  401. data/rbi/lib/lithic/models/required_document.rbi +4 -6
  402. data/rbi/lib/lithic/models/responder_endpoint_check_status_params.rbi +3 -6
  403. data/rbi/lib/lithic/models/responder_endpoint_create_params.rbi +3 -6
  404. data/rbi/lib/lithic/models/responder_endpoint_create_response.rbi +2 -4
  405. data/rbi/lib/lithic/models/responder_endpoint_delete_params.rbi +3 -6
  406. data/rbi/lib/lithic/models/responder_endpoint_status.rbi +2 -4
  407. data/rbi/lib/lithic/models/settlement_detail.rbi +11 -18
  408. data/rbi/lib/lithic/models/settlement_report.rbi +17 -20
  409. data/rbi/lib/lithic/models/settlement_summary_details.rbi +6 -10
  410. data/rbi/lib/lithic/models/shipping_address.rbi +11 -14
  411. data/rbi/lib/lithic/models/spend_limit_duration.rbi +11 -12
  412. data/rbi/lib/lithic/models/three_ds/authentication_retrieve_params.rbi +2 -4
  413. data/rbi/lib/lithic/models/three_ds/authentication_retrieve_response.rbi +137 -176
  414. data/rbi/lib/lithic/models/three_ds/authentication_simulate_otp_entry_params.rbi +3 -5
  415. data/rbi/lib/lithic/models/three_ds/authentication_simulate_params.rbi +14 -21
  416. data/rbi/lib/lithic/models/three_ds/authentication_simulate_response.rbi +3 -5
  417. data/rbi/lib/lithic/models/three_ds/challenge_response.rbi +5 -7
  418. data/rbi/lib/lithic/models/three_ds/challenge_result.rbi +1 -2
  419. data/rbi/lib/lithic/models/three_ds/decisioning_challenge_response_params.rbi +2 -4
  420. data/rbi/lib/lithic/models/three_ds/decisioning_retrieve_secret_params.rbi +2 -4
  421. data/rbi/lib/lithic/models/three_ds/decisioning_retrieve_secret_response.rbi +2 -4
  422. data/rbi/lib/lithic/models/three_ds/decisioning_rotate_secret_params.rbi +2 -4
  423. data/rbi/lib/lithic/models/tokenization.rbi +14 -24
  424. data/rbi/lib/lithic/models/tokenization_activate_params.rbi +2 -4
  425. data/rbi/lib/lithic/models/tokenization_deactivate_params.rbi +2 -4
  426. data/rbi/lib/lithic/models/tokenization_decisioning_retrieve_secret_params.rbi +2 -4
  427. data/rbi/lib/lithic/models/tokenization_decisioning_rotate_secret_params.rbi +2 -4
  428. data/rbi/lib/lithic/models/tokenization_decisioning_rotate_secret_response.rbi +2 -4
  429. data/rbi/lib/lithic/models/tokenization_list_params.rbi +7 -11
  430. data/rbi/lib/lithic/models/tokenization_pause_params.rbi +2 -4
  431. data/rbi/lib/lithic/models/tokenization_resend_activation_code_params.rbi +7 -10
  432. data/rbi/lib/lithic/models/tokenization_retrieve_params.rbi +2 -4
  433. data/rbi/lib/lithic/models/tokenization_retrieve_response.rbi +2 -4
  434. data/rbi/lib/lithic/models/tokenization_secret.rbi +2 -4
  435. data/rbi/lib/lithic/models/tokenization_simulate_params.rbi +7 -12
  436. data/rbi/lib/lithic/models/tokenization_simulate_response.rbi +2 -4
  437. data/rbi/lib/lithic/models/tokenization_unpause_params.rbi +2 -4
  438. data/rbi/lib/lithic/models/tokenization_update_digital_card_art_params.rbi +5 -7
  439. data/rbi/lib/lithic/models/tokenization_update_digital_card_art_response.rbi +2 -4
  440. data/rbi/lib/lithic/models/transaction.rbi +168 -236
  441. data/rbi/lib/lithic/models/transaction_expire_authorization_params.rbi +2 -4
  442. data/rbi/lib/lithic/models/transaction_list_params.rbi +10 -15
  443. data/rbi/lib/lithic/models/transaction_retrieve_params.rbi +2 -4
  444. data/rbi/lib/lithic/models/transaction_simulate_authorization_advice_params.rbi +3 -5
  445. data/rbi/lib/lithic/models/transaction_simulate_authorization_advice_response.rbi +2 -4
  446. data/rbi/lib/lithic/models/transaction_simulate_authorization_params.rbi +41 -45
  447. data/rbi/lib/lithic/models/transaction_simulate_authorization_response.rbi +3 -5
  448. data/rbi/lib/lithic/models/transaction_simulate_clearing_params.rbi +9 -11
  449. data/rbi/lib/lithic/models/transaction_simulate_clearing_response.rbi +2 -4
  450. data/rbi/lib/lithic/models/transaction_simulate_credit_authorization_params.rbi +6 -8
  451. data/rbi/lib/lithic/models/transaction_simulate_credit_authorization_response.rbi +2 -4
  452. data/rbi/lib/lithic/models/transaction_simulate_return_params.rbi +2 -4
  453. data/rbi/lib/lithic/models/transaction_simulate_return_response.rbi +2 -4
  454. data/rbi/lib/lithic/models/transaction_simulate_return_reversal_params.rbi +2 -4
  455. data/rbi/lib/lithic/models/transaction_simulate_return_reversal_response.rbi +2 -4
  456. data/rbi/lib/lithic/models/transaction_simulate_void_params.rbi +10 -13
  457. data/rbi/lib/lithic/models/transaction_simulate_void_response.rbi +2 -4
  458. data/rbi/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_params.rbi +2 -4
  459. data/rbi/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_response.rbi +2 -4
  460. data/rbi/lib/lithic/models/transactions/events/enhanced_commercial_data_retrieve_params.rbi +2 -4
  461. data/rbi/lib/lithic/models/transactions/events/enhanced_data.rbi +21 -35
  462. data/rbi/lib/lithic/models/transfer.rbi +34 -43
  463. data/rbi/lib/lithic/models/transfer_create_params.rbi +6 -8
  464. data/rbi/lib/lithic/models/verification_method.rbi +1 -2
  465. data/rbi/lib/lithic/request_options.rbi +9 -11
  466. data/rbi/lib/lithic/resources/account_holders.rbi +118 -145
  467. data/rbi/lib/lithic/resources/accounts.rbi +26 -35
  468. data/rbi/lib/lithic/resources/aggregate_balances.rbi +3 -6
  469. data/rbi/lib/lithic/resources/auth_rules/v2/backtests.rbi +40 -45
  470. data/rbi/lib/lithic/resources/auth_rules/v2.rbi +69 -88
  471. data/rbi/lib/lithic/resources/auth_rules.rbi +1 -2
  472. data/rbi/lib/lithic/resources/auth_stream_enrollment.rbi +11 -14
  473. data/rbi/lib/lithic/resources/balances.rbi +3 -6
  474. data/rbi/lib/lithic/resources/book_transfers.rbi +15 -24
  475. data/rbi/lib/lithic/resources/card_programs.rbi +5 -10
  476. data/rbi/lib/lithic/resources/cards/aggregate_balances.rbi +2 -5
  477. data/rbi/lib/lithic/resources/cards/balances.rbi +4 -7
  478. data/rbi/lib/lithic/resources/cards/financial_transactions.rbi +7 -12
  479. data/rbi/lib/lithic/resources/cards.rbi +215 -236
  480. data/rbi/lib/lithic/resources/credit_products/extended_credit.rbi +2 -5
  481. data/rbi/lib/lithic/resources/credit_products/prime_rates.rbi +3 -8
  482. data/rbi/lib/lithic/resources/credit_products.rbi +1 -2
  483. data/rbi/lib/lithic/resources/digital_card_art.rbi +8 -13
  484. data/rbi/lib/lithic/resources/disputes.rbi +22 -37
  485. data/rbi/lib/lithic/resources/events/event_subscriptions.rbi +2 -4
  486. data/rbi/lib/lithic/resources/events/subscriptions.rbi +29 -48
  487. data/rbi/lib/lithic/resources/events.rbi +12 -18
  488. data/rbi/lib/lithic/resources/external_bank_accounts/micro_deposits.rbi +2 -4
  489. data/rbi/lib/lithic/resources/external_bank_accounts.rbi +18 -23
  490. data/rbi/lib/lithic/resources/external_payments.rbi +13 -28
  491. data/rbi/lib/lithic/resources/financial_accounts/balances.rbi +4 -7
  492. data/rbi/lib/lithic/resources/financial_accounts/credit_configuration.rbi +3 -8
  493. data/rbi/lib/lithic/resources/financial_accounts/financial_transactions.rbi +7 -12
  494. data/rbi/lib/lithic/resources/financial_accounts/loan_tapes.rbi +7 -12
  495. data/rbi/lib/lithic/resources/financial_accounts/statements/line_items.rbi +5 -8
  496. data/rbi/lib/lithic/resources/financial_accounts/statements.rbi +7 -12
  497. data/rbi/lib/lithic/resources/financial_accounts.rbi +7 -16
  498. data/rbi/lib/lithic/resources/management_operations.rbi +10 -19
  499. data/rbi/lib/lithic/resources/payments.rbi +14 -29
  500. data/rbi/lib/lithic/resources/reports/settlement/network_totals.rbi +8 -13
  501. data/rbi/lib/lithic/resources/reports/settlement.rbi +5 -10
  502. data/rbi/lib/lithic/resources/reports.rbi +1 -2
  503. data/rbi/lib/lithic/resources/responder_endpoints.rbi +4 -11
  504. data/rbi/lib/lithic/resources/three_ds/authentication.rbi +12 -19
  505. data/rbi/lib/lithic/resources/three_ds/decisioning.rbi +15 -20
  506. data/rbi/lib/lithic/resources/three_ds.rbi +1 -2
  507. data/rbi/lib/lithic/resources/tokenization_decisioning.rbi +10 -13
  508. data/rbi/lib/lithic/resources/tokenizations.rbi +66 -85
  509. data/rbi/lib/lithic/resources/transactions/enhanced_commercial_data.rbi +3 -6
  510. data/rbi/lib/lithic/resources/transactions/events/enhanced_commercial_data.rbi +3 -6
  511. data/rbi/lib/lithic/resources/transactions/events.rbi +1 -2
  512. data/rbi/lib/lithic/resources/transactions.rbi +79 -100
  513. data/rbi/lib/lithic/resources/transfers.rbi +7 -10
  514. data/sig/lithic/internal/transport/pooled_net_requester.rbs +1 -1
  515. data/sig/lithic/internal/type/array_of.rbs +5 -2
  516. data/sig/lithic/internal/type/base_model.rbs +5 -2
  517. data/sig/lithic/internal/type/boolean.rbs +5 -2
  518. data/sig/lithic/internal/type/converter.rbs +11 -5
  519. data/sig/lithic/internal/type/enum.rbs +5 -2
  520. data/sig/lithic/internal/type/hash_of.rbs +5 -2
  521. data/sig/lithic/internal/type/io_like.rbs +23 -0
  522. data/sig/lithic/internal/type/union.rbs +5 -2
  523. data/sig/lithic/internal/type/unknown.rbs +5 -2
  524. data/sig/lithic/internal/util.rbs +17 -2
  525. data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +2 -0
  526. data/sig/lithic/models/financial_transaction.rbs +2 -0
  527. data/sig/lithic/models/management_operation_transaction.rbs +27 -0
  528. data/sig/lithic/models/payment.rbs +8 -2
  529. data/sig/lithic/models/transfer.rbs +2 -0
  530. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6cc0455f8a47c113c091409b3b4ed5b5522a3ae3c2272f68701084ffbb4b35bf
4
- data.tar.gz: 1bc14153bdcce95840ab82520a99ca49f9a943850313c0f73fa15a2a8d4cfc94
3
+ metadata.gz: cffcad507449a6e55f01ed7851a9c6912a40990c5b944c4f936333ae40767460
4
+ data.tar.gz: c0786e5614e6db99716bcb406919d7c7a461416595ad7265e28f95590eab3fdf
5
5
  SHA512:
6
- metadata.gz: f8c91140b58743c9972ebb4d79a003844f242f076056a3c1ce7052125ec5c6941bf1033972b23f9c8637768123abc450c32efa651ea59c9acf571c673b021f14
7
- data.tar.gz: 12ccc695ebb93e4df2aa828dbff4bece059d99ddd249dfa7e837229c01ca196a5a7956d832fc01557ffa33a524231e880aea6c8578d238713b58161b7cf1c04e
6
+ metadata.gz: bd4805426b8018a320598907b4a45c22b8b392fa1d623154ae9034252f8485aaeca6bfd6e79969538992fc0c8f679651554fdd36af8ba8a2d5abc08e64dd094f
7
+ data.tar.gz: '0861a2ac0c6b712cd745f857bc16c740ca39e4ea8317cad315446335637cafc38c77bbcbea45883fa718f8edc5d5781cdd1e0d6310feb4a8186d47b4cdeba62d'
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "lithic", "~> 0.1.0.pre.alpha.5"
18
+ gem "lithic", "~> 0.1.0.pre.alpha.7"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -141,6 +141,13 @@ After Solargraph is installed, **you must populate its index** either via the pr
141
141
  bundle exec solargraph gems
142
142
  ```
143
143
 
144
+ Note: if you had installed the gem either using a `git:` or `github:` URL, or had vendored the gem using bundler, you will need to set up your [`.solargraph.yml`](https://solargraph.org/guides/configuration) to include the path to the gem's `lib` directory.
145
+
146
+ ```yaml
147
+ include:
148
+ - 'vendor/bundle/ruby/*/gems/lithic-*/lib/**/*.rb'
149
+ ```
150
+
144
151
  Otherwise Solargraph will not be able to provide type information or auto-completion for any non-indexed libraries.
145
152
 
146
153
  ### Sorbet
data/lib/lithic/client.rb CHANGED
@@ -129,10 +129,10 @@ module Lithic
129
129
  #
130
130
  # @param environment [:production, :sandbox, nil] Specifies the environment to use for the API.
131
131
  #
132
- # Each environment maps to a different base URL:
132
+ # Each environment maps to a different base URL:
133
133
  #
134
- # - `production` corresponds to `https://api.lithic.com`
135
- # - `sandbox` corresponds to `https://sandbox.lithic.com`
134
+ # - `production` corresponds to `https://api.lithic.com`
135
+ # - `sandbox` corresponds to `https://sandbox.lithic.com`
136
136
  #
137
137
  # @param base_url [String, nil] Override the default base URL for the API, e.g., `"https://api.example.com/v2/"`
138
138
  #
@@ -380,7 +380,7 @@ module Lithic
380
380
  in (400..) | Lithic::Errors::APIConnectionError
381
381
  self.class.reap_connection!(status, stream: stream)
382
382
 
383
- delay = retry_delay(response, retry_count: retry_count)
383
+ delay = retry_delay(response || {}, retry_count: retry_count)
384
384
  sleep(delay)
385
385
 
386
386
  send_request(
@@ -393,7 +393,7 @@ module Lithic
393
393
  end
394
394
 
395
395
  # Execute the request specified by `req`. This is the method that all resource
396
- # methods call into.
396
+ # methods call into.
397
397
  #
398
398
  # @overload request(method, path, query: {}, headers: {}, body: nil, unwrap: nil, page: nil, stream: nil, model: Lithic::Internal::Type::Unknown, options: {})
399
399
  #
@@ -6,7 +6,7 @@ module Lithic
6
6
  # @api private
7
7
  class PooledNetRequester
8
8
  # from the golang stdlib
9
- # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
9
+ # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
10
10
  KEEP_ALIVE_TIMEOUT = 30
11
11
 
12
12
  class << self
@@ -54,7 +54,7 @@ module Lithic
54
54
  # @param blk [Proc]
55
55
  #
56
56
  # @yieldparam [String]
57
- # @return [Net::HTTPGenericRequest]
57
+ # @return [Array(Net::HTTPGenericRequest, Proc)]
58
58
  def build_request(request, &blk)
59
59
  method, url, headers, body = request.fetch_values(:method, :url, :headers, :body)
60
60
  req = Net::HTTPGenericRequest.new(
@@ -75,12 +75,12 @@ module Lithic
75
75
  in StringIO
76
76
  req["content-length"] ||= body.size.to_s unless req["transfer-encoding"]
77
77
  req.body_stream = Lithic::Internal::Util::ReadIOAdapter.new(body, &blk)
78
- in IO | Enumerator
78
+ in Pathname | IO | Enumerator
79
79
  req["transfer-encoding"] ||= "chunked" unless req["content-length"]
80
80
  req.body_stream = Lithic::Internal::Util::ReadIOAdapter.new(body, &blk)
81
81
  end
82
82
 
83
- req
83
+ [req, req.body_stream&.method(:close)]
84
84
  end
85
85
  end
86
86
 
@@ -123,13 +123,17 @@ module Lithic
123
123
  def execute(request)
124
124
  url, deadline = request.fetch_values(:url, :deadline)
125
125
 
126
+ req = nil
126
127
  eof = false
127
128
  finished = false
129
+ closing = nil
130
+
131
+ # rubocop:disable Metrics/BlockLength
128
132
  enum = Enumerator.new do |y|
129
133
  with_pool(url, deadline: deadline) do |conn|
130
134
  next if finished
131
135
 
132
- req = self.class.build_request(request) do
136
+ req, closing = self.class.build_request(request) do
133
137
  self.class.calibrate_socket_timeout(conn, deadline)
134
138
  end
135
139
 
@@ -154,8 +158,11 @@ module Lithic
154
158
  end
155
159
  end
156
160
  rescue Timeout::Error
157
- raise Lithic::Errors::APITimeoutError
161
+ raise Lithic::Errors::APITimeoutError.new(url: url, request: req)
162
+ rescue StandardError
163
+ raise Lithic::Errors::APIConnectionError.new(url: url, request: req)
158
164
  end
165
+ # rubocop:enable Metrics/BlockLength
159
166
 
160
167
  conn, _, response = enum.next
161
168
  body = Lithic::Internal::Util.fused_enum(enum, external: true) do
@@ -165,7 +172,9 @@ module Lithic
165
172
  rescue StopIteration
166
173
  nil
167
174
  end
175
+ ensure
168
176
  conn.finish if !eof && conn&.started?
177
+ closing&.call
169
178
  end
170
179
  [Integer(response.code), response, (response.body = body)]
171
180
  end
@@ -79,10 +79,20 @@ module Lithic
79
79
  #
80
80
  # @param value [Array<Object>, Object]
81
81
  #
82
+ # @param state [Hash{Symbol=>Object}] .
83
+ #
84
+ # @option state [Boolean] :can_retry
85
+ #
82
86
  # @return [Array<Object>, Object]
83
- def dump(value)
87
+ def dump(value, state:)
84
88
  target = item_type
85
- value.is_a?(Array) ? value.map { Lithic::Internal::Type::Converter.dump(target, _1) } : super
89
+ if value.is_a?(Array)
90
+ value.map do
91
+ Lithic::Internal::Type::Converter.dump(target, _1, state: state)
92
+ end
93
+ else
94
+ super
95
+ end
86
96
  end
87
97
 
88
98
  # @api private
@@ -19,7 +19,7 @@ module Lithic
19
19
  # @api private
20
20
  #
21
21
  # Assumes superclass fields are totally defined before fields are accessed /
22
- # defined on subclasses.
22
+ # defined on subclasses.
23
23
  #
24
24
  # @return [Hash{Symbol=>Hash{Symbol=>Object}}]
25
25
  def known_fields
@@ -143,7 +143,7 @@ module Lithic
143
143
  # @api private
144
144
  #
145
145
  # `request_only` attributes not excluded from `.#coerce` when receiving responses
146
- # even if well behaved servers should not send them
146
+ # even if well behaved servers should not send them
147
147
  #
148
148
  # @param blk [Proc]
149
149
  private def request_only(&blk)
@@ -252,36 +252,37 @@ module Lithic
252
252
  #
253
253
  # @param value [Lithic::Internal::Type::BaseModel, Object]
254
254
  #
255
+ # @param state [Hash{Symbol=>Object}] .
256
+ #
257
+ # @option state [Boolean] :can_retry
258
+ #
255
259
  # @return [Hash{Object=>Object}, Object]
256
- def dump(value)
260
+ def dump(value, state:)
257
261
  unless (coerced = Lithic::Internal::Util.coerce_hash(value)).is_a?(Hash)
258
262
  return super
259
263
  end
260
264
 
261
- is_param = singleton_class <= Lithic::Internal::Type::RequestParameters::Converter
262
265
  acc = {}
263
266
 
264
267
  coerced.each do |key, val|
265
268
  name = key.is_a?(String) ? key.to_sym : key
266
269
  case (field = known_fields[name])
267
270
  in nil
268
- acc.store(name, super(val))
271
+ acc.store(name, super(val, state: state))
269
272
  else
270
- mode, type_fn = field.fetch_values(:mode, :type_fn)
273
+ api_name, mode, type_fn = field.fetch_values(:api_name, :mode, :type_fn)
271
274
  case mode
272
275
  in :coerce
273
276
  next
274
277
  else
275
278
  target = type_fn.call
276
- api_name = is_param ? name : field.fetch(:api_name)
277
- acc.store(api_name, Lithic::Internal::Type::Converter.dump(target, val))
279
+ acc.store(api_name, Lithic::Internal::Type::Converter.dump(target, val, state: state))
278
280
  end
279
281
  end
280
282
  end
281
283
 
282
- known_fields.each do |name, field|
283
- mode, const = field.fetch_values(:mode, :const)
284
- api_name = is_param ? name : field.fetch(:api_name)
284
+ known_fields.each_value do |field|
285
+ api_name, mode, const = field.fetch_values(:api_name, :mode, :const)
285
286
  next if mode == :coerce || acc.key?(api_name) || const == Lithic::Internal::OMIT
286
287
  acc.store(api_name, const)
287
288
  end
@@ -291,11 +292,11 @@ module Lithic
291
292
  end
292
293
 
293
294
  # Returns the raw value associated with the given key, if found. Otherwise, nil is
294
- # returned.
295
+ # returned.
295
296
  #
296
- # It is valid to lookup keys that are not in the API spec, for example to access
297
- # undocumented features. This method does not parse response data into
298
- # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
297
+ # It is valid to lookup keys that are not in the API spec, for example to access
298
+ # undocumented features. This method does not parse response data into
299
+ # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
299
300
  #
300
301
  # @param key [Symbol]
301
302
  #
@@ -310,12 +311,12 @@ module Lithic
310
311
 
311
312
  # Returns a Hash of the data underlying this object. O(1)
312
313
  #
313
- # Keys are Symbols and values are the raw values from the response. The return
314
- # value indicates which values were ever set on the object. i.e. there will be a
315
- # key in this hash if they ever were, even if the set value was nil.
314
+ # Keys are Symbols and values are the raw values from the response. The return
315
+ # value indicates which values were ever set on the object. i.e. there will be a
316
+ # key in this hash if they ever were, even if the set value was nil.
316
317
  #
317
- # This method is not recursive. The returned value is shared by the object, so it
318
- # should not be mutated.
318
+ # This method is not recursive. The returned value is shared by the object, so it
319
+ # should not be mutated.
319
320
  #
320
321
  # @return [Hash{Symbol=>Object}]
321
322
  def to_h = @data
@@ -340,12 +341,12 @@ module Lithic
340
341
  # @param a [Object]
341
342
  #
342
343
  # @return [String]
343
- def to_json(*a) = self.class.dump(self).to_json(*a)
344
+ def to_json(*a) = Lithic::Internal::Type::Converter.dump(self.class, self).to_json(*a)
344
345
 
345
346
  # @param a [Object]
346
347
  #
347
348
  # @return [String]
348
- def to_yaml(*a) = self.class.dump(self).to_yaml(*a)
349
+ def to_yaml(*a) = Lithic::Internal::Type::Converter.dump(self.class, self).to_yaml(*a)
349
350
 
350
351
  # Create a new instance of a model.
351
352
  #
@@ -45,8 +45,12 @@ module Lithic
45
45
  # #
46
46
  # # @param value [Boolean, Object]
47
47
  # #
48
+ # # @param state [Hash{Symbol=>Object}] .
49
+ # #
50
+ # # @option state [Boolean] :can_retry
51
+ # #
48
52
  # # @return [Boolean, Object]
49
- # def dump(value) = super
53
+ # def dump(value, state:) = super
50
54
  end
51
55
  end
52
56
  end
@@ -3,7 +3,6 @@
3
3
  module Lithic
4
4
  module Internal
5
5
  module Type
6
- # rubocop:disable Metrics/ModuleLength
7
6
  # @api private
8
7
  module Converter
9
8
  # rubocop:disable Lint/UnusedMethodArgument
@@ -27,15 +26,24 @@ module Lithic
27
26
  #
28
27
  # @param value [Object]
29
28
  #
29
+ # @param state [Hash{Symbol=>Object}] .
30
+ #
31
+ # @option state [Boolean] :can_retry
32
+ #
30
33
  # @return [Object]
31
- def dump(value)
34
+ def dump(value, state:)
32
35
  case value
33
36
  in Array
34
- value.map { Lithic::Internal::Type::Unknown.dump(_1) }
37
+ value.map { Lithic::Internal::Type::Unknown.dump(_1, state: state) }
35
38
  in Hash
36
- value.transform_values { Lithic::Internal::Type::Unknown.dump(_1) }
39
+ value.transform_values { Lithic::Internal::Type::Unknown.dump(_1, state: state) }
37
40
  in Lithic::Internal::Type::BaseModel
38
- value.class.dump(value)
41
+ value.class.dump(value, state: state)
42
+ in StringIO
43
+ value.string
44
+ in Pathname | IO
45
+ state[:can_retry] = false if value.is_a?(IO)
46
+ Lithic::Internal::Util::SerializationAdapter.new(value)
39
47
  else
40
48
  value
41
49
  end
@@ -76,37 +84,37 @@ module Lithic
76
84
  #
77
85
  # Based on `target`, transform `value` into `target`, to the extent possible:
78
86
  #
79
- # 1. if the given `value` conforms to `target` already, return the given `value`
80
- # 2. if it's possible and safe to convert the given `value` to `target`, then the
81
- # converted value
82
- # 3. otherwise, the given `value` unaltered
87
+ # 1. if the given `value` conforms to `target` already, return the given `value`
88
+ # 2. if it's possible and safe to convert the given `value` to `target`, then the
89
+ # converted value
90
+ # 3. otherwise, the given `value` unaltered
83
91
  #
84
- # The coercion process is subject to improvement between minor release versions.
85
- # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
92
+ # The coercion process is subject to improvement between minor release versions.
93
+ # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
86
94
  #
87
95
  # @param target [Lithic::Internal::Type::Converter, Class]
88
96
  #
89
97
  # @param value [Object]
90
98
  #
91
99
  # @param state [Hash{Symbol=>Object}] The `strictness` is one of `true`, `false`, or `:strong`. This informs the
92
- # coercion strategy when we have to decide between multiple possible conversion
93
- # targets:
100
+ # coercion strategy when we have to decide between multiple possible conversion
101
+ # targets:
94
102
  #
95
- # - `true`: the conversion must be exact, with minimum coercion.
96
- # - `false`: the conversion can be approximate, with some coercion.
97
- # - `:strong`: the conversion must be exact, with no coercion, and raise an error
98
- # if not possible.
103
+ # - `true`: the conversion must be exact, with minimum coercion.
104
+ # - `false`: the conversion can be approximate, with some coercion.
105
+ # - `:strong`: the conversion must be exact, with no coercion, and raise an error
106
+ # if not possible.
99
107
  #
100
- # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
101
- # any given conversion attempt, the exactness will be updated based on how closely
102
- # the value recursively matches the target type:
108
+ # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
109
+ # any given conversion attempt, the exactness will be updated based on how closely
110
+ # the value recursively matches the target type:
103
111
  #
104
- # - `yes`: the value can be converted to the target type with minimum coercion.
105
- # - `maybe`: the value can be converted to the target type with some reasonable
106
- # coercion.
107
- # - `no`: the value cannot be converted to the target type.
112
+ # - `yes`: the value can be converted to the target type with minimum coercion.
113
+ # - `maybe`: the value can be converted to the target type with some reasonable
114
+ # coercion.
115
+ # - `no`: the value cannot be converted to the target type.
108
116
  #
109
- # See implementation below for more details.
117
+ # See implementation below for more details.
110
118
  #
111
119
  # @option state [Boolean, :strong] :strictness
112
120
  #
@@ -141,9 +149,9 @@ module Lithic
141
149
  if value.is_a?(Integer)
142
150
  exactness[:yes] += 1
143
151
  return value
144
- elsif strictness == :strong
152
+ elsif strictness == :strong && Integer(value, exception: false) != value
145
153
  message = "no implicit conversion of #{value.class} into #{target.inspect}"
146
- raise TypeError.new(message)
154
+ raise value.is_a?(Numeric) ? ArgumentError.new(message) : TypeError.new(message)
147
155
  else
148
156
  Kernel.then do
149
157
  return Integer(value).tap { exactness[:maybe] += 1 }
@@ -183,18 +191,26 @@ module Lithic
183
191
  rescue ArgumentError, TypeError => e
184
192
  raise e if strictness == :strong
185
193
  end
186
- in -> { _1 <= IO } if value.is_a?(String)
194
+ in -> { _1 <= StringIO } if value.is_a?(String)
187
195
  exactness[:yes] += 1
188
196
  return StringIO.new(value.b)
189
197
  else
190
198
  end
191
199
  in Symbol
192
- if (value.is_a?(Symbol) || value.is_a?(String)) && value.to_sym == target
193
- exactness[:yes] += 1
194
- return target
195
- elsif strictness == :strong
196
- message = "cannot convert non-matching #{value.class} into #{target.inspect}"
197
- raise ArgumentError.new(message)
200
+ case value
201
+ in Symbol | String
202
+ if value.to_sym == target
203
+ exactness[:yes] += 1
204
+ return target
205
+ else
206
+ exactness[:maybe] += 1
207
+ return value
208
+ end
209
+ else
210
+ if strictness == :strong
211
+ message = "cannot convert non-matching #{value.class} into #{target.inspect}"
212
+ raise ArgumentError.new(message)
213
+ end
198
214
  end
199
215
  else
200
216
  end
@@ -208,17 +224,24 @@ module Lithic
208
224
  # @api private
209
225
  #
210
226
  # @param target [Lithic::Internal::Type::Converter, Class]
227
+ #
211
228
  # @param value [Object]
212
229
  #
230
+ # @param state [Hash{Symbol=>Object}] .
231
+ #
232
+ # @option state [Boolean] :can_retry
233
+ #
213
234
  # @return [Object]
214
- def dump(target, value)
215
- # rubocop:disable Layout/LineLength
216
- target.is_a?(Lithic::Internal::Type::Converter) ? target.dump(value) : Lithic::Internal::Type::Unknown.dump(value)
217
- # rubocop:enable Layout/LineLength
235
+ def dump(target, value, state: {can_retry: true})
236
+ case target
237
+ in Lithic::Internal::Type::Converter
238
+ target.dump(value, state: state)
239
+ else
240
+ Lithic::Internal::Type::Unknown.dump(value, state: state)
241
+ end
218
242
  end
219
243
  end
220
244
  end
221
- # rubocop:enable Metrics/ModuleLength
222
245
  end
223
246
  end
224
247
  end
@@ -6,15 +6,15 @@ module Lithic
6
6
  # @api private
7
7
  #
8
8
  # A value from among a specified list of options. OpenAPI enum values map to Ruby
9
- # values in the SDK as follows:
9
+ # values in the SDK as follows:
10
10
  #
11
- # 1. boolean => true | false
12
- # 2. integer => Integer
13
- # 3. float => Float
14
- # 4. string => Symbol
11
+ # 1. boolean => true | false
12
+ # 2. integer => Integer
13
+ # 3. float => Float
14
+ # 4. string => Symbol
15
15
  #
16
- # We can therefore convert string values to Symbols, but can't convert other
17
- # values safely.
16
+ # We can therefore convert string values to Symbols, but can't convert other
17
+ # values safely.
18
18
  #
19
19
  # @example
20
20
  # # `account_financial_account_type` is a `Lithic::Models::AccountFinancialAccountType`
@@ -66,7 +66,7 @@ module Lithic
66
66
  # @api private
67
67
  #
68
68
  # Unlike with primitives, `Enum` additionally validates that the value is a member
69
- # of the enum.
69
+ # of the enum.
70
70
  #
71
71
  # @param value [String, Symbol, Object]
72
72
  #
@@ -97,8 +97,12 @@ module Lithic
97
97
  # #
98
98
  # # @param value [Symbol, Object]
99
99
  # #
100
+ # # @param state [Hash{Symbol=>Object}] .
101
+ # #
102
+ # # @option state [Boolean] :can_retry
103
+ # #
100
104
  # # @return [Symbol, Object]
101
- # def dump(value) = super
105
+ # def dump(value, state:) = super
102
106
  end
103
107
  end
104
108
  end
@@ -99,12 +99,16 @@ module Lithic
99
99
  #
100
100
  # @param value [Hash{Object=>Object}, Object]
101
101
  #
102
+ # @param state [Hash{Symbol=>Object}] .
103
+ #
104
+ # @option state [Boolean] :can_retry
105
+ #
102
106
  # @return [Hash{Symbol=>Object}, Object]
103
- def dump(value)
107
+ def dump(value, state:)
104
108
  target = item_type
105
109
  if value.is_a?(Hash)
106
110
  value.transform_values do
107
- Lithic::Internal::Type::Converter.dump(target, _1)
111
+ Lithic::Internal::Type::Converter.dump(target, _1, state: state)
108
112
  end
109
113
  else
110
114
  super
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # @abstract
9
+ #
10
+ # Either `Pathname` or `StringIO`.
11
+ class IOLike
12
+ extend Lithic::Internal::Type::Converter
13
+
14
+ # @param other [Object]
15
+ #
16
+ # @return [Boolean]
17
+ def self.===(other)
18
+ case other
19
+ in StringIO | Pathname | IO
20
+ true
21
+ else
22
+ false
23
+ end
24
+ end
25
+
26
+ # @param other [Object]
27
+ #
28
+ # @return [Boolean]
29
+ def self.==(other) = other.is_a?(Class) && other <= Lithic::Internal::Type::IOLike
30
+
31
+ class << self
32
+ # @api private
33
+ #
34
+ # @param value [StringIO, String, Object]
35
+ #
36
+ # @param state [Hash{Symbol=>Object}] .
37
+ #
38
+ # @option state [Boolean, :strong] :strictness
39
+ #
40
+ # @option state [Hash{Symbol=>Object}] :exactness
41
+ #
42
+ # @option state [Integer] :branched
43
+ #
44
+ # @return [StringIO, Object]
45
+ def coerce(value, state:)
46
+ exactness = state.fetch(:exactness)
47
+ case value
48
+ in String
49
+ exactness[:yes] += 1
50
+ StringIO.new(value)
51
+ in StringIO
52
+ exactness[:yes] += 1
53
+ value
54
+ else
55
+ exactness[:no] += 1
56
+ value
57
+ end
58
+ end
59
+
60
+ # @!parse
61
+ # # @api private
62
+ # #
63
+ # # @param value [Pathname, StringIO, IO, String, Object]
64
+ # #
65
+ # # @param state [Hash{Symbol=>Object}] .
66
+ # #
67
+ # # @option state [Boolean] :can_retry
68
+ # #
69
+ # # @return [Pathname, StringIO, IO, String, Object]
70
+ # def dump(value, state:) = super
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -26,9 +26,18 @@ module Lithic
26
26
  #
27
27
  # @return [Array(Object, Hash{Symbol=>Object})]
28
28
  def dump_request(params)
29
- case (dumped = dump(params))
29
+ state = {can_retry: true}
30
+ case (dumped = dump(params, state: state))
30
31
  in Hash
31
- [dumped.except(:request_options), dumped[:request_options]]
32
+ options = Lithic::Internal::Util.coerce_hash(dumped[:request_options])
33
+ request_options =
34
+ case [options, state.fetch(:can_retry)]
35
+ in [Hash | nil, false]
36
+ {**options.to_h, max_retries: 0}
37
+ else
38
+ options
39
+ end
40
+ [dumped.except(:request_options), request_options]
32
41
  else
33
42
  [dumped, nil]
34
43
  end
@@ -176,15 +176,19 @@ module Lithic
176
176
  #
177
177
  # @param value [Object]
178
178
  #
179
+ # @param state [Hash{Symbol=>Object}] .
180
+ #
181
+ # @option state [Boolean] :can_retry
182
+ #
179
183
  # @return [Object]
180
- def dump(value)
184
+ def dump(value, state:)
181
185
  if (target = resolve_variant(value))
182
- return Lithic::Internal::Type::Converter.dump(target, value)
186
+ return Lithic::Internal::Type::Converter.dump(target, value, state: state)
183
187
  end
184
188
 
185
189
  known_variants.each do
186
190
  target = _2.call
187
- return Lithic::Internal::Type::Converter.dump(target, value) if target === value
191
+ return Lithic::Internal::Type::Converter.dump(target, value, state: state) if target === value
188
192
  end
189
193
 
190
194
  super
@@ -47,8 +47,12 @@ module Lithic
47
47
  # #
48
48
  # # @param value [Object]
49
49
  # #
50
+ # # @param state [Hash{Symbol=>Object}] .
51
+ # #
52
+ # # @option state [Boolean] :can_retry
53
+ # #
50
54
  # # @return [Object]
51
- # def dump(value) = super
55
+ # def dump(value, state:) = super
52
56
  end
53
57
 
54
58
  # rubocop:enable Lint/UnusedMethodArgument