modern_treasury 0.1.0.pre.alpha.15 → 0.1.0.pre.alpha.16

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 (711) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +63 -20
  3. data/lib/modern_treasury/base_client.rb +93 -111
  4. data/lib/modern_treasury/base_model.rb +442 -422
  5. data/lib/modern_treasury/base_page.rb +34 -15
  6. data/lib/modern_treasury/client.rb +21 -7
  7. data/lib/modern_treasury/errors.rb +15 -19
  8. data/lib/modern_treasury/extern.rb +1 -4
  9. data/lib/modern_treasury/models/account_collection_flow.rb +9 -54
  10. data/lib/modern_treasury/models/account_collection_flow_create_params.rb +3 -22
  11. data/lib/modern_treasury/models/account_collection_flow_update_params.rb +3 -12
  12. data/lib/modern_treasury/models/account_detail.rb +3 -22
  13. data/lib/modern_treasury/models/account_detail_create_params.rb +6 -33
  14. data/lib/modern_treasury/models/account_detail_delete_params.rb +3 -11
  15. data/lib/modern_treasury/models/accounts_type.rb +3 -13
  16. data/lib/modern_treasury/models/bulk_request.rb +9 -50
  17. data/lib/modern_treasury/models/bulk_request_create_params.rb +118 -656
  18. data/lib/modern_treasury/models/bulk_request_list_params.rb +9 -50
  19. data/lib/modern_treasury/models/bulk_result.rb +16 -67
  20. data/lib/modern_treasury/models/bulk_result_list_params.rb +9 -48
  21. data/lib/modern_treasury/models/connection_legal_entity.rb +3 -18
  22. data/lib/modern_treasury/models/connection_legal_entity_create_params.rb +33 -200
  23. data/lib/modern_treasury/models/connection_legal_entity_list_params.rb +3 -17
  24. data/lib/modern_treasury/models/connection_legal_entity_update_params.rb +3 -12
  25. data/lib/modern_treasury/models/counterparty.rb +15 -77
  26. data/lib/modern_treasury/models/counterparty_collect_account_params.rb +3 -21
  27. data/lib/modern_treasury/models/counterparty_create_params.rb +61 -357
  28. data/lib/modern_treasury/models/currency.rb +3 -22
  29. data/lib/modern_treasury/models/document.rb +3 -22
  30. data/lib/modern_treasury/models/document_create_params.rb +3 -21
  31. data/lib/modern_treasury/models/document_list_params.rb +3 -22
  32. data/lib/modern_treasury/models/expected_payment.rb +9 -46
  33. data/lib/modern_treasury/models/expected_payment_create_params.rb +9 -52
  34. data/lib/modern_treasury/models/expected_payment_list_params.rb +6 -40
  35. data/lib/modern_treasury/models/expected_payment_type.rb +3 -22
  36. data/lib/modern_treasury/models/expected_payment_update_params.rb +6 -26
  37. data/lib/modern_treasury/models/external_account.rb +12 -59
  38. data/lib/modern_treasury/models/external_account_create_params.rb +18 -110
  39. data/lib/modern_treasury/models/external_account_type.rb +3 -22
  40. data/lib/modern_treasury/models/external_account_update_params.rb +3 -14
  41. data/lib/modern_treasury/models/external_account_verify_params.rb +9 -48
  42. data/lib/modern_treasury/models/external_account_verify_response.rb +16 -66
  43. data/lib/modern_treasury/models/incoming_payment_detail.rb +12 -82
  44. data/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rb +6 -36
  45. data/lib/modern_treasury/models/incoming_payment_detail_list_params.rb +6 -38
  46. data/lib/modern_treasury/models/internal_account.rb +6 -36
  47. data/lib/modern_treasury/models/internal_account_create_params.rb +3 -14
  48. data/lib/modern_treasury/models/internal_account_list_params.rb +3 -22
  49. data/lib/modern_treasury/models/internal_accounts/balance_report.rb +12 -46
  50. data/lib/modern_treasury/models/internal_accounts/balance_report_create_params.rb +6 -40
  51. data/lib/modern_treasury/models/internal_accounts/balance_report_list_params.rb +3 -18
  52. data/lib/modern_treasury/models/invoice.rb +12 -67
  53. data/lib/modern_treasury/models/invoice_create_params.rb +6 -31
  54. data/lib/modern_treasury/models/invoice_list_params.rb +3 -21
  55. data/lib/modern_treasury/models/invoice_update_params.rb +6 -31
  56. data/lib/modern_treasury/models/ledger_account.rb +3 -18
  57. data/lib/modern_treasury/models/ledger_account_create_params.rb +3 -18
  58. data/lib/modern_treasury/models/ledger_account_settlement.rb +3 -22
  59. data/lib/modern_treasury/models/ledger_account_settlement_create_params.rb +3 -14
  60. data/lib/modern_treasury/models/ledger_account_settlement_update_params.rb +3 -14
  61. data/lib/modern_treasury/models/ledger_entry.rb +3 -16
  62. data/lib/modern_treasury/models/ledger_entry_list_params.rb +9 -42
  63. data/lib/modern_treasury/models/ledger_event_handler.rb +4 -0
  64. data/lib/modern_treasury/models/ledger_event_handler_create_params.rb +3 -0
  65. data/lib/modern_treasury/models/ledger_event_handler_variable.rb +2 -0
  66. data/lib/modern_treasury/models/ledger_transaction.rb +6 -38
  67. data/lib/modern_treasury/models/ledger_transaction_create_params.rb +6 -38
  68. data/lib/modern_treasury/models/ledger_transaction_create_partial_post_params.rb +3 -14
  69. data/lib/modern_treasury/models/ledger_transaction_create_reversal_params.rb +6 -38
  70. data/lib/modern_treasury/models/ledger_transaction_list_params.rb +12 -62
  71. data/lib/modern_treasury/models/ledger_transaction_update_params.rb +6 -38
  72. data/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rb +9 -54
  73. data/lib/modern_treasury/models/ledgerable_event.rb +1 -0
  74. data/lib/modern_treasury/models/legal_entity.rb +15 -95
  75. data/lib/modern_treasury/models/legal_entity_association.rb +18 -109
  76. data/lib/modern_treasury/models/legal_entity_association_create_params.rb +18 -107
  77. data/lib/modern_treasury/models/legal_entity_create_params.rb +33 -200
  78. data/lib/modern_treasury/models/legal_entity_list_params.rb +3 -13
  79. data/lib/modern_treasury/models/legal_entity_update_params.rb +12 -79
  80. data/lib/modern_treasury/models/line_item.rb +3 -14
  81. data/lib/modern_treasury/models/line_item_list_params.rb +3 -13
  82. data/lib/modern_treasury/models/line_item_retrieve_params.rb +3 -13
  83. data/lib/modern_treasury/models/line_item_update_params.rb +3 -13
  84. data/lib/modern_treasury/models/paper_item.rb +3 -16
  85. data/lib/modern_treasury/models/payment_flow.rb +12 -58
  86. data/lib/modern_treasury/models/payment_flow_create_params.rb +3 -14
  87. data/lib/modern_treasury/models/payment_flow_update_params.rb +3 -12
  88. data/lib/modern_treasury/models/payment_order.rb +33 -142
  89. data/lib/modern_treasury/models/payment_order_create_async_params.rb +39 -218
  90. data/lib/modern_treasury/models/payment_order_create_params.rb +42 -239
  91. data/lib/modern_treasury/models/payment_order_list_params.rb +9 -56
  92. data/lib/modern_treasury/models/payment_order_subtype.rb +3 -22
  93. data/lib/modern_treasury/models/payment_order_type.rb +3 -22
  94. data/lib/modern_treasury/models/payment_order_update_params.rb +36 -202
  95. data/lib/modern_treasury/models/payment_orders/reversal.rb +6 -42
  96. data/lib/modern_treasury/models/payment_orders/reversal_create_params.rb +9 -58
  97. data/lib/modern_treasury/models/payment_reference.rb +8 -39
  98. data/lib/modern_treasury/models/payment_reference_list_params.rb +3 -16
  99. data/lib/modern_treasury/models/reconciliation_rule.rb +6 -36
  100. data/lib/modern_treasury/models/return_create_params.rb +6 -34
  101. data/lib/modern_treasury/models/return_list_params.rb +3 -20
  102. data/lib/modern_treasury/models/return_object.rb +20 -123
  103. data/lib/modern_treasury/models/routing_detail.rb +6 -44
  104. data/lib/modern_treasury/models/routing_detail_create_params.rb +9 -55
  105. data/lib/modern_treasury/models/routing_detail_delete_params.rb +3 -11
  106. data/lib/modern_treasury/models/routing_number_lookup_request.rb +6 -43
  107. data/lib/modern_treasury/models/transaction.rb +9 -47
  108. data/lib/modern_treasury/models/transaction_create_params.rb +3 -22
  109. data/lib/modern_treasury/models/transaction_direction.rb +3 -13
  110. data/lib/modern_treasury/models/transactions/line_item_list_params.rb +3 -13
  111. data/lib/modern_treasury/models/transactions/transaction_line_item.rb +6 -36
  112. data/lib/modern_treasury/models/validation_validate_routing_number_params.rb +3 -22
  113. data/lib/modern_treasury/models/virtual_account_create_params.rb +12 -84
  114. data/lib/modern_treasury/models/wealth_and_employment_details.rb +18 -130
  115. data/lib/modern_treasury/page.rb +26 -28
  116. data/lib/modern_treasury/pooled_net_requester.rb +103 -86
  117. data/lib/modern_treasury/request_options.rb +5 -12
  118. data/lib/modern_treasury/resources/account_collection_flows.rb +0 -5
  119. data/lib/modern_treasury/resources/account_details.rb +26 -25
  120. data/lib/modern_treasury/resources/bulk_requests.rb +0 -4
  121. data/lib/modern_treasury/resources/bulk_results.rb +0 -3
  122. data/lib/modern_treasury/resources/connection_legal_entities.rb +0 -5
  123. data/lib/modern_treasury/resources/connections.rb +0 -2
  124. data/lib/modern_treasury/resources/counterparties.rb +0 -7
  125. data/lib/modern_treasury/resources/documents.rb +1 -5
  126. data/lib/modern_treasury/resources/events.rb +0 -3
  127. data/lib/modern_treasury/resources/expected_payments.rb +0 -6
  128. data/lib/modern_treasury/resources/external_accounts.rb +0 -8
  129. data/lib/modern_treasury/resources/foreign_exchange_quotes.rb +0 -4
  130. data/lib/modern_treasury/resources/incoming_payment_details.rb +0 -5
  131. data/lib/modern_treasury/resources/internal_accounts/balance_reports.rb +14 -14
  132. data/lib/modern_treasury/resources/internal_accounts.rb +0 -5
  133. data/lib/modern_treasury/resources/invoices/line_items.rb +13 -16
  134. data/lib/modern_treasury/resources/invoices.rb +4 -9
  135. data/lib/modern_treasury/resources/ledger_account_balance_monitors.rb +0 -6
  136. data/lib/modern_treasury/resources/ledger_account_categories.rb +24 -26
  137. data/lib/modern_treasury/resources/ledger_account_settlements/account_entries.rb +4 -5
  138. data/lib/modern_treasury/resources/ledger_account_settlements.rb +2 -6
  139. data/lib/modern_treasury/resources/ledger_account_statements.rb +0 -3
  140. data/lib/modern_treasury/resources/ledger_accounts.rb +0 -6
  141. data/lib/modern_treasury/resources/ledger_entries.rb +0 -4
  142. data/lib/modern_treasury/resources/ledger_event_handlers.rb +0 -5
  143. data/lib/modern_treasury/resources/ledger_transactions/versions.rb +0 -2
  144. data/lib/modern_treasury/resources/ledger_transactions.rb +0 -7
  145. data/lib/modern_treasury/resources/ledgerable_events.rb +0 -3
  146. data/lib/modern_treasury/resources/ledgers.rb +0 -6
  147. data/lib/modern_treasury/resources/legal_entities.rb +0 -5
  148. data/lib/modern_treasury/resources/legal_entity_associations.rb +0 -2
  149. data/lib/modern_treasury/resources/line_items.rb +22 -21
  150. data/lib/modern_treasury/resources/paper_items.rb +0 -3
  151. data/lib/modern_treasury/resources/payment_flows.rb +0 -5
  152. data/lib/modern_treasury/resources/payment_orders/reversals.rb +4 -7
  153. data/lib/modern_treasury/resources/payment_orders.rb +0 -6
  154. data/lib/modern_treasury/resources/payment_references.rb +1 -20
  155. data/lib/modern_treasury/resources/returns.rb +0 -4
  156. data/lib/modern_treasury/resources/routing_details.rb +26 -25
  157. data/lib/modern_treasury/resources/transactions/line_items.rb +0 -5
  158. data/lib/modern_treasury/resources/transactions.rb +0 -6
  159. data/lib/modern_treasury/resources/validations.rb +0 -2
  160. data/lib/modern_treasury/resources/virtual_accounts.rb +0 -6
  161. data/lib/modern_treasury/util.rb +645 -385
  162. data/lib/modern_treasury/version.rb +1 -1
  163. data/lib/modern_treasury.rb +17 -0
  164. data/manifest.yaml +2 -0
  165. data/rbi/lib/modern_treasury/base_client.rbi +108 -72
  166. data/rbi/lib/modern_treasury/base_model.rbi +404 -239
  167. data/rbi/lib/modern_treasury/base_page.rbi +3 -6
  168. data/rbi/lib/modern_treasury/client.rbi +55 -79
  169. data/rbi/lib/modern_treasury/errors.rbi +23 -24
  170. data/rbi/lib/modern_treasury/extern.rbi +1 -1
  171. data/rbi/lib/modern_treasury/models/account_collection_flow.rbi +107 -102
  172. data/rbi/lib/modern_treasury/models/account_collection_flow_create_params.rbi +69 -42
  173. data/rbi/lib/modern_treasury/models/account_collection_flow_list_params.rbi +19 -34
  174. data/rbi/lib/modern_treasury/models/account_collection_flow_retrieve_params.rbi +5 -2
  175. data/rbi/lib/modern_treasury/models/account_collection_flow_update_params.rbi +31 -16
  176. data/rbi/lib/modern_treasury/models/account_detail.rbi +44 -73
  177. data/rbi/lib/modern_treasury/models/account_detail_create_params.rbi +60 -42
  178. data/rbi/lib/modern_treasury/models/account_detail_delete_params.rbi +24 -26
  179. data/rbi/lib/modern_treasury/models/account_detail_list_params.rbi +11 -23
  180. data/rbi/lib/modern_treasury/models/account_detail_retrieve_params.rbi +14 -22
  181. data/rbi/lib/modern_treasury/models/accounts_type.rbi +8 -5
  182. data/rbi/lib/modern_treasury/models/async_response.rbi +4 -14
  183. data/rbi/lib/modern_treasury/models/bank_settings.rbi +22 -62
  184. data/rbi/lib/modern_treasury/models/bulk_request.rbi +69 -102
  185. data/rbi/lib/modern_treasury/models/bulk_request_create_params.rbi +4011 -2385
  186. data/rbi/lib/modern_treasury/models/bulk_request_list_params.rbi +73 -62
  187. data/rbi/lib/modern_treasury/models/bulk_request_retrieve_params.rbi +5 -2
  188. data/rbi/lib/modern_treasury/models/bulk_result.rbi +104 -183
  189. data/rbi/lib/modern_treasury/models/bulk_result_list_params.rbi +78 -66
  190. data/rbi/lib/modern_treasury/models/bulk_result_retrieve_params.rbi +5 -2
  191. data/rbi/lib/modern_treasury/models/client_ping_params.rbi +5 -2
  192. data/rbi/lib/modern_treasury/models/connection.rbi +16 -56
  193. data/rbi/lib/modern_treasury/models/connection_legal_entity.rbi +33 -72
  194. data/rbi/lib/modern_treasury/models/connection_legal_entity_create_params.rbi +1090 -645
  195. data/rbi/lib/modern_treasury/models/connection_legal_entity_list_params.rbi +33 -39
  196. data/rbi/lib/modern_treasury/models/connection_legal_entity_retrieve_params.rbi +5 -2
  197. data/rbi/lib/modern_treasury/models/connection_legal_entity_update_params.rbi +31 -15
  198. data/rbi/lib/modern_treasury/models/connection_list_params.rbi +15 -30
  199. data/rbi/lib/modern_treasury/models/counterparty.rbi +247 -354
  200. data/rbi/lib/modern_treasury/models/counterparty_collect_account_params.rbi +115 -62
  201. data/rbi/lib/modern_treasury/models/counterparty_collect_account_response.rbi +12 -20
  202. data/rbi/lib/modern_treasury/models/counterparty_create_params.rbi +1877 -1038
  203. data/rbi/lib/modern_treasury/models/counterparty_delete_params.rbi +5 -2
  204. data/rbi/lib/modern_treasury/models/counterparty_list_params.rbi +35 -44
  205. data/rbi/lib/modern_treasury/models/counterparty_retrieve_params.rbi +5 -2
  206. data/rbi/lib/modern_treasury/models/counterparty_update_params.rbi +27 -34
  207. data/rbi/lib/modern_treasury/models/currency.rbi +196 -192
  208. data/rbi/lib/modern_treasury/models/document.rbi +83 -165
  209. data/rbi/lib/modern_treasury/models/document_create_params.rbi +48 -44
  210. data/rbi/lib/modern_treasury/models/document_list_params.rbi +56 -48
  211. data/rbi/lib/modern_treasury/models/document_retrieve_params.rbi +5 -2
  212. data/rbi/lib/modern_treasury/models/event.rbi +19 -73
  213. data/rbi/lib/modern_treasury/models/event_list_params.rbi +24 -39
  214. data/rbi/lib/modern_treasury/models/event_retrieve_params.rbi +5 -2
  215. data/rbi/lib/modern_treasury/models/expected_payment.rbi +116 -194
  216. data/rbi/lib/modern_treasury/models/expected_payment_create_params.rbi +313 -288
  217. data/rbi/lib/modern_treasury/models/expected_payment_delete_params.rbi +5 -2
  218. data/rbi/lib/modern_treasury/models/expected_payment_list_params.rbi +108 -105
  219. data/rbi/lib/modern_treasury/models/expected_payment_retrieve_params.rbi +5 -2
  220. data/rbi/lib/modern_treasury/models/expected_payment_type.rbi +38 -33
  221. data/rbi/lib/modern_treasury/models/expected_payment_update_params.rbi +87 -129
  222. data/rbi/lib/modern_treasury/models/external_account.rbi +150 -285
  223. data/rbi/lib/modern_treasury/models/external_account_complete_verification_params.rbi +6 -8
  224. data/rbi/lib/modern_treasury/models/external_account_create_params.rbi +670 -322
  225. data/rbi/lib/modern_treasury/models/external_account_delete_params.rbi +5 -2
  226. data/rbi/lib/modern_treasury/models/external_account_list_params.rbi +20 -29
  227. data/rbi/lib/modern_treasury/models/external_account_retrieve_params.rbi +5 -2
  228. data/rbi/lib/modern_treasury/models/external_account_type.rbi +15 -11
  229. data/rbi/lib/modern_treasury/models/external_account_update_params.rbi +59 -92
  230. data/rbi/lib/modern_treasury/models/external_account_verify_params.rbi +106 -86
  231. data/rbi/lib/modern_treasury/models/external_account_verify_response.rbi +304 -121
  232. data/rbi/lib/modern_treasury/models/foreign_exchange_quote.rbi +61 -132
  233. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_create_params.rbi +31 -41
  234. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_list_params.rbi +37 -49
  235. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_retrieve_params.rbi +5 -2
  236. data/rbi/lib/modern_treasury/models/incoming_payment_detail.rbi +272 -228
  237. data/rbi/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rbi +79 -75
  238. data/rbi/lib/modern_treasury/models/incoming_payment_detail_list_params.rbi +85 -76
  239. data/rbi/lib/modern_treasury/models/incoming_payment_detail_retrieve_params.rbi +5 -2
  240. data/rbi/lib/modern_treasury/models/incoming_payment_detail_update_params.rbi +8 -8
  241. data/rbi/lib/modern_treasury/models/internal_account.rbi +106 -218
  242. data/rbi/lib/modern_treasury/models/internal_account_create_params.rbi +67 -99
  243. data/rbi/lib/modern_treasury/models/internal_account_list_params.rbi +87 -88
  244. data/rbi/lib/modern_treasury/models/internal_account_retrieve_params.rbi +5 -2
  245. data/rbi/lib/modern_treasury/models/internal_account_update_params.rbi +24 -28
  246. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report.rbi +156 -181
  247. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_create_params.rbi +159 -88
  248. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_delete_params.rbi +4 -9
  249. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_list_params.rbi +66 -38
  250. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbi +4 -9
  251. data/rbi/lib/modern_treasury/models/invoice.rbi +239 -441
  252. data/rbi/lib/modern_treasury/models/invoice_add_payment_order_params.rbi +4 -9
  253. data/rbi/lib/modern_treasury/models/invoice_create_params.rbi +292 -378
  254. data/rbi/lib/modern_treasury/models/invoice_list_params.rbi +57 -71
  255. data/rbi/lib/modern_treasury/models/invoice_retrieve_params.rbi +5 -2
  256. data/rbi/lib/modern_treasury/models/invoice_update_params.rbi +300 -374
  257. data/rbi/lib/modern_treasury/models/invoices/invoice_line_item.rbi +35 -82
  258. data/rbi/lib/modern_treasury/models/invoices/line_item_create_params.rbi +34 -40
  259. data/rbi/lib/modern_treasury/models/invoices/line_item_delete_params.rbi +4 -9
  260. data/rbi/lib/modern_treasury/models/invoices/line_item_list_params.rbi +7 -14
  261. data/rbi/lib/modern_treasury/models/invoices/line_item_retrieve_params.rbi +4 -9
  262. data/rbi/lib/modern_treasury/models/invoices/line_item_update_params.rbi +39 -44
  263. data/rbi/lib/modern_treasury/models/ledger.rbi +17 -66
  264. data/rbi/lib/modern_treasury/models/ledger_account.rbi +136 -237
  265. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor.rbi +150 -236
  266. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_create_params.rbi +42 -52
  267. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_delete_params.rbi +5 -2
  268. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_list_params.rbi +22 -36
  269. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_retrieve_params.rbi +5 -2
  270. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_update_params.rbi +12 -13
  271. data/rbi/lib/modern_treasury/models/ledger_account_category.rbi +121 -197
  272. data/rbi/lib/modern_treasury/models/ledger_account_category_add_ledger_account_params.rbi +4 -9
  273. data/rbi/lib/modern_treasury/models/ledger_account_category_add_nested_category_params.rbi +4 -9
  274. data/rbi/lib/modern_treasury/models/ledger_account_category_create_params.rbi +28 -52
  275. data/rbi/lib/modern_treasury/models/ledger_account_category_delete_params.rbi +5 -2
  276. data/rbi/lib/modern_treasury/models/ledger_account_category_list_params.rbi +54 -63
  277. data/rbi/lib/modern_treasury/models/ledger_account_category_remove_ledger_account_params.rbi +4 -9
  278. data/rbi/lib/modern_treasury/models/ledger_account_category_remove_nested_category_params.rbi +4 -9
  279. data/rbi/lib/modern_treasury/models/ledger_account_category_retrieve_params.rbi +30 -22
  280. data/rbi/lib/modern_treasury/models/ledger_account_category_update_params.rbi +14 -19
  281. data/rbi/lib/modern_treasury/models/ledger_account_create_params.rbi +65 -74
  282. data/rbi/lib/modern_treasury/models/ledger_account_delete_params.rbi +5 -2
  283. data/rbi/lib/modern_treasury/models/ledger_account_list_params.rbi +183 -205
  284. data/rbi/lib/modern_treasury/models/ledger_account_retrieve_params.rbi +39 -37
  285. data/rbi/lib/modern_treasury/models/ledger_account_settlement.rbi +57 -116
  286. data/rbi/lib/modern_treasury/models/ledger_account_settlement_create_params.rbi +50 -58
  287. data/rbi/lib/modern_treasury/models/ledger_account_settlement_list_params.rbi +42 -54
  288. data/rbi/lib/modern_treasury/models/ledger_account_settlement_retrieve_params.rbi +5 -2
  289. data/rbi/lib/modern_treasury/models/ledger_account_settlement_update_params.rbi +35 -27
  290. data/rbi/lib/modern_treasury/models/ledger_account_settlements/account_entry_delete_params.rbi +6 -9
  291. data/rbi/lib/modern_treasury/models/ledger_account_settlements/account_entry_update_params.rbi +6 -9
  292. data/rbi/lib/modern_treasury/models/ledger_account_statement_create_params.rbi +19 -32
  293. data/rbi/lib/modern_treasury/models/ledger_account_statement_create_response.rbi +238 -335
  294. data/rbi/lib/modern_treasury/models/ledger_account_statement_retrieve_params.rbi +5 -2
  295. data/rbi/lib/modern_treasury/models/ledger_account_statement_retrieve_response.rbi +236 -335
  296. data/rbi/lib/modern_treasury/models/ledger_account_update_params.rbi +14 -19
  297. data/rbi/lib/modern_treasury/models/ledger_create_params.rbi +12 -20
  298. data/rbi/lib/modern_treasury/models/ledger_delete_params.rbi +5 -2
  299. data/rbi/lib/modern_treasury/models/ledger_entry.rbi +161 -232
  300. data/rbi/lib/modern_treasury/models/ledger_entry_list_params.rbi +170 -143
  301. data/rbi/lib/modern_treasury/models/ledger_entry_retrieve_params.rbi +8 -8
  302. data/rbi/lib/modern_treasury/models/ledger_entry_update_params.rbi +8 -8
  303. data/rbi/lib/modern_treasury/models/ledger_event_handler.rbi +77 -155
  304. data/rbi/lib/modern_treasury/models/ledger_event_handler_create_params.rbi +76 -123
  305. data/rbi/lib/modern_treasury/models/ledger_event_handler_delete_params.rbi +5 -2
  306. data/rbi/lib/modern_treasury/models/ledger_event_handler_list_params.rbi +22 -36
  307. data/rbi/lib/modern_treasury/models/ledger_event_handler_retrieve_params.rbi +5 -2
  308. data/rbi/lib/modern_treasury/models/ledger_event_handler_variable.rbi +24 -33
  309. data/rbi/lib/modern_treasury/models/ledger_list_params.rbi +24 -36
  310. data/rbi/lib/modern_treasury/models/ledger_retrieve_params.rbi +5 -2
  311. data/rbi/lib/modern_treasury/models/ledger_transaction.rbi +86 -143
  312. data/rbi/lib/modern_treasury/models/ledger_transaction_create_params.rbi +138 -133
  313. data/rbi/lib/modern_treasury/models/ledger_transaction_create_partial_post_params.rbi +88 -67
  314. data/rbi/lib/modern_treasury/models/ledger_transaction_create_reversal_params.rbi +113 -58
  315. data/rbi/lib/modern_treasury/models/ledger_transaction_list_params.rbi +188 -147
  316. data/rbi/lib/modern_treasury/models/ledger_transaction_retrieve_params.rbi +5 -2
  317. data/rbi/lib/modern_treasury/models/ledger_transaction_update_params.rbi +133 -120
  318. data/rbi/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbi +328 -378
  319. data/rbi/lib/modern_treasury/models/ledger_transactions/version_list_params.rbi +28 -34
  320. data/rbi/lib/modern_treasury/models/ledger_update_params.rbi +14 -19
  321. data/rbi/lib/modern_treasury/models/ledgerable_event.rbi +20 -62
  322. data/rbi/lib/modern_treasury/models/ledgerable_event_create_params.rbi +14 -26
  323. data/rbi/lib/modern_treasury/models/ledgerable_event_retrieve_params.rbi +5 -2
  324. data/rbi/lib/modern_treasury/models/legal_entity.rbi +211 -416
  325. data/rbi/lib/modern_treasury/models/legal_entity_association.rbi +468 -479
  326. data/rbi/lib/modern_treasury/models/legal_entity_association_create_params.rbi +567 -324
  327. data/rbi/lib/modern_treasury/models/legal_entity_create_params.rbi +854 -608
  328. data/rbi/lib/modern_treasury/models/legal_entity_list_params.rbi +33 -37
  329. data/rbi/lib/modern_treasury/models/legal_entity_retrieve_params.rbi +5 -2
  330. data/rbi/lib/modern_treasury/models/legal_entity_update_params.rbi +252 -267
  331. data/rbi/lib/modern_treasury/models/line_item.rbi +54 -105
  332. data/rbi/lib/modern_treasury/models/line_item_list_params.rbi +22 -28
  333. data/rbi/lib/modern_treasury/models/line_item_retrieve_params.rbi +26 -27
  334. data/rbi/lib/modern_treasury/models/line_item_update_params.rbi +25 -28
  335. data/rbi/lib/modern_treasury/models/paper_item.rbi +53 -122
  336. data/rbi/lib/modern_treasury/models/paper_item_list_params.rbi +20 -29
  337. data/rbi/lib/modern_treasury/models/paper_item_retrieve_params.rbi +5 -2
  338. data/rbi/lib/modern_treasury/models/payment_flow.rbi +141 -136
  339. data/rbi/lib/modern_treasury/models/payment_flow_create_params.rbi +36 -46
  340. data/rbi/lib/modern_treasury/models/payment_flow_list_params.rbi +25 -44
  341. data/rbi/lib/modern_treasury/models/payment_flow_retrieve_params.rbi +5 -2
  342. data/rbi/lib/modern_treasury/models/payment_flow_update_params.rbi +27 -16
  343. data/rbi/lib/modern_treasury/models/payment_order.rbi +732 -614
  344. data/rbi/lib/modern_treasury/models/payment_order_create_async_params.rbi +1297 -744
  345. data/rbi/lib/modern_treasury/models/payment_order_create_params.rbi +1346 -801
  346. data/rbi/lib/modern_treasury/models/payment_order_list_params.rbi +150 -157
  347. data/rbi/lib/modern_treasury/models/payment_order_retrieve_params.rbi +5 -2
  348. data/rbi/lib/modern_treasury/models/payment_order_subtype.rbi +39 -32
  349. data/rbi/lib/modern_treasury/models/payment_order_type.rbi +39 -33
  350. data/rbi/lib/modern_treasury/models/payment_order_update_params.rbi +1104 -632
  351. data/rbi/lib/modern_treasury/models/payment_orders/reversal.rbi +58 -91
  352. data/rbi/lib/modern_treasury/models/payment_orders/reversal_create_params.rbi +274 -172
  353. data/rbi/lib/modern_treasury/models/payment_orders/reversal_list_params.rbi +7 -14
  354. data/rbi/lib/modern_treasury/models/payment_orders/reversal_retrieve_params.rbi +4 -9
  355. data/rbi/lib/modern_treasury/models/payment_reference.rbi +298 -144
  356. data/rbi/lib/modern_treasury/models/payment_reference_list_params.rbi +49 -39
  357. data/rbi/lib/modern_treasury/models/payment_reference_retireve_params.rbi +5 -2
  358. data/rbi/lib/modern_treasury/models/payment_reference_retrieve_params.rbi +5 -2
  359. data/rbi/lib/modern_treasury/models/ping_response.rbi +3 -8
  360. data/rbi/lib/modern_treasury/models/reconciliation_rule.rbi +88 -110
  361. data/rbi/lib/modern_treasury/models/return_create_params.rbi +98 -107
  362. data/rbi/lib/modern_treasury/models/return_list_params.rbi +45 -45
  363. data/rbi/lib/modern_treasury/models/return_object.rbi +575 -393
  364. data/rbi/lib/modern_treasury/models/return_retrieve_params.rbi +5 -2
  365. data/rbi/lib/modern_treasury/models/routing_detail.rbi +140 -204
  366. data/rbi/lib/modern_treasury/models/routing_detail_create_params.rbi +159 -107
  367. data/rbi/lib/modern_treasury/models/routing_detail_delete_params.rbi +24 -26
  368. data/rbi/lib/modern_treasury/models/routing_detail_list_params.rbi +11 -23
  369. data/rbi/lib/modern_treasury/models/routing_detail_retrieve_params.rbi +14 -22
  370. data/rbi/lib/modern_treasury/models/routing_number_lookup_request.rbi +182 -122
  371. data/rbi/lib/modern_treasury/models/transaction.rbi +193 -287
  372. data/rbi/lib/modern_treasury/models/transaction_create_params.rbi +80 -100
  373. data/rbi/lib/modern_treasury/models/transaction_delete_params.rbi +5 -2
  374. data/rbi/lib/modern_treasury/models/transaction_direction.rbi +8 -5
  375. data/rbi/lib/modern_treasury/models/transaction_list_params.rbi +56 -74
  376. data/rbi/lib/modern_treasury/models/transaction_retrieve_params.rbi +5 -2
  377. data/rbi/lib/modern_treasury/models/transaction_update_params.rbi +8 -8
  378. data/rbi/lib/modern_treasury/models/transactions/line_item_create_params.rbi +10 -21
  379. data/rbi/lib/modern_treasury/models/transactions/line_item_delete_params.rbi +3 -2
  380. data/rbi/lib/modern_treasury/models/transactions/line_item_list_params.rbi +29 -45
  381. data/rbi/lib/modern_treasury/models/transactions/line_item_retrieve_params.rbi +3 -2
  382. data/rbi/lib/modern_treasury/models/transactions/transaction_line_item.rbi +104 -113
  383. data/rbi/lib/modern_treasury/models/validation_validate_routing_number_params.rbi +140 -42
  384. data/rbi/lib/modern_treasury/models/virtual_account.rbi +39 -106
  385. data/rbi/lib/modern_treasury/models/virtual_account_create_params.rbi +547 -247
  386. data/rbi/lib/modern_treasury/models/virtual_account_delete_params.rbi +5 -2
  387. data/rbi/lib/modern_treasury/models/virtual_account_list_params.rbi +19 -29
  388. data/rbi/lib/modern_treasury/models/virtual_account_retrieve_params.rbi +5 -2
  389. data/rbi/lib/modern_treasury/models/virtual_account_update_params.rbi +14 -30
  390. data/rbi/lib/modern_treasury/models/wealth_and_employment_details.rbi +288 -241
  391. data/rbi/lib/modern_treasury/page.rbi +6 -24
  392. data/rbi/lib/modern_treasury/pooled_net_requester.rbi +42 -39
  393. data/rbi/lib/modern_treasury/request_options.rbi +33 -54
  394. data/rbi/lib/modern_treasury/resources/account_collection_flows.rbi +32 -11
  395. data/rbi/lib/modern_treasury/resources/account_details.rbi +54 -15
  396. data/rbi/lib/modern_treasury/resources/bulk_requests.rbi +38 -12
  397. data/rbi/lib/modern_treasury/resources/bulk_results.rbi +22 -8
  398. data/rbi/lib/modern_treasury/resources/connection_legal_entities.rbi +37 -12
  399. data/rbi/lib/modern_treasury/resources/connections.rbi +13 -4
  400. data/rbi/lib/modern_treasury/resources/counterparties.rbi +78 -17
  401. data/rbi/lib/modern_treasury/resources/documents.rbi +28 -9
  402. data/rbi/lib/modern_treasury/resources/events.rbi +13 -5
  403. data/rbi/lib/modern_treasury/resources/expected_payments.rbi +113 -23
  404. data/rbi/lib/modern_treasury/resources/external_accounts.rbi +83 -26
  405. data/rbi/lib/modern_treasury/resources/foreign_exchange_quotes.rbi +32 -8
  406. data/rbi/lib/modern_treasury/resources/incoming_payment_details.rbi +53 -14
  407. data/rbi/lib/modern_treasury/resources/internal_accounts/balance_reports.rbi +40 -11
  408. data/rbi/lib/modern_treasury/resources/internal_accounts.rbi +47 -14
  409. data/rbi/lib/modern_treasury/resources/invoices/line_items.rbi +64 -10
  410. data/rbi/lib/modern_treasury/resources/invoices.rbi +173 -28
  411. data/rbi/lib/modern_treasury/resources/ledger_account_balance_monitors.rbi +54 -12
  412. data/rbi/lib/modern_treasury/resources/ledger_account_categories.rbi +101 -21
  413. data/rbi/lib/modern_treasury/resources/ledger_account_settlements/account_entries.rbi +22 -6
  414. data/rbi/lib/modern_treasury/resources/ledger_account_settlements.rbi +59 -12
  415. data/rbi/lib/modern_treasury/resources/ledger_account_statements.rbi +20 -5
  416. data/rbi/lib/modern_treasury/resources/ledger_accounts.rbi +93 -17
  417. data/rbi/lib/modern_treasury/resources/ledger_entries.rbi +61 -10
  418. data/rbi/lib/modern_treasury/resources/ledger_event_handlers.rbi +41 -11
  419. data/rbi/lib/modern_treasury/resources/ledger_transactions/versions.rbi +13 -3
  420. data/rbi/lib/modern_treasury/resources/ledger_transactions.rbi +113 -23
  421. data/rbi/lib/modern_treasury/resources/ledgerable_events.rbi +23 -6
  422. data/rbi/lib/modern_treasury/resources/ledgers.rbi +60 -12
  423. data/rbi/lib/modern_treasury/resources/legal_entities.rbi +83 -24
  424. data/rbi/lib/modern_treasury/resources/legal_entity_associations.rbi +15 -5
  425. data/rbi/lib/modern_treasury/resources/line_items.rbi +43 -11
  426. data/rbi/lib/modern_treasury/resources/paper_items.rbi +15 -5
  427. data/rbi/lib/modern_treasury/resources/payment_flows.rbi +36 -10
  428. data/rbi/lib/modern_treasury/resources/payment_orders/reversals.rbi +43 -10
  429. data/rbi/lib/modern_treasury/resources/payment_orders.rbi +336 -50
  430. data/rbi/lib/modern_treasury/resources/payment_references.rbi +17 -16
  431. data/rbi/lib/modern_treasury/resources/returns.rbi +33 -9
  432. data/rbi/lib/modern_treasury/resources/routing_details.rbi +51 -15
  433. data/rbi/lib/modern_treasury/resources/transactions/line_items.rbi +31 -10
  434. data/rbi/lib/modern_treasury/resources/transactions.rbi +63 -13
  435. data/rbi/lib/modern_treasury/resources/validations.rbi +16 -5
  436. data/rbi/lib/modern_treasury/resources/virtual_accounts.rbi +47 -12
  437. data/rbi/lib/modern_treasury/util.rbi +238 -92
  438. data/rbi/lib/modern_treasury/version.rbi +1 -1
  439. data/sig/modern_treasury/base_client.rbs +31 -23
  440. data/sig/modern_treasury/base_model.rbs +36 -20
  441. data/sig/modern_treasury/base_page.rbs +1 -1
  442. data/sig/modern_treasury/client.rbs +12 -8
  443. data/sig/modern_treasury/errors.rbs +22 -21
  444. data/sig/modern_treasury/models/account_collection_flow.rbs +25 -24
  445. data/sig/modern_treasury/models/account_collection_flow_create_params.rbs +10 -13
  446. data/sig/modern_treasury/models/account_collection_flow_list_params.rbs +9 -14
  447. data/sig/modern_treasury/models/account_collection_flow_retrieve_params.rbs +1 -6
  448. data/sig/modern_treasury/models/account_collection_flow_update_params.rbs +8 -11
  449. data/sig/modern_treasury/models/account_detail.rbs +15 -18
  450. data/sig/modern_treasury/models/account_detail_create_params.rbs +14 -15
  451. data/sig/modern_treasury/models/account_detail_delete_params.rbs +9 -12
  452. data/sig/modern_treasury/models/account_detail_list_params.rbs +6 -11
  453. data/sig/modern_treasury/models/account_detail_retrieve_params.rbs +5 -10
  454. data/sig/modern_treasury/models/accounts_type.rbs +4 -2
  455. data/sig/modern_treasury/models/async_response.rbs +1 -6
  456. data/sig/modern_treasury/models/bank_settings.rbs +12 -17
  457. data/sig/modern_treasury/models/bulk_request.rbs +26 -24
  458. data/sig/modern_treasury/models/bulk_request_create_params.rbs +492 -578
  459. data/sig/modern_treasury/models/bulk_request_list_params.rbs +21 -20
  460. data/sig/modern_treasury/models/bulk_request_retrieve_params.rbs +1 -6
  461. data/sig/modern_treasury/models/bulk_result.rbs +43 -45
  462. data/sig/modern_treasury/models/bulk_result_list_params.rbs +22 -21
  463. data/sig/modern_treasury/models/bulk_result_retrieve_params.rbs +1 -6
  464. data/sig/modern_treasury/models/client_ping_params.rbs +1 -6
  465. data/sig/modern_treasury/models/connection.rbs +11 -15
  466. data/sig/modern_treasury/models/connection_legal_entity.rbs +16 -19
  467. data/sig/modern_treasury/models/connection_legal_entity_create_params.rbs +138 -166
  468. data/sig/modern_treasury/models/connection_legal_entity_list_params.rbs +12 -15
  469. data/sig/modern_treasury/models/connection_legal_entity_retrieve_params.rbs +1 -6
  470. data/sig/modern_treasury/models/connection_legal_entity_update_params.rbs +8 -11
  471. data/sig/modern_treasury/models/connection_list_params.rbs +7 -12
  472. data/sig/modern_treasury/models/counterparty.rbs +78 -87
  473. data/sig/modern_treasury/models/counterparty_collect_account_params.rbs +11 -14
  474. data/sig/modern_treasury/models/counterparty_collect_account_response.rbs +1 -6
  475. data/sig/modern_treasury/models/counterparty_create_params.rbs +232 -277
  476. data/sig/modern_treasury/models/counterparty_delete_params.rbs +1 -6
  477. data/sig/modern_treasury/models/counterparty_list_params.rbs +11 -16
  478. data/sig/modern_treasury/models/counterparty_retrieve_params.rbs +1 -6
  479. data/sig/modern_treasury/models/counterparty_update_params.rbs +9 -14
  480. data/sig/modern_treasury/models/currency.rbs +4 -2
  481. data/sig/modern_treasury/models/document.rbs +33 -41
  482. data/sig/modern_treasury/models/document_create_params.rbs +11 -14
  483. data/sig/modern_treasury/models/document_list_params.rbs +11 -14
  484. data/sig/modern_treasury/models/document_retrieve_params.rbs +1 -6
  485. data/sig/modern_treasury/models/event.rbs +12 -16
  486. data/sig/modern_treasury/models/event_list_params.rbs +10 -15
  487. data/sig/modern_treasury/models/event_retrieve_params.rbs +1 -6
  488. data/sig/modern_treasury/models/expected_payment.rbs +40 -39
  489. data/sig/modern_treasury/models/expected_payment_create_params.rbs +62 -76
  490. data/sig/modern_treasury/models/expected_payment_delete_params.rbs +1 -6
  491. data/sig/modern_treasury/models/expected_payment_list_params.rbs +21 -22
  492. data/sig/modern_treasury/models/expected_payment_retrieve_params.rbs +1 -6
  493. data/sig/modern_treasury/models/expected_payment_type.rbs +4 -2
  494. data/sig/modern_treasury/models/expected_payment_update_params.rbs +28 -29
  495. data/sig/modern_treasury/models/external_account.rbs +60 -67
  496. data/sig/modern_treasury/models/external_account_complete_verification_params.rbs +4 -9
  497. data/sig/modern_treasury/models/external_account_create_params.rbs +73 -91
  498. data/sig/modern_treasury/models/external_account_delete_params.rbs +1 -6
  499. data/sig/modern_treasury/models/external_account_list_params.rbs +8 -13
  500. data/sig/modern_treasury/models/external_account_retrieve_params.rbs +1 -6
  501. data/sig/modern_treasury/models/external_account_type.rbs +4 -2
  502. data/sig/modern_treasury/models/external_account_update_params.rbs +22 -30
  503. data/sig/modern_treasury/models/external_account_verify_params.rbs +20 -19
  504. data/sig/modern_treasury/models/external_account_verify_response.rbs +28 -25
  505. data/sig/modern_treasury/models/foreign_exchange_quote.rbs +23 -33
  506. data/sig/modern_treasury/models/foreign_exchange_quote_create_params.rbs +9 -14
  507. data/sig/modern_treasury/models/foreign_exchange_quote_list_params.rbs +12 -17
  508. data/sig/modern_treasury/models/foreign_exchange_quote_retrieve_params.rbs +1 -6
  509. data/sig/modern_treasury/models/incoming_payment_detail.rbs +43 -40
  510. data/sig/modern_treasury/models/incoming_payment_detail_create_async_params.rbs +19 -20
  511. data/sig/modern_treasury/models/incoming_payment_detail_list_params.rbs +20 -21
  512. data/sig/modern_treasury/models/incoming_payment_detail_retrieve_params.rbs +1 -6
  513. data/sig/modern_treasury/models/incoming_payment_detail_update_params.rbs +4 -9
  514. data/sig/modern_treasury/models/internal_account.rbs +42 -48
  515. data/sig/modern_treasury/models/internal_account_create_params.rbs +24 -32
  516. data/sig/modern_treasury/models/internal_account_list_params.rbs +15 -18
  517. data/sig/modern_treasury/models/internal_account_retrieve_params.rbs +1 -6
  518. data/sig/modern_treasury/models/internal_account_update_params.rbs +8 -13
  519. data/sig/modern_treasury/models/internal_accounts/balance_report.rbs +39 -45
  520. data/sig/modern_treasury/models/internal_accounts/balance_report_create_params.rbs +21 -27
  521. data/sig/modern_treasury/models/internal_accounts/balance_report_delete_params.rbs +4 -9
  522. data/sig/modern_treasury/models/internal_accounts/balance_report_list_params.rbs +11 -14
  523. data/sig/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbs +4 -9
  524. data/sig/modern_treasury/models/invoice.rbs +89 -105
  525. data/sig/modern_treasury/models/invoice_add_payment_order_params.rbs +4 -6
  526. data/sig/modern_treasury/models/invoice_create_params.rbs +79 -105
  527. data/sig/modern_treasury/models/invoice_list_params.rbs +18 -21
  528. data/sig/modern_treasury/models/invoice_retrieve_params.rbs +1 -6
  529. data/sig/modern_treasury/models/invoice_update_params.rbs +79 -105
  530. data/sig/modern_treasury/models/invoices/invoice_line_item.rbs +15 -21
  531. data/sig/modern_treasury/models/invoices/line_item_create_params.rbs +10 -15
  532. data/sig/modern_treasury/models/invoices/line_item_delete_params.rbs +4 -9
  533. data/sig/modern_treasury/models/invoices/line_item_list_params.rbs +5 -10
  534. data/sig/modern_treasury/models/invoices/line_item_retrieve_params.rbs +4 -9
  535. data/sig/modern_treasury/models/invoices/line_item_update_params.rbs +11 -16
  536. data/sig/modern_treasury/models/ledger.rbs +11 -15
  537. data/sig/modern_treasury/models/ledger_account.rbs +49 -72
  538. data/sig/modern_treasury/models/ledger_account_balance_monitor.rbs +49 -80
  539. data/sig/modern_treasury/models/ledger_account_balance_monitor_create_params.rbs +12 -18
  540. data/sig/modern_treasury/models/ledger_account_balance_monitor_delete_params.rbs +1 -6
  541. data/sig/modern_treasury/models/ledger_account_balance_monitor_list_params.rbs +8 -13
  542. data/sig/modern_treasury/models/ledger_account_balance_monitor_retrieve_params.rbs +1 -6
  543. data/sig/modern_treasury/models/ledger_account_balance_monitor_update_params.rbs +5 -10
  544. data/sig/modern_treasury/models/ledger_account_category.rbs +40 -65
  545. data/sig/modern_treasury/models/ledger_account_category_add_ledger_account_params.rbs +4 -6
  546. data/sig/modern_treasury/models/ledger_account_category_add_nested_category_params.rbs +4 -6
  547. data/sig/modern_treasury/models/ledger_account_category_create_params.rbs +11 -16
  548. data/sig/modern_treasury/models/ledger_account_category_delete_params.rbs +1 -6
  549. data/sig/modern_treasury/models/ledger_account_category_list_params.rbs +14 -24
  550. data/sig/modern_treasury/models/ledger_account_category_remove_ledger_account_params.rbs +4 -6
  551. data/sig/modern_treasury/models/ledger_account_category_remove_nested_category_params.rbs +4 -6
  552. data/sig/modern_treasury/models/ledger_account_category_retrieve_params.rbs +5 -15
  553. data/sig/modern_treasury/models/ledger_account_category_update_params.rbs +6 -11
  554. data/sig/modern_treasury/models/ledger_account_create_params.rbs +17 -20
  555. data/sig/modern_treasury/models/ledger_account_delete_params.rbs +1 -6
  556. data/sig/modern_treasury/models/ledger_account_list_params.rbs +47 -72
  557. data/sig/modern_treasury/models/ledger_account_retrieve_params.rbs +11 -21
  558. data/sig/modern_treasury/models/ledger_account_settlement.rbs +23 -26
  559. data/sig/modern_treasury/models/ledger_account_settlement_create_params.rbs +15 -18
  560. data/sig/modern_treasury/models/ledger_account_settlement_list_params.rbs +13 -18
  561. data/sig/modern_treasury/models/ledger_account_settlement_retrieve_params.rbs +1 -6
  562. data/sig/modern_treasury/models/ledger_account_settlement_update_params.rbs +10 -13
  563. data/sig/modern_treasury/models/ledger_account_settlements/account_entry_delete_params.rbs +4 -9
  564. data/sig/modern_treasury/models/ledger_account_settlements/account_entry_update_params.rbs +4 -9
  565. data/sig/modern_treasury/models/ledger_account_statement_create_params.rbs +8 -13
  566. data/sig/modern_treasury/models/ledger_account_statement_create_response.rbs +69 -114
  567. data/sig/modern_treasury/models/ledger_account_statement_retrieve_params.rbs +1 -6
  568. data/sig/modern_treasury/models/ledger_account_statement_retrieve_response.rbs +69 -114
  569. data/sig/modern_treasury/models/ledger_account_update_params.rbs +6 -11
  570. data/sig/modern_treasury/models/ledger_create_params.rbs +6 -11
  571. data/sig/modern_treasury/models/ledger_delete_params.rbs +1 -6
  572. data/sig/modern_treasury/models/ledger_entry.rbs +48 -70
  573. data/sig/modern_treasury/models/ledger_entry_list_params.rbs +39 -43
  574. data/sig/modern_treasury/models/ledger_entry_retrieve_params.rbs +4 -9
  575. data/sig/modern_treasury/models/ledger_entry_update_params.rbs +4 -9
  576. data/sig/modern_treasury/models/ledger_event_handler.rbs +27 -47
  577. data/sig/modern_treasury/models/ledger_event_handler_create_params.rbs +22 -42
  578. data/sig/modern_treasury/models/ledger_event_handler_delete_params.rbs +1 -6
  579. data/sig/modern_treasury/models/ledger_event_handler_list_params.rbs +8 -13
  580. data/sig/modern_treasury/models/ledger_event_handler_retrieve_params.rbs +1 -6
  581. data/sig/modern_treasury/models/ledger_event_handler_variable.rbs +5 -15
  582. data/sig/modern_treasury/models/ledger_list_params.rbs +8 -13
  583. data/sig/modern_treasury/models/ledger_retrieve_params.rbs +1 -6
  584. data/sig/modern_treasury/models/ledger_transaction.rbs +29 -30
  585. data/sig/modern_treasury/models/ledger_transaction_create_params.rbs +31 -37
  586. data/sig/modern_treasury/models/ledger_transaction_create_partial_post_params.rbs +17 -25
  587. data/sig/modern_treasury/models/ledger_transaction_create_reversal_params.rbs +18 -19
  588. data/sig/modern_treasury/models/ledger_transaction_list_params.rbs +42 -44
  589. data/sig/modern_treasury/models/ledger_transaction_retrieve_params.rbs +1 -6
  590. data/sig/modern_treasury/models/ledger_transaction_update_params.rbs +29 -35
  591. data/sig/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbs +76 -101
  592. data/sig/modern_treasury/models/ledger_transactions/version_list_params.rbs +9 -14
  593. data/sig/modern_treasury/models/ledger_update_params.rbs +6 -11
  594. data/sig/modern_treasury/models/ledgerable_event.rbs +12 -17
  595. data/sig/modern_treasury/models/ledgerable_event_create_params.rbs +7 -12
  596. data/sig/modern_treasury/models/ledgerable_event_retrieve_params.rbs +1 -6
  597. data/sig/modern_treasury/models/legal_entity.rbs +78 -87
  598. data/sig/modern_treasury/models/legal_entity_association.rbs +94 -107
  599. data/sig/modern_treasury/models/legal_entity_association_create_params.rbs +73 -86
  600. data/sig/modern_treasury/models/legal_entity_create_params.rbs +133 -156
  601. data/sig/modern_treasury/models/legal_entity_list_params.rbs +12 -15
  602. data/sig/modern_treasury/models/legal_entity_retrieve_params.rbs +1 -6
  603. data/sig/modern_treasury/models/legal_entity_update_params.rbs +56 -68
  604. data/sig/modern_treasury/models/line_item.rbs +20 -27
  605. data/sig/modern_treasury/models/line_item_list_params.rbs +10 -13
  606. data/sig/modern_treasury/models/line_item_retrieve_params.rbs +9 -12
  607. data/sig/modern_treasury/models/line_item_update_params.rbs +10 -13
  608. data/sig/modern_treasury/models/paper_item.rbs +24 -26
  609. data/sig/modern_treasury/models/paper_item_list_params.rbs +8 -13
  610. data/sig/modern_treasury/models/paper_item_retrieve_params.rbs +1 -6
  611. data/sig/modern_treasury/models/payment_flow.rbs +37 -33
  612. data/sig/modern_treasury/models/payment_flow_create_params.rbs +13 -16
  613. data/sig/modern_treasury/models/payment_flow_list_params.rbs +11 -16
  614. data/sig/modern_treasury/models/payment_flow_retrieve_params.rbs +1 -6
  615. data/sig/modern_treasury/models/payment_flow_update_params.rbs +8 -11
  616. data/sig/modern_treasury/models/payment_order.rbs +107 -109
  617. data/sig/modern_treasury/models/payment_order_create_async_params.rbs +166 -195
  618. data/sig/modern_treasury/models/payment_order_create_params.rbs +177 -209
  619. data/sig/modern_treasury/models/payment_order_list_params.rbs +32 -31
  620. data/sig/modern_treasury/models/payment_order_retrieve_params.rbs +1 -6
  621. data/sig/modern_treasury/models/payment_order_subtype.rbs +4 -2
  622. data/sig/modern_treasury/models/payment_order_type.rbs +4 -2
  623. data/sig/modern_treasury/models/payment_order_update_params.rbs +139 -160
  624. data/sig/modern_treasury/models/payment_orders/reversal.rbs +21 -22
  625. data/sig/modern_treasury/models/payment_orders/reversal_create_params.rbs +40 -49
  626. data/sig/modern_treasury/models/payment_orders/reversal_list_params.rbs +5 -10
  627. data/sig/modern_treasury/models/payment_orders/reversal_retrieve_params.rbs +4 -9
  628. data/sig/modern_treasury/models/payment_reference.rbs +19 -20
  629. data/sig/modern_treasury/models/payment_reference_list_params.rbs +12 -15
  630. data/sig/modern_treasury/models/payment_reference_retireve_params.rbs +1 -6
  631. data/sig/modern_treasury/models/payment_reference_retrieve_params.rbs +1 -6
  632. data/sig/modern_treasury/models/ping_response.rbs +1 -6
  633. data/sig/modern_treasury/models/reconciliation_rule.rbs +20 -21
  634. data/sig/modern_treasury/models/return_create_params.rbs +17 -18
  635. data/sig/modern_treasury/models/return_list_params.rbs +13 -16
  636. data/sig/modern_treasury/models/return_object.rbs +58 -56
  637. data/sig/modern_treasury/models/return_retrieve_params.rbs +1 -6
  638. data/sig/modern_treasury/models/routing_detail.rbs +34 -40
  639. data/sig/modern_treasury/models/routing_detail_create_params.rbs +19 -18
  640. data/sig/modern_treasury/models/routing_detail_delete_params.rbs +9 -12
  641. data/sig/modern_treasury/models/routing_detail_list_params.rbs +6 -11
  642. data/sig/modern_treasury/models/routing_detail_retrieve_params.rbs +5 -10
  643. data/sig/modern_treasury/models/routing_number_lookup_request.rbs +24 -30
  644. data/sig/modern_treasury/models/transaction.rbs +46 -51
  645. data/sig/modern_treasury/models/transaction_create_params.rbs +17 -20
  646. data/sig/modern_treasury/models/transaction_delete_params.rbs +1 -6
  647. data/sig/modern_treasury/models/transaction_direction.rbs +4 -2
  648. data/sig/modern_treasury/models/transaction_list_params.rbs +17 -22
  649. data/sig/modern_treasury/models/transaction_retrieve_params.rbs +1 -6
  650. data/sig/modern_treasury/models/transaction_update_params.rbs +4 -9
  651. data/sig/modern_treasury/models/transactions/line_item_create_params.rbs +6 -11
  652. data/sig/modern_treasury/models/transactions/line_item_delete_params.rbs +1 -6
  653. data/sig/modern_treasury/models/transactions/line_item_list_params.rbs +12 -15
  654. data/sig/modern_treasury/models/transactions/line_item_retrieve_params.rbs +1 -6
  655. data/sig/modern_treasury/models/transactions/transaction_line_item.rbs +25 -27
  656. data/sig/modern_treasury/models/validation_validate_routing_number_params.rbs +9 -12
  657. data/sig/modern_treasury/models/virtual_account.rbs +18 -23
  658. data/sig/modern_treasury/models/virtual_account_create_params.rbs +50 -62
  659. data/sig/modern_treasury/models/virtual_account_delete_params.rbs +1 -6
  660. data/sig/modern_treasury/models/virtual_account_list_params.rbs +8 -13
  661. data/sig/modern_treasury/models/virtual_account_retrieve_params.rbs +1 -6
  662. data/sig/modern_treasury/models/virtual_account_update_params.rbs +7 -12
  663. data/sig/modern_treasury/models/wealth_and_employment_details.rbs +44 -37
  664. data/sig/modern_treasury/page.rbs +2 -7
  665. data/sig/modern_treasury/pooled_net_requester.rbs +11 -16
  666. data/sig/modern_treasury/request_options.rbs +6 -2
  667. data/sig/modern_treasury/resources/account_collection_flows.rbs +24 -46
  668. data/sig/modern_treasury/resources/account_details.rbs +26 -50
  669. data/sig/modern_treasury/resources/bulk_requests.rbs +20 -36
  670. data/sig/modern_treasury/resources/bulk_results.rbs +14 -25
  671. data/sig/modern_treasury/resources/connection_legal_entities.rbs +23 -45
  672. data/sig/modern_treasury/resources/connections.rbs +7 -12
  673. data/sig/modern_treasury/resources/counterparties.rbs +51 -82
  674. data/sig/modern_treasury/resources/documents.rbs +18 -34
  675. data/sig/modern_treasury/resources/events.rbs +14 -24
  676. data/sig/modern_treasury/resources/expected_payments.rbs +64 -92
  677. data/sig/modern_treasury/resources/external_accounts.rbs +57 -94
  678. data/sig/modern_treasury/resources/foreign_exchange_quotes.rbs +25 -41
  679. data/sig/modern_treasury/resources/incoming_payment_details.rbs +32 -54
  680. data/sig/modern_treasury/resources/internal_accounts/balance_reports.rbs +26 -50
  681. data/sig/modern_treasury/resources/internal_accounts.rbs +36 -58
  682. data/sig/modern_treasury/resources/invoices/line_items.rbs +39 -69
  683. data/sig/modern_treasury/resources/invoices.rbs +80 -108
  684. data/sig/modern_treasury/resources/ledger_account_balance_monitors.rbs +29 -57
  685. data/sig/modern_treasury/resources/ledger_account_categories.rbs +60 -112
  686. data/sig/modern_treasury/resources/ledger_account_settlements/account_entries.rbs +10 -22
  687. data/sig/modern_treasury/resources/ledger_account_settlements.rbs +35 -57
  688. data/sig/modern_treasury/resources/ledger_account_statements.rbs +12 -23
  689. data/sig/modern_treasury/resources/ledger_accounts.rbs +46 -74
  690. data/sig/modern_treasury/resources/ledger_entries.rbs +33 -50
  691. data/sig/modern_treasury/resources/ledger_event_handlers.rbs +26 -48
  692. data/sig/modern_treasury/resources/ledger_transactions/versions.rbs +9 -14
  693. data/sig/modern_treasury/resources/ledger_transactions.rbs +68 -102
  694. data/sig/modern_treasury/resources/ledgerable_events.rbs +11 -22
  695. data/sig/modern_treasury/resources/ledgers.rbs +29 -56
  696. data/sig/modern_treasury/resources/legal_entities.rbs +65 -87
  697. data/sig/modern_treasury/resources/legal_entity_associations.rbs +9 -14
  698. data/sig/modern_treasury/resources/line_items.rbs +20 -38
  699. data/sig/modern_treasury/resources/paper_items.rbs +12 -23
  700. data/sig/modern_treasury/resources/payment_flows.rbs +29 -51
  701. data/sig/modern_treasury/resources/payment_orders/reversals.rbs +18 -36
  702. data/sig/modern_treasury/resources/payment_orders.rbs +139 -166
  703. data/sig/modern_treasury/resources/payment_references.rbs +13 -33
  704. data/sig/modern_treasury/resources/returns.rbs +22 -37
  705. data/sig/modern_treasury/resources/routing_details.rbs +27 -51
  706. data/sig/modern_treasury/resources/transactions/line_items.rbs +22 -41
  707. data/sig/modern_treasury/resources/transactions.rbs +43 -68
  708. data/sig/modern_treasury/resources/validations.rbs +5 -10
  709. data/sig/modern_treasury/resources/virtual_accounts.rbs +37 -65
  710. data/sig/modern_treasury/util.rbs +71 -26
  711. metadata +4 -4
