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
@@ -2,8 +2,6 @@
2
2
 
3
3
  module Lithic
4
4
  module Internal
5
- # rubocop:disable Metrics/ModuleLength
6
-
7
5
  # @api private
8
6
  module Util
9
7
  # @api private
@@ -124,7 +122,7 @@ module Lithic
124
122
  # @return [Hash{Object=>Object}, Object]
125
123
  def coerce_hash(input)
126
124
  case input
127
- in NilClass | Array | Set | Enumerator
125
+ in NilClass | Array | Set | Enumerator | StringIO | IO
128
126
  input
129
127
  else
130
128
  input.respond_to?(:to_h) ? input.to_h : input
@@ -154,7 +152,7 @@ module Lithic
154
152
  # @api private
155
153
  #
156
154
  # Recursively merge one hash with another. If the values at a given key are not
157
- # both hashes, just take the new value.
155
+ # both hashes, just take the new value.
158
156
  #
159
157
  # @param values [Array<Object>]
160
158
  #
@@ -350,10 +348,47 @@ module Lithic
350
348
  end
351
349
  end
352
350
 
351
+ # @api private
352
+ class SerializationAdapter
353
+ # @return [Pathname, IO]
354
+ attr_reader :inner
355
+
356
+ # @param a [Object]
357
+ #
358
+ # @return [String]
359
+ def to_json(*a) = (inner.is_a?(IO) ? inner.read : inner.read(binmode: true)).to_json(*a)
360
+
361
+ # @param a [Object]
362
+ #
363
+ # @return [String]
364
+ def to_yaml(*a) = (inner.is_a?(IO) ? inner.read : inner.read(binmode: true)).to_yaml(*a)
365
+
366
+ # @api private
367
+ #
368
+ # @param inner [Pathname, IO]
369
+ def initialize(inner) = @inner = inner
370
+ end
371
+
353
372
  # @api private
354
373
  #
355
374
  # An adapter that satisfies the IO interface required by `::IO.copy_stream`
356
375
  class ReadIOAdapter
376
+ # @api private
377
+ #
378
+ # @return [Boolean, nil]
379
+ def close? = @closing
380
+
381
+ # @api private
382
+ def close
383
+ case @stream
384
+ in Enumerator
385
+ Lithic::Internal::Util.close_fused!(@stream)
386
+ in IO if close?
387
+ @stream.close
388
+ else
389
+ end
390
+ end
391
+
357
392
  # @api private
358
393
  #
359
394
  # @param max_len [Integer, nil]
@@ -398,12 +433,21 @@ module Lithic
398
433
 
399
434
  # @api private
400
435
  #
401
- # @param stream [String, IO, StringIO, Enumerable<String>]
436
+ # @param src [String, Pathname, StringIO, Enumerable<String>]
402
437
  # @param blk [Proc]
403
438
  #
404
439
  # @yieldparam [String]
405
- def initialize(stream, &blk)
406
- @stream = stream.is_a?(String) ? StringIO.new(stream) : stream
440
+ def initialize(src, &blk)
441
+ @stream =
442
+ case src
443
+ in String
444
+ StringIO.new(src)
445
+ in Pathname
446
+ @closing = true
447
+ src.open(binmode: true)
448
+ else
449
+ src
450
+ end
407
451
  @buf = String.new.b
408
452
  @blk = blk
409
453
  end
@@ -416,9 +460,10 @@ module Lithic
416
460
  # @return [Enumerable<String>]
417
461
  def writable_enum(&blk)
418
462
  Enumerator.new do |y|
463
+ buf = String.new.b
419
464
  y.define_singleton_method(:write) do
420
- self << _1.clone
421
- _1.bytesize
465
+ self << buf.replace(_1)
466
+ buf.bytesize
422
467
  end
423
468
 
424
469
  blk.call(y)
@@ -433,29 +478,39 @@ module Lithic
433
478
  # @param boundary [String]
434
479
  # @param key [Symbol, String]
435
480
  # @param val [Object]
436
- private def write_multipart_chunk(y, boundary:, key:, val:)
481
+ # @param closing [Array<Proc>]
482
+ private def write_multipart_chunk(y, boundary:, key:, val:, closing:)
483
+ val = val.inner if val.is_a?(Lithic::Internal::Util::SerializationAdapter)
484
+
437
485
  y << "--#{boundary}\r\n"