@@ -3,126 +3,148 @@
3
3
  module ModernTreasury
4
4
  # rubocop:disable Metrics/ModuleLength
5
5
 
6
- # @private
7
- #
6
+ # @api private
8
7
  module Util
9
- # @private
8
+ # @api private
10
9
  #
11
- # @param input [Object]
12
- #
13
- # @return [Boolean, Object]
14
- #
15
- def self.primitive?(input)
16
- case input
17
- in true | false | Integer | Float | Symbol | String
18
- true
19
- else
20
- false
10
+ # @return [Float]
11
+ def self.monotonic_secs = Process.clock_gettime(Process::CLOCK_MONOTONIC)
12
+
13
+ class << self
14
+ # @api private
15
+ #
16
+ # @return [String]
17
+ def arch
18
+ case (arch = RbConfig::CONFIG["arch"])&.downcase
19
+ in nil
20
+ "unknown"
21
+ in /aarch64|arm64/
22
+ "arm64"
23
+ in /x86_64/
24
+ "x64"
25
+ in /arm/
26
+ "arm"
27
+ else
28
+ "other:#{arch}"
29
+ end
21
30
  end
22
- end
23
31
 
24
- # @private
25
- #
26
- # @param input [Object]
27
- #
28
- # @return [Boolean, Object]
29
- #
30
- def self.coerce_boolean(input)
31
- case input.is_a?(String) ? input.downcase : input
32
- in Numeric
33
- !input.zero?
34
- in "true"
35
- true
36
- in "false"
37
- false
38
- else
39
- input
32
+ # @api private
33
+ #
34
+ # @return [String]
35
+ def os
36
+ case (host = RbConfig::CONFIG["host_os"])&.downcase
37
+ in nil
38
+ "Unknown"
39
+ in /linux/
40
+ "Linux"
41
+ in /darwin/
42
+ "MacOS"
43
+ in /freebsd/
44
+ "FreeBSD"
45
+ in /openbsd/
46
+ "OpenBSD"
47
+ in /mswin|mingw|cygwin|ucrt/
48
+ "Windows"
49
+ else
50
+ "Other:#{host}"
51
+ end
40
52
  end