438
486
  y << "Content-Disposition: form-data"
439
487
  unless key.nil?
440
488
  name = ERB::Util.url_encode(key.to_s)
441
489
  y << "; name=\"#{name}\""
442
490
  end
443
- if val.is_a?(IO)
491
+ case val
492
+ in Pathname | IO
444
493
  filename = ERB::Util.url_encode(File.basename(val.to_path))
445
494
  y << "; filename=\"#{filename}\""
495
+ else
446
496
  end
447
497
  y << "\r\n"
448
498
  case val
499
+ in Pathname
500
+ y << "Content-Type: application/octet-stream\r\n\r\n"
501
+ io = val.open(binmode: true)
502
+ closing << io.method(:close)
503
+ IO.copy_stream(io, y)
449
504
  in IO
450
505
  y << "Content-Type: application/octet-stream\r\n\r\n"
451
- IO.copy_stream(val.tap(&:rewind), y)
506
+ IO.copy_stream(val, y)
452
507
  in StringIO
453
508
  y << "Content-Type: application/octet-stream\r\n\r\n"
454
509
  y << val.string
455
510
  in String
456
511
  y << "Content-Type: application/octet-stream\r\n\r\n"
457
512
  y << val.to_s
458
- in true | false | Integer | Float | Symbol
513
+ in _ if primitive?(val)
459
514
  y << "Content-Type: text/plain\r\n\r\n"
460
515
  y << val.to_s
461
516
  else
@@ -473,6 +528,7 @@ module Lithic
473
528
  private def encode_multipart_streaming(body)
474
529
  boundary = SecureRandom.urlsafe_base64(60)
475
530
 
531
+ closing = []
476
532
  strio = writable_enum do |y|
477
533
  case body
478
534
  in Hash
@@ -480,19 +536,20 @@ module Lithic
480
536
  case val
481
537
  in Array if val.all? { primitive?(_1) }
482
538
  val.each do |v|
483
- write_multipart_chunk(y, boundary: boundary, key: key, val: v)
539
+ write_multipart_chunk(y, boundary: boundary, key: key, val: v, closing: closing)
484
540
  end
485
541
  else
486
- write_multipart_chunk(y, boundary: boundary, key: key, val: val)
542
+ write_multipart_chunk(y, boundary: boundary, key: key, val: val, closing: closing)
487
543
  end
488
544
  end
489
545
  else
490
- write_multipart_chunk(y, boundary: boundary, key: nil, val: body)
546
+ write_multipart_chunk(y, boundary: boundary, key: nil, val: body, closing: closing)
491
547
  end
492
548
  y << "--#{boundary}--\r\n"
493
549
  end
494
550
 
495
- [boundary, strio]
551
+ fused_io = fused_enum(strio) { closing.each(&:call) }
552
+ [boundary, fused_io]
496
553
  end
497
554
 
498
555
  # @api private
@@ -503,21 +560,21 @@ module Lithic
503
560
  # @return [Object]
504
561
  def encode_content(headers, body)
505
562
  content_type = headers["content-type"]
563
+ body = body.inner if body.is_a?(Lithic::Internal::Util::SerializationAdapter)
564
+
506
565
  case [content_type, body]
507
- in [%r{^application/(?:vnd\.api\+)?json}, _] unless body.nil?
566
+ in [%r{^application/(?:vnd\.api\+)?json}, Hash | Array | -> { primitive?(_1) }]
508
567
  [headers, JSON.fast_generate(body)]
509
- in [%r{^application/(?:x-)?jsonl}, Enumerable]
568
+ in [%r{^application/(?:x-)?jsonl}, Enumerable] unless body.is_a?(StringIO) || body.is_a?(IO)
510
569
  [headers, body.lazy.map { JSON.fast_generate(_1) }]
511
- in [%r{^multipart/form-data}, Hash | IO | StringIO]
570
+ in [%r{^multipart/form-data}, Hash | Pathname | StringIO | IO]
512
571
  boundary, strio = encode_multipart_streaming(body)