41
53
  end
42
54
 
43
- # @private
44
- #
45
- # @param input [Object]
46
- #
47
- # @raise [ArgumentError]
48
- # @return [Boolean, nil]
49
- #
50
- def self.coerce_boolean!(input)
51
- case coerce_boolean(input)
52
- in true | false | nil => coerced
53
- coerced
54
- else
55
- raise ArgumentError.new("Unable to coerce #{input.inspect} into boolean value")
55
+ class << self
56
+ # @api private
57
+ #
58
+ # @param input [Object]
59
+ #
60
+ # @return [Boolean]
61
+ def primitive?(input)
62
+ case input
63
+ in true | false | Integer | Float | Symbol | String
64
+ true
65
+ else
66
+ false
67
+ end
56
68
  end
57
- end
58
69
 
59
- # @private
60
- #
61
- # @param input [Object]
62
- #
63
- # @return [Integer, Object]
64
- #
65
- def self.coerce_integer(input)
66
- case input
67
- in true
68
- 1
69
- in false
70
- 0
71
- else
72
- Integer(input, exception: false) || input
70
+ # @api private
71
+ #
72
+ # @param input [Object]
73
+ #
74
+ # @return [Boolean, Object]
75
+ def coerce_boolean(input)
76
+ case input.is_a?(String) ? input.downcase : input
77
+ in Numeric
78
+ !input.zero?
79
+ in "true"
80
+ true
81
+ in "false"
82
+ false
83
+ else
84
+ input
85
+ end
73
86
  end
74
- end
75
87
 
76
- # @private
77
- #
78
- # @param input [Object]
79
- #
80
- # @return [Float, Object]
81
- #
82
- def self.coerce_float(input)
83
- case input
84
- in true
85
- 1.0
86
- in false
87
- 0.0
88
- else
89
- Float(input, exception: false) || input
88
+ # @api private
89
+ #
90
+ # @param input [Object]
91
+ #
92
+ # @raise [ArgumentError]
93
+ # @return [Boolean, nil]
94
+ def coerce_boolean!(input)
95
+ case coerce_boolean(input)
96
+ in true | false | nil => coerced
97
+ coerced
98
+ else
99
+ raise ArgumentError.new("Unable to coerce #{input.inspect} into boolean value")
100
+ end
90
101
  end
91
- end
92
102
 
93
- # @private
94
- #
95
- # @param input [Object]
96
- #
97
- # @return [Hash{Object=>Object}, Object]
98
- #
99
- def self.coerce_hash(input)
100
- case input
101
- in NilClass | Array | Set | Enumerator
102
- input
103
- else
104
- input.respond_to?(:to_h) ? input.to_h : input
103
+ # @api private
104
+ #
105
+ # @param input [Object]
106
+ #
107
+ # @return [Integer, Object]
108
+ def coerce_integer(input)
109
+ case input
110
+ in true
111
+ 1
112
+ in false
113
+ 0
114
+ else
115
+ Integer(input, exception: false) || input
116
+ end
105
117
  end