513
572
  headers = {**headers, "content-type" => "#{content_type}; boundary=#{boundary}"}
514
573
  [headers, strio]
515
- in [_, IO]
516
- [headers, body.tap(&:rewind)]
517
- in [_, StringIO]
518
- [headers, body.string]
519
574
  in [_, Symbol | Numeric]
520
575
  [headers, body.to_s]
576
+ in [_, StringIO]
577
+ [headers, body.string]
521
578
  else
522
579
  [headers, body]
523
580
  end
@@ -694,7 +751,5 @@ module Lithic
694
751
  end
695
752
  end
696
753
  end
697
-
698
- # rubocop:enable Metrics/ModuleLength
699
754
  end
700
755
  end
@@ -6,25 +6,25 @@ module Lithic
6
6
  class Account < Lithic::Internal::Type::BaseModel
7
7
  # @!attribute token
8
8
  # Globally unique identifier for the account. This is the same as the
9
- # account_token returned by the enroll endpoint. If using this parameter, do not
10
- # include pagination.
9
+ # account_token returned by the enroll endpoint. If using this parameter, do not
10
+ # include pagination.
11
11
  #
12
12
  # @return [String]
13
13
  required :token, String
14
14
 
15
15
  # @!attribute created
16
16
  # Timestamp of when the account was created. For accounts created before
17
- # 2023-05-11, this field will be null.
17
+ # 2023-05-11, this field will be null.
18
18
  #
19
19
  # @return [Time, nil]
20
20
  required :created, Time, nil?: true
21
21
 
22
22
  # @!attribute spend_limit
23
23
  # Spend limit information for the user containing the daily, monthly, and lifetime
24
- # spend limit of the account. Any charges to a card owned by this account will be
25
- # declined once their transaction volume has surpassed the value in the applicable
26
- # time limit (rolling). A lifetime limit of 0 indicates that the lifetime limit
27
- # feature is disabled.
24
+ # spend limit of the account. Any charges to a card owned by this account will be
25
+ # declined once their transaction volume has surpassed the value in the applicable
26
+ # time limit (rolling). A lifetime limit of 0 indicates that the lifetime limit
27
+ # feature is disabled.
28
28
  #
29
29
  # @return [Lithic::Models::Account::SpendLimit]
30
30
  required :spend_limit, -> { Lithic::Models::Account::SpendLimit }
@@ -32,15 +32,15 @@ module Lithic
32
32
  # @!attribute state
33
33
  # Account state:
34
34
  #
35
- # - `ACTIVE` - Account is able to transact and create new cards.
36
- # - `PAUSED` - Account will not be able to transact or create new cards. It can be
37
- # set back to `ACTIVE`.
38
- # - `CLOSED` - Account will not be able to transact or create new cards. `CLOSED`
39
- # accounts are also unable to be transitioned to `ACTIVE` or `PAUSED` states.
40
- # `CLOSED` accounts result from failing to pass KYB/KYC or Lithic closing for
41
- # risk/compliance reasons. Please contact
42
- # [support@lithic.com](mailto:support@lithic.com) if you believe this was in
43
- # error.
35
+ # - `ACTIVE` - Account is able to transact and create new cards.
36
+ # - `PAUSED` - Account will not be able to transact or create new cards. It can be
37
+ # set back to `ACTIVE`.
38
+ # - `CLOSED` - Account will not be able to transact or create new cards. `CLOSED`
39
+ # accounts are also unable to be transitioned to `ACTIVE` or `PAUSED` states.
40
+ # `CLOSED` accounts result from failing to pass KYB/KYC or Lithic closing for
41
+ # risk/compliance reasons. Please contact
42
+ # [support@lithic.com](mailto:support@lithic.com) if you believe this was in
43
+ # error.
44
44
  #
45
45
  # @return [Symbol, Lithic::Models::Account::State]
46
46
  required :state, enum: -> { Lithic::Models::Account::State }
@@ -56,9 +56,9 @@ module Lithic
56
56
 
57
57
  # @!attribute [r] auth_rule_tokens
58
58
  # List of identifiers for the Auth Rule(s) that are applied on the account. This