106
- end
107
118
 
108
- # @private
109
- #
110
- # @return [Float]
111
- #
112
- def self.monotonic_secs = Process.clock_gettime(Process::CLOCK_MONOTONIC)
119
+ # @api private
120
+ #
121
+ # @param input [Object]
122
+ #
123
+ # @return [Float, Object]
124
+ def coerce_float(input)
125
+ case input
126
+ in true
127
+ 1.0
128
+ in false
129
+ 0.0
130
+ else
131
+ Float(input, exception: false) || input
132
+ end
133
+ end
113
134
 
114
- # @private
115
- #
116
- # @param exceptions [Array<Exception>]
117
- # @param sentinel [Object, nil]
118
- # @param blk [Proc, nil]
119
- #
120
- # @return [Object, nil]
121
- #
122
- def self.suppress(*exceptions, sentinel: nil, &blk)
123
- blk.call
124
- rescue *exceptions
125
- sentinel
135
+ # @api private
136
+ #
137
+ # @param input [Object]
138
+ #
139
+ # @return [Hash{Object=>Object}, Object]
140
+ def coerce_hash(input)
141
+ case input
142
+ in NilClass | Array | Set | Enumerator
143
+ input
144
+ else
145
+ input.respond_to?(:to_h) ? input.to_h : input
146
+ end
147
+ end
126
148
  end
127
149
 
128
150
  # Use this to indicate that a value should be explicitly removed from a data
@@ -132,335 +154,573 @@ module ModernTreasury
132
154
  # `{a: 1}` and `{}` would produce `{a: 1}`.
133
155
  OMIT = Object.new.freeze
134
156
 
135
- # @private
136
- #
137
- # Recursively merge one hash with another. If the values at a given key are not
138
- # both hashes, just take the new value.
139
- #
140
- # @param values [Array<Object>]
141
- #
142
- # @param sentinel [Object, nil] the value to return if no values are provided.
143
- #
144
- # @param concat [Boolean] whether to merge sequences by concatenation.
145
- #
146
- # @return [Object]
147
- #
148
- def self.deep_merge(*values, sentinel: nil, concat: false)
149
- case values
150
- in [value, *values]
151
- values.reduce(value) do |acc, val|
152
- deep_merge_lr(acc, val, concat: concat)
157
+ class << self
158
+ # @api private
159
+ #
160
+ # @param lhs [Object]
161
+ # @param rhs [Object]
162
+ # @param concat [Boolean]
163
+ #
164
+ # @return [Object]
165
+ private def deep_merge_lr(lhs, rhs, concat: false)
166
+ case [lhs, rhs, concat]
167
+ in [Hash, Hash, _]
168
+ # rubocop:disable Style/YodaCondition
169
+ rhs_cleaned = rhs.reject { |_, val| OMIT == val }
170
+ lhs
171
+ .reject { |key, _| OMIT == rhs[key] }
172
+ .merge(rhs_cleaned) do |_, old_val, new_val|
173
+ deep_merge_lr(old_val, new_val, concat: concat)
174
+ end
175
+ # rubocop:enable Style/YodaCondition
176
+ in [Array, Array, true]
177
+ lhs.concat(rhs)
178
+ else
179
+ rhs
153
180
  end
154
- else
155
- sentinel
156
181
  end
157
- end
158
182
 
159
- # @private
160
- #
161
- # @param lhs [Object]
162
- # @param rhs [Object]
163
- # @param concat [Boolean]
164
- #
165
- # @return [Object]
166
- #
167
- private_class_method def self.deep_merge_lr(lhs, rhs, concat: false)
168
- case [lhs, rhs, concat]
169
- in [Hash, Hash, _]
170
- # rubocop:disable Style/YodaCondition
171
- rhs_cleaned = rhs.reject { |_, val| OMIT == val }
172
- lhs
173
- .reject { |key, _| OMIT == rhs[key] }
174
- .merge(rhs_cleaned) do |_, old_val, new_val|
175
- deep_merge_lr(old_val, new_val, concat: concat)
183
+ # @api private
184
+ #
185
+ # Recursively merge one hash with another. If the values at a given key are not
186
+ # both hashes, just take the new value.
187
+ #
188
+ # @param values [Array<Object>]
189
+ #
190
+ # @param sentinel [Object, nil] the value to return if no values are provided.
191
+ #
192
+ # @param concat [Boolean] whether to merge sequences by concatenation.
193
+ #
194
+ # @return [Object]
195
+ def deep_merge(*values, sentinel: nil, concat: false)
196
+ case values
197
+ in [value, *values]
198
+ values.reduce(value) do |acc, val|
199
+ deep_merge_lr(acc, val, concat: concat)
176
200
  end
177
- # rubocop:enable Style/YodaCondition
178
- in [Array, Array, true]
179
- lhs.concat(rhs)
180
- else
181
- rhs
201
+ else
202
+ sentinel
203
+ end
182
204
  end
183
- end
184
205
 