59
- # field is deprecated and will no longer be populated in the `account_holder`
60
- # object. The key will be removed from the schema in a future release. Use the
61
- # `/auth_rules` endpoints to fetch Auth Rule information instead.
59
+ # field is deprecated and will no longer be populated in the `account_holder`
60
+ # object. The key will be removed from the schema in a future release. Use the
61
+ # `/auth_rules` endpoints to fetch Auth Rule information instead.
62
62
  #
63
63
  # @return [Array<String>, nil]
64
64
  optional :auth_rule_tokens, Lithic::Internal::Type::ArrayOf[String]
@@ -134,10 +134,10 @@ module Lithic
134
134
 
135
135
  # @!parse
136
136
  # # Spend limit information for the user containing the daily, monthly, and lifetime
137
- # # spend limit of the account. Any charges to a card owned by this account will be
138
- # # declined once their transaction volume has surpassed the value in the applicable
139
- # # time limit (rolling). A lifetime limit of 0 indicates that the lifetime limit
140
- # # feature is disabled.
137
+ # # spend limit of the account. Any charges to a card owned by this account will be
138
+ # # declined once their transaction volume has surpassed the value in the applicable
139
+ # # time limit (rolling). A lifetime limit of 0 indicates that the lifetime limit
140
+ # # feature is disabled.
141
141
  # #
142
142
  # # @param daily [Integer]
143
143
  # # @param lifetime [Integer]
@@ -150,15 +150,15 @@ module Lithic
150
150
 
151
151
  # Account state:
152
152
  #
153
- # - `ACTIVE` - Account is able to transact and create new cards.
154
- # - `PAUSED` - Account will not be able to transact or create new cards. It can be
155
- # set back to `ACTIVE`.
156
- # - `CLOSED` - Account will not be able to transact or create new cards. `CLOSED`
157
- # accounts are also unable to be transitioned to `ACTIVE` or `PAUSED` states.
158
- # `CLOSED` accounts result from failing to pass KYB/KYC or Lithic closing for
159
- # risk/compliance reasons. Please contact
160
- # [support@lithic.com](mailto:support@lithic.com) if you believe this was in
161
- # error.
153
+ # - `ACTIVE` - Account is able to transact and create new cards.
154
+ # - `PAUSED` - Account will not be able to transact or create new cards. It can be
155
+ # set back to `ACTIVE`.
156
+ # - `CLOSED` - Account will not be able to transact or create new cards. `CLOSED`
157
+ # accounts are also unable to be transitioned to `ACTIVE` or `PAUSED` states.
158
+ # `CLOSED` accounts result from failing to pass KYB/KYC or Lithic closing for
159
+ # risk/compliance reasons. Please contact
160
+ # [support@lithic.com](mailto:support@lithic.com) if you believe this was in
161
+ # error.
162
162
  #
163
163
  # @see Lithic::Models::Account#state
164
164
  module State
@@ -185,8 +185,8 @@ module Lithic
185
185
 
186
186
  # @!attribute business_account_token
187
187
  # Only applicable for customers using the KYC-Exempt workflow to enroll authorized
188
- # users of businesses. Account_token of the enrolled business associated with an
189
- # enrolled AUTHORIZED_USER individual.
188
+ # users of businesses. Account_token of the enrolled business associated with an
189
+ # enrolled AUTHORIZED_USER individual.
190
190
  #
191
191
  # @return [String]
192
192
  required :business_account_token, String
@@ -238,15 +238,15 @@ module Lithic
238
238
 
239
239
  # @!attribute postal_code
240
240
  # Valid postal code. Only USA postal codes (ZIP codes) are currently supported,
241
- # entered as a five-digit postal code or nine-digit postal code (ZIP+4) using the
242
- # format 12345-1234.
241
+ # entered as a five-digit postal code or nine-digit postal code (ZIP+4) using the
242
+ # format 12345-1234.
243
243
  #
244
244
  # @return [String]
245
245
  required :postal_code, String
246
246
 
247
247
  # @!attribute state
248
248
  # Valid state code. Only USA state codes are currently supported, entered in
249
- # uppercase ISO 3166-2 two-character format.
249
+ # uppercase ISO 3166-2 two-character format.
250
250
  #
251
251
  # @return [String]
252
252
  required :state, String