185
- # @private
186
- #
187
- # @param data [Hash{Symbol=>Object}, Array<Object>, Object]
188
- # @param pick [Symbol, Integer, Array<Symbol, Integer>, nil]
189
- # @param sentinel [Object, nil]
190
- # @param blk [Proc, nil]
191
- #
192
- # @return [Object, nil]
193
- #
194
- def self.dig(data, pick, sentinel = nil, &blk)
195
- case [data, pick, blk]
196
- in [_, nil, nil]
197
- data
198
- in [Hash, Symbol, _] | [Array, Integer, _]
199
- blk.nil? ? data.fetch(pick, sentinel) : data.fetch(pick, &blk)
200
- in [Hash | Array, Array, _]
201
- pick.reduce(data) do |acc, key|
202
- case acc
203
- in Hash if acc.key?(key)
204
- acc.fetch(key)
205
- in Array if key.is_a?(Integer) && key < acc.length
206
- acc[key]
207
- else
208
- return blk.nil? ? sentinel : blk.call
206
+ # @api private
207
+ #
208
+ # @param data [Hash{Symbol=>Object}, Array<Object>, Object]
209
+ # @param pick [Symbol, Integer, Array<Symbol, Integer>, nil]
210
+ # @param sentinel [Object, nil]
211
+ # @param blk [Proc, nil]
212
+ #
213
+ # @return [Object, nil]
214
+ def dig(data, pick, sentinel = nil, &blk)
215
+ case [data, pick, blk]
216
+ in [_, nil, nil]
217
+ data
218
+ in [Hash, Symbol, _] | [Array, Integer, _]
219
+ blk.nil? ? data.fetch(pick, sentinel) : data.fetch(pick, &blk)
220
+ in [Hash | Array, Array, _]
221
+ pick.reduce(data) do |acc, key|
222
+ case acc
223
+ in Hash if acc.key?(key)
224
+ acc.fetch(key)
225
+ in Array if key.is_a?(Integer) && key < acc.length
226
+ acc[key]
227
+ else
228
+ return blk.nil? ? sentinel : blk.call
229
+ end
209
230
  end
231
+ in _
232
+ blk.nil? ? sentinel : blk.call
210
233
  end
211
- in _
212
- blk.nil? ? sentinel : blk.call
213
234
  end
214
235
  end
215
236
 
216
- # @private
217
- #
218
- # @param uri [URI::Generic]
219
- #
220
- # @return [String]
221
- #
222
- def self.uri_origin(uri)
223
- "#{uri.scheme}://#{uri.host}#{uri.port == uri.default_port ? '' : ":#{uri.port}"}"
224
- end
237
+ class << self
238
+ # @api private
239
+ #
240
+ # @param uri [URI::Generic]
241
+ #
242
+ # @return [String]
243
+ def uri_origin(uri)
244
+ "#{uri.scheme}://#{uri.host}#{uri.port == uri.default_port ? '' : ":#{uri.port}"}"
245
+ end
225
246
 
226
- # @private
227
- #
228
- # @param path [String, Array<String>]
229
- #
230
- # @return [String]
231
- #
232
- def self.interpolate_path(path)
233
- case path
234
- in String
235
- path
236
- in []
237
- ""
238
- in [String, *interpolations]
239
- encoded = interpolations.map { ERB::Util.url_encode(_1) }
240
- path.first % encoded
247
+ # @api private
248
+ #
249
+ # @param path [String, Array<String>]
250
+ #
251
+ # @return [String]
252
+ def interpolate_path(path)
253
+ case path
254
+ in String
255
+ path
256
+ in []
257
+ ""
258
+ in [String, *interpolations]
259
+ encoded = interpolations.map { ERB::Util.url_encode(_1) }
260
+ path.first % encoded
261
+ end
241
262
  end
242
263
  end
243
264
 
244
- # @private
245
- #
246
- # @param url [URI::Generic, String]
247
- #
248
- # @return [Hash{Symbol=>String, Integer, nil}]
249
- #
250
- def self.parse_uri(url)
251
- parsed = URI::Generic.component.zip(URI.split(url)).to_h
252
- {**parsed, query: decode_query(parsed.fetch(:query))}
253
- end
265
+ class << self
266
+ # @api private
267
+ #
268
+ # @param query [String, nil]
269
+ #
270
+ # @return [Hash{String=>Array<String>}]
271
+ def decode_query(query)
272
+ CGI.parse(query.to_s)
273
+ end
254
274
 
255
- # @private
256
- #
257
- # @param parsed [Hash{Symbol=>String, Integer, nil}] .
258
- #
259
- # @option parsed [String, nil] :scheme
260
- #
261
- # @option parsed [String, nil] :host
262
- #
263
- # @option parsed [Integer, nil] :port
264
- #
265
- # @option parsed [String, nil] :path
266
- #
267
- # @option parsed [Hash{String=>Array<String>}] :query
268
- #
269
- # @return [URI::Generic]
270
- #
271
- def self.unparse_uri(parsed)
272
- URI::Generic.build(**parsed, query: encode_query(parsed.fetch(:query)))
275
+ # @api private
276
+ #
277
+ # @param query [Hash{String=>Array<String>, String, nil}, nil]
278
+ #
279
+ # @return [String, nil]
280
+ def encode_query(query)
281
+ query.to_h.empty? ? nil : URI.encode_www_form(query)
282
+ end
273
283
  end
274
284
 
275
- # @private
276
- #
277
- # @param lhs [Hash{Symbol=>String, Integer, nil}] .
278
- #
279
- # @option lhs [String, nil] :scheme
280
- #
281
- # @option lhs [String, nil] :host
282
- #
283
- # @option lhs [Integer, nil] :port
284
- #
285
- # @option lhs [String, nil] :path
286
- #
287
- # @option lhs [Hash{String=>Array<String>}] :query
288
- #
289
- # @param rhs [Hash{Symbol=>String, Integer, nil}] .
290
- #
291
- # @option rhs [String, nil] :scheme
292
- #
293
- # @option rhs [String, nil] :host
294
- #
295
- # @option rhs [Integer, nil] :port
296
- #
297
- # @option rhs [String, nil] :path
298
- #
299
- # @option rhs [Hash{String=>Array<String>}] :query
300
- #
301
- # @return [URI::Generic]
302
- #
303
- def self.join_parsed_uri(lhs, rhs)
304
- base_path, base_query = lhs.fetch_values(:path, :query)
305
- slashed = base_path.end_with?("/") ? base_path : "#{base_path}/"
306
-
307
- parsed_path, parsed_query = parse_uri(rhs.fetch(:path)).fetch_values(:path, :query)
308
- override = URI::Generic.build(**rhs.slice(:scheme, :host, :port), path: parsed_path)
309
-
310
- joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override)
311
- query = deep_merge(
312
- joined.path == base_path ? base_query : {},
313
- parsed_query,
314
- rhs[:query].to_h,
315
- concat: true
316
- )
317
-
318
- joined.query = encode_query(query)
319
- joined
285
+ class << self
286
+ # @api private
287
+ #
288
+ # @param url [URI::Generic, String]
289
+ #
290
+ # @return [Hash{Symbol=>String, Integer, nil}]
291
+ def parse_uri(url)
292
+ parsed = URI::Generic.component.zip(URI.split(url)).to_h
293
+ {**parsed, query: decode_query(parsed.fetch(:query))}
294
+ end
295
+
296
+ # @api private
297
+ #
298
+ # @param parsed [Hash{Symbol=>String, Integer, nil}] .
299
+ #
300
+ # @option parsed [String, nil] :scheme
301
+ #
302
+ # @option parsed [String, nil] :host
303
+ #
304
+ # @option parsed [Integer, nil] :port
305
+ #
306
+ # @option parsed [String, nil] :path
307
+ #
308
+ # @option parsed [Hash{String=>Array<String>}] :query
309
+ #
310
+ # @return [URI::Generic]
311
+ def unparse_uri(parsed)
312
+ URI::Generic.build(**parsed, query: encode_query(parsed.fetch(:query)))
313
+ end
314
+
315
+ # @api private
316
+ #
317
+ # @param lhs [Hash{Symbol=>String, Integer, nil}] .
318
+ #
319
+ # @option lhs [String, nil] :scheme
320
+ #
321
+ # @option lhs [String, nil] :host
322
+ #
323
+ # @option lhs [Integer, nil] :port
324
+ #
325
+ # @option lhs [String, nil] :path
326
+ #
327
+ # @option lhs [Hash{String=>Array<String>}] :query
328
+ #
329
+ # @param rhs [Hash{Symbol=>String, Integer, nil}] .
330
+ #
331
+ # @option rhs [String, nil] :scheme
332
+ #
333
+ # @option rhs [String, nil] :host
334
+ #
335
+ # @option rhs [Integer, nil] :port
336
+ #
337
+ # @option rhs [String, nil] :path
338
+ #
339
+ # @option rhs [Hash{String=>Array<String>}] :query
340
+ #
341
+ # @return [URI::Generic]
342
+ def join_parsed_uri(lhs, rhs)
343
+ base_path, base_query = lhs.fetch_values(:path, :query)
344
+ slashed = base_path.end_with?("/") ? base_path : "#{base_path}/"
345
+
346
+ parsed_path, parsed_query = parse_uri(rhs.fetch(:path)).fetch_values(:path, :query)
347
+ override = URI::Generic.build(**rhs.slice(:scheme, :host, :port), path: parsed_path)
348
+
349
+ joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override)
350
+ query = deep_merge(
351
+ joined.path == base_path ? base_query : {},
352
+ parsed_query,
353
+ rhs[:query].to_h,
354
+ concat: true
355
+ )
356
+
357
+ joined.query = encode_query(query)
358
+ joined
359
+ end
320
360
  end
321
361
 
322
- # @private
323
- #
324
- # @param query [String, nil]
325
- #
326
- # @return [Hash{String=>Array<String>}]
327
- #
328
- def self.decode_query(query)
329
- CGI.parse(query.to_s)
362
+ class << self
363
+ # @api private
364
+ #
365
+ # @param headers [Hash{String=>String, Integer, Array<String, Integer, nil>, nil}]
366
+ #
367
+ # @return [Hash{String=>String}]
368
+ def normalized_headers(*headers)
369
+ {}.merge(*headers.compact).to_h do |key, val|
370
+ value =
371
+ case val
372
+ in Array
373
+ val.map { _1.to_s.strip }.join(", ")
374
+ else
375
+ val&.to_s&.strip
376
+ end
377
+ [key.downcase, value]
378
+ end
379
+ end
330
380
  end
331
381
 
332
- # @private
333
- #
334
- # @param query [Hash{String=>Array<String>, String, nil}, nil]
335
- #
336
- # @return [String, nil]
337
- #
338
- def self.encode_query(query)
339
- query.to_h.empty? ? nil : URI.encode_www_form(query)
382
+ # @api private
383
+ #
384
+ # An adapter that satisfies the IO interface required by `::IO.copy_stream`
385
+ class ReadIOAdapter
386
+ # @api private
387
+ #
388
+ # @param max_len [Integer, nil]
389
+ #
390
+ # @return [String]
391
+ private def read_enum(max_len)
392
+ case max_len
393
+ in nil
394
+ @stream.to_a.join
395
+ in Integer
396
+ @buf << @stream.next while @buf.length < max_len
397
+ @buf.slice!(..max_len)
398
+ end
399
+ rescue StopIteration
400
+ @stream = nil
401
+ @buf.slice!(0..)
402
+ end
403
+
404
+ # @api private
405
+ #
406
+ # @param max_len [Integer, nil]
407
+ # @param out_string [String, nil]
408
+ #
409
+ # @return [String, nil]
410
+ def read(max_len = nil, out_string = nil)
411
+ case @stream
412
+ in nil
413
+ nil
414
+ in IO | StringIO
415
+ @stream.read(max_len, out_string)
416
+ in Enumerator
417
+ read = read_enum(max_len)
418
+ case out_string
419
+ in String
420
+ out_string.replace(read)
421
+ in nil
422
+ read
423
+ end
424
+ end
425
+ .tap(&@blk)
426
+ end
427
+
428
+ # @api private
429
+ #
430
+ # @param stream [String, IO, StringIO, Enumerable]
431
+ # @param blk [Proc]
432
+ #
433
+ # @yieldparam [String]
434
+ def initialize(stream, &blk)
435
+ @stream = stream.is_a?(String) ? StringIO.new(stream) : stream
436
+ @buf = String.new.b
437
+ @blk = blk
438
+ end
340
439
  end
341
440
 
342
- # @private
343
- #
344
- # @param headers [Array<Hash{String=>String, Integer, nil}>]
345
- #
346
- # @return [Hash{String=>String}]
347
- #
348
- def self.normalized_headers(*headers)
349
- {}.merge(*headers.compact).to_h do |key, val|
350
- [key.downcase, val&.to_s&.strip]
441
+ class << self
442
+ # @param blk [Proc]
443
+ #
444
+ # @yieldparam [Enumerator::Yielder]
445
+ # @return [Enumerable]
446
+ def string_io(&blk)
447
+ Enumerator.new do |y|
448
+ y.define_singleton_method(:write) do
449
+ self << _1.clone
450
+ _1.bytesize
451
+ end
452
+
453
+ blk.call(y)
454
+ end
351
455
  end
352
456
  end
353
457
 
354
- # @private
355
- #
356
- # @param headers [Hash{String=>String}]
357
- # @param body [Object]
358
- #
359
- # @return [Object]
360
- #
361
- def self.encode_content(headers, body)
362
- content_type = headers["content-type"]
363
- case [content_type, body]
364
- in ["application/json", Hash | Array]
365
- [headers, JSON.fast_generate(body)]
366
- in [%r{^multipart/form-data}, Hash | IO | StringIO]
458
+ class << self
459
+ # rubocop:disable Naming/MethodParameterName
460
+
461
+ # @api private
462
+ #
463
+ # @param y [Enumerator::Yielder]
464
+ # @param boundary [String]
465
+ # @param key [Symbol, String]
466
+ # @param val [Object]
467
+ private def encode_multipart_formdata(y, boundary:, key:, val:)
468
+ y << "--#{boundary}\r\n"
469
+ y << "Content-Disposition: form-data"
470
+ unless key.nil?
471
+ name = ERB::Util.url_encode(key.to_s)
472
+ y << "; name=\"#{name}\""
473
+ end
474
+ if val.is_a?(IO)
475
+ filename = ERB::Util.url_encode(File.basename(val.to_path))
476
+ y << "; filename=\"#{filename}\""
477
+ end
478
+ y << "\r\n"
479
+ case val
480
+ in IO
481
+ y << "Content-Type: application/octet-stream\r\n\r\n"
482
+ IO.copy_stream(val, y)
483
+ in StringIO
484
+ y << "Content-Type: application/octet-stream\r\n\r\n"
485
+ y << val.string
486
+ in String
487
+ y << "Content-Type: application/octet-stream\r\n\r\n"
488
+ y << val.to_s
489
+ in true | false | Integer | Float | Symbol
490
+ y << "Content-Type: text/plain\r\n\r\n"
491
+ y << val.to_s
492
+ else
493
+ y << "Content-Type: application/json\r\n\r\n"
494
+ y << JSON.fast_generate(val)
495
+ end
496
+ y << "\r\n"
497
+ end
498
+
499
+ # rubocop:enable Naming/MethodParameterName
500
+
501
+ # @api private
502
+ #
503
+ # @param body [Object]
504
+ #
505
+ # @return [Array(String, Enumerable)]
506
+ private def encode_multipart_streaming(body)
367
507
  boundary = SecureRandom.urlsafe_base64(60)
368
- strio = StringIO.new.tap do |io|
508
+
509
+ strio = string_io do |y|
369
510
  case body
370
511
  in Hash
371
512
  body.each do |key, val|
372
513
  case val
373
514
  in Array if val.all? { primitive?(_1) }
374
515
  val.each do |v|
375
- encode_multipart_formdata(io, boundary: boundary, key: key, val: v)
516
+ encode_multipart_formdata(y, boundary: boundary, key: key, val: v)
376
517
  end
377
518
  else
378
- encode_multipart_formdata(io, boundary: boundary, key: key, val: val)
519
+ encode_multipart_formdata(y, boundary: boundary, key: key, val: val)
379
520
  end
380
521
  end
381
522
  else
382
- encode_multipart_formdata(io, boundary: boundary, key: nil, val: body)
523
+ encode_multipart_formdata(y, boundary: boundary, key: nil, val: body)
383
524
  end
384
- io << "--#{boundary}--\r\n"
385
- io.rewind
525
+ y << "--#{boundary}--\r\n"
526
+ end
527
+
528
+ [boundary, strio]
529
+ end
530
+
531
+ # @api private
532
+ #
533
+ # @param headers [Hash{String=>String}]
534
+ # @param body [Object]
535
+ #
536
+ # @return [Object]
537
+ def encode_content(headers, body)
538
+ content_type = headers["content-type"]
539
+ case [content_type, body]
540
+ in [%r{^application/(?:vnd\.api\+)?json}, Hash | Array]
541
+ [headers, JSON.fast_generate(body)]
542
+ in [%r{^application/(?:x-)?jsonl}, Enumerable]
543
+ [headers, body.lazy.map { JSON.fast_generate(_1) }]
544
+ in [%r{^multipart/form-data}, Hash | IO | StringIO]
545
+ boundary, strio = encode_multipart_streaming(body)
546
+ headers = {**headers, "content-type" => "#{content_type}; boundary=#{boundary}"}
547
+ [headers, strio]
548
+ in [_, StringIO]
549
+ [headers, body.string]
550
+ else
551
+ [headers, body]
552
+ end
553
+ end
554
+
555
+ # @api private
556
+ #
557
+ # @param headers [Hash{String=>String}, Net::HTTPHeader]
558
+ # @param stream [Enumerable]
559
+ # @param suppress_error [Boolean]
560
+ #
561
+ # @raise [JSON::ParserError]
562
+ # @return [Object]
563
+ def decode_content(headers, stream:, suppress_error: false)
564
+ case headers["content-type"]
565
+ in %r{^application/(?:vnd\.api\+)?json}
566
+ json = stream.to_a.join
567
+ begin
568
+ JSON.parse(json, symbolize_names: true)
569
+ rescue JSON::ParserError => e
570
+ raise e unless suppress_error
571
+ json
572
+ end
573
+ in %r{^application/(?:x-)?jsonl}
574
+ lines = decode_lines(stream)
575
+ chain_fused(lines) do |y|
576
+ lines.each { y << JSON.parse(_1, symbolize_names: true) }
577
+ end
578
+ in %r{^text/event-stream}
579
+ lines = decode_lines(stream)
580
+ decode_sse(lines)
581
+ in %r{^text/}
582
+ stream.to_a.join
583
+ else
584
+ # TODO: parsing other response types
585
+ StringIO.new(stream.to_a.join)
386
586
  end
387
- headers = {
388
- **headers,
389
- "content-type" => "#{content_type}; boundary=#{boundary}",
390
- "transfer-encoding" => "chunked"
391
- }
392
- [headers, strio]
393
- in [_, StringIO]
394
- [headers, body.string]
395
- in [_, IO]
396
- headers = {**headers, "transfer-encoding" => "chunked"}
397
- [headers, body]
398
- else
399
- [headers, body]
400
587
  end
401
588
  end
402
589
 
403
- # @private
404
- #
405
- # @param headers [Hash{String=>String}, Net::HTTPHeader]
406
- # @param stream [Enumerable]
407
- # @param suppress_error [Boolean]
408
- #
409
- # @raise [JSON::ParserError]
410
- # @return [Object]
411
- #
412
- def self.decode_content(headers, stream:, suppress_error: false)
413
- case headers["content-type"]
414
- in %r{^application/json}
415
- json = stream.to_a.join("")
416
- begin
417
- JSON.parse(json, symbolize_names: true)
418
- rescue JSON::ParserError => e
419
- raise e unless suppress_error
420
- json
590
+ class << self
591
+ # @api private
592
+ #
593
+ # https://doc.rust-lang.org/std/iter/trait.FusedIterator.html
594
+ #
595
+ # @param enum [Enumerable]
596
+ # @param external [Boolean]
597
+ # @param close [Proc]
598
+ #
599
+ # @return [Enumerable]
600
+ def fused_enum(enum, external: false, &close)
601
+ fused = false
602
+ iter = Enumerator.new do |y|
603
+ next if fused
604
+
605
+ fused = true
606
+ if external
607
+ loop { y << enum.next }
608
+ else
609
+ enum.each(&y)
610
+ end
611
+ ensure
612
+ close&.call
613
+ close = nil
614
+ end
615
+
616
+ iter.define_singleton_method(:rewind) do
617
+ fused = true
618
+ self
421
619
  end
422
- in %r{^text/}
423
- stream.to_a.join("")
424
- else
425
- # TODO: parsing other response types
426
- StringIO.new(stream.to_a.join(""))
620
+ iter
621
+ end
622
+
623
+ # @api private
624
+ #
625
+ # @param enum [Enumerable, nil]
626
+ def close_fused!(enum)
627
+ return unless enum.is_a?(Enumerator)
628
+
629
+ # rubocop:disable Lint/UnreachableLoop
630
+ enum.rewind.each { break }
631
+ # rubocop:enable Lint/UnreachableLoop
632
+ end
633
+
634
+ # @api private
635
+ #
636
+ # @param enum [Enumerable, nil]
637
+ # @param blk [Proc]
638
+ #
639
+ # @yieldparam [Enumerator::Yielder]
640
+ # @return [Enumerable]
641
+ def chain_fused(enum, &blk)
642
+ iter = Enumerator.new { blk.call(_1) }
643
+ fused_enum(iter) { close_fused!(enum) }
427
644
  end
428
645
  end
429
646
 
430
- # @private
431
- #
432
- # @param io [StringIO]
433
- # @param boundary [String]
434
- # @param key [Symbol, String]
435
- # @param val [Object]
436
- #
437
- private_class_method def self.encode_multipart_formdata(io, boundary:, key:, val:)
438
- io << "--#{boundary}\r\n"
439
- io << "Content-Disposition: form-data"
440
- unless key.nil?
441
- name = ERB::Util.url_encode(key.to_s)
442
- io << "; name=\"#{name}\""
443
- end
444
- if val.is_a?(IO)
445
- filename = ERB::Util.url_encode(File.basename(val.to_path))
446
- io << "; filename=\"#{filename}\""
447
- end
448
- io << "\r\n"
449
- case val
450
- in IO | StringIO
451
- io << "Content-Type: application/octet-stream\r\n\r\n"
452
- IO.copy_stream(val, io)
453
- in String
454
- io << "Content-Type: application/octet-stream\r\n\r\n"
455
- io << val.to_s
456
- in true | false | Integer | Float | Symbol
457
- io << "Content-Type: text/plain\r\n\r\n"
458
- io << val.to_s
459
- else
460
- io << "Content-Type: application/json\r\n\r\n"
461
- io << JSON.fast_generate(val)
462
- end
463
- io << "\r\n"
647
+ class << self
648
+ # @api private
649
+ #
650
+ # @param enum [Enumerable]
651
+ #
652
+ # @return [Enumerable]
653
+ def decode_lines(enum)
654
+ re = /(\r\n|\r|\n)/
655
+ buffer = String.new.b
656
+ cr_seen = nil
657
+
658
+ chain_fused(enum) do |y|
659
+ enum.each do |row|
660
+ offset = buffer.bytesize
661
+ buffer << row
662
+ while (match = re.match(buffer, cr_seen&.to_i || offset))
663
+ case [match.captures.first, cr_seen]
664
+ in ["\r", nil]
665
+ cr_seen = match.end(1)
666
+ next
667
+ in ["\r" | "\r\n", Integer]
668
+ y << buffer.slice!(..(cr_seen.pred))
669
+ else
670
+ y << buffer.slice!(..(match.end(1).pred))
671
+ end
672
+ offset = 0
673
+ cr_seen = nil
674
+ end
675
+ end
676
+
677
+ y << buffer.slice!(..(cr_seen.pred)) unless cr_seen.nil?
678
+ y << buffer unless buffer.empty?
679
+ end
680
+ end
681
+
682
+ # @api private
683
+ #
684
+ # https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream
685
+ #
686
+ # @param lines [Enumerable]
687
+ #
688
+ # @return [Hash{Symbol=>Object}]
689
+ def decode_sse(lines)
690
+ # rubocop:disable Metrics/BlockLength
691
+ chain_fused(lines) do |y|
692
+ blank = {event: nil, data: nil, id: nil, retry: nil}
693
+ current = {}
694
+
695
+ lines.each do |line|
696
+ case line.sub(/\R$/, "")
697
+ in ""
698
+ next if current.empty?
699
+ y << {**blank, **current}
700
+ current = {}
701
+ in /^:/
702
+ next
703
+ in /^([^:]+):\s?(.*)$/
704
+ field, value = Regexp.last_match.captures
705
+ case field
706
+ in "event"
707
+ current.merge!(event: value)
708
+ in "data"
709
+ (current[:data] ||= String.new.b) << (value << "\n")
710
+ in "id" unless value.include?("\0")
711
+ current.merge!(id: value)
712
+ in "retry" if /^\d+$/ =~ value
713
+ current.merge!(retry: Integer(value))
714
+ else
715
+ end
716
+ else
717
+ end
718
+ end
719
+ # rubocop:enable Metrics/BlockLength
720
+
721
+ y << {**blank, **current} unless current.empty?
722
+ end
723
+ end
464
724
  end
465
725
  end
466
726