modern_treasury 0.1.0.pre.alpha.15 → 0.1.0.pre.alpha.17

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 (877) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +116 -28
  3. data/lib/modern_treasury/client.rb +29 -13
  4. data/lib/modern_treasury/errors.rb +168 -163
  5. data/lib/modern_treasury/internal/page.rb +86 -0
  6. data/lib/modern_treasury/internal/transport/base_client.rb +476 -0
  7. data/lib/modern_treasury/internal/transport/pooled_net_requester.rb +184 -0
  8. data/lib/modern_treasury/internal/type/array_of.rb +124 -0
  9. data/lib/modern_treasury/internal/type/base_model.rb +376 -0
  10. data/lib/modern_treasury/internal/type/base_page.rb +46 -0
  11. data/lib/modern_treasury/internal/type/boolean.rb +54 -0
  12. data/lib/modern_treasury/internal/type/converter.rb +222 -0
  13. data/lib/modern_treasury/internal/type/enum.rb +105 -0
  14. data/lib/modern_treasury/internal/type/hash_of.rb +144 -0
  15. data/lib/modern_treasury/internal/type/request_parameters.rb +40 -0
  16. data/lib/modern_treasury/internal/type/union.rb +198 -0
  17. data/lib/modern_treasury/internal/type/unknown.rb +58 -0
  18. data/lib/modern_treasury/internal/util.rb +696 -0
  19. data/lib/modern_treasury/internal.rb +8 -0
  20. data/lib/modern_treasury/models/account_collection_flow.rb +22 -64
  21. data/lib/modern_treasury/models/account_collection_flow_create_params.rb +10 -28
  22. data/lib/modern_treasury/models/account_collection_flow_list_params.rb +5 -4
  23. data/lib/modern_treasury/models/account_collection_flow_retrieve_params.rb +5 -4
  24. data/lib/modern_treasury/models/account_collection_flow_update_params.rb +10 -18
  25. data/lib/modern_treasury/models/account_detail.rb +11 -27
  26. data/lib/modern_treasury/models/account_detail_create_params.rb +13 -39
  27. data/lib/modern_treasury/models/account_detail_delete_params.rb +8 -15
  28. data/lib/modern_treasury/models/account_detail_list_params.rb +5 -4
  29. data/lib/modern_treasury/models/account_detail_retrieve_params.rb +5 -4
  30. data/lib/modern_treasury/models/accounts_type.rb +3 -13
  31. data/lib/modern_treasury/models/async_response.rb +2 -2
  32. data/lib/modern_treasury/models/bank_settings.rb +11 -11
  33. data/lib/modern_treasury/models/bulk_request.rb +24 -56
  34. data/lib/modern_treasury/models/bulk_request_create_params.rb +654 -1109
  35. data/lib/modern_treasury/models/bulk_request_list_params.rb +20 -58
  36. data/lib/modern_treasury/models/bulk_request_retrieve_params.rb +5 -4
  37. data/lib/modern_treasury/models/bulk_result.rb +49 -89
  38. data/lib/modern_treasury/models/bulk_result_list_params.rb +22 -58
  39. data/lib/modern_treasury/models/bulk_result_retrieve_params.rb +5 -4
  40. data/lib/modern_treasury/models/client_ping_params.rb +5 -4
  41. data/lib/modern_treasury/models/connection.rb +5 -4
  42. data/lib/modern_treasury/models/connection_legal_entity.rb +9 -21
  43. data/lib/modern_treasury/models/connection_legal_entity_create_params.rb +130 -239
  44. data/lib/modern_treasury/models/connection_legal_entity_list_params.rb +8 -21
  45. data/lib/modern_treasury/models/connection_legal_entity_retrieve_params.rb +5 -4
  46. data/lib/modern_treasury/models/connection_legal_entity_update_params.rb +8 -16
  47. data/lib/modern_treasury/models/connection_list_params.rb +5 -4
  48. data/lib/modern_treasury/models/counterparty.rb +53 -103
  49. data/lib/modern_treasury/models/counterparty_collect_account_params.rb +22 -39
  50. data/lib/modern_treasury/models/counterparty_collect_account_response.rb +8 -7
  51. data/lib/modern_treasury/models/counterparty_create_params.rb +214 -440
  52. data/lib/modern_treasury/models/counterparty_delete_params.rb +5 -4
  53. data/lib/modern_treasury/models/counterparty_list_params.rb +10 -9
  54. data/lib/modern_treasury/models/counterparty_retrieve_params.rb +5 -4
  55. data/lib/modern_treasury/models/counterparty_update_params.rb +9 -8
  56. data/lib/modern_treasury/models/currency.rb +3 -22
  57. data/lib/modern_treasury/models/document.rb +21 -36
  58. data/lib/modern_treasury/models/document_create_params.rb +8 -25
  59. data/lib/modern_treasury/models/document_list_params.rb +12 -30
  60. data/lib/modern_treasury/models/document_retrieve_params.rb +5 -4
  61. data/lib/modern_treasury/models/event.rb +6 -5
  62. data/lib/modern_treasury/models/event_list_params.rb +5 -4
  63. data/lib/modern_treasury/models/event_retrieve_params.rb +5 -4
  64. data/lib/modern_treasury/models/expected_payment.rb +36 -66
  65. data/lib/modern_treasury/models/expected_payment_create_params.rb +86 -122
  66. data/lib/modern_treasury/models/expected_payment_delete_params.rb +5 -4
  67. data/lib/modern_treasury/models/expected_payment_list_params.rb +16 -49
  68. data/lib/modern_treasury/models/expected_payment_retrieve_params.rb +5 -4
  69. data/lib/modern_treasury/models/expected_payment_type.rb +4 -23
  70. data/lib/modern_treasury/models/expected_payment_update_params.rb +28 -47
  71. data/lib/modern_treasury/models/external_account.rb +39 -77
  72. data/lib/modern_treasury/models/external_account_complete_verification_params.rb +6 -5
  73. data/lib/modern_treasury/models/external_account_create_params.rb +62 -147
  74. data/lib/modern_treasury/models/external_account_delete_params.rb +5 -4
  75. data/lib/modern_treasury/models/external_account_list_params.rb +8 -7
  76. data/lib/modern_treasury/models/external_account_retrieve_params.rb +5 -4
  77. data/lib/modern_treasury/models/external_account_type.rb +3 -22
  78. data/lib/modern_treasury/models/external_account_update_params.rb +13 -23
  79. data/lib/modern_treasury/models/external_account_verify_params.rb +21 -59
  80. data/lib/modern_treasury/models/external_account_verify_response.rb +28 -71
  81. data/lib/modern_treasury/models/foreign_exchange_quote.rb +16 -14
  82. data/lib/modern_treasury/models/foreign_exchange_quote_create_params.rb +7 -6
  83. data/lib/modern_treasury/models/foreign_exchange_quote_list_params.rb +8 -7
  84. data/lib/modern_treasury/models/foreign_exchange_quote_retrieve_params.rb +5 -4
  85. data/lib/modern_treasury/models/incoming_payment_detail.rb +38 -95
  86. data/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rb +26 -42
  87. data/lib/modern_treasury/models/incoming_payment_detail_list_params.rb +25 -52
  88. data/lib/modern_treasury/models/incoming_payment_detail_retrieve_params.rb +5 -4
  89. data/lib/modern_treasury/models/incoming_payment_detail_update_params.rb +7 -6
  90. data/lib/modern_treasury/models/internal_account.rb +25 -47
  91. data/lib/modern_treasury/models/internal_account_create_params.rb +14 -24
  92. data/lib/modern_treasury/models/internal_account_list_params.rb +11 -29
  93. data/lib/modern_treasury/models/internal_account_retrieve_params.rb +5 -4
  94. data/lib/modern_treasury/models/internal_account_update_params.rb +7 -6
  95. data/lib/modern_treasury/models/internal_accounts/balance_report.rb +35 -64
  96. data/lib/modern_treasury/models/internal_accounts/balance_report_create_params.rb +26 -57
  97. data/lib/modern_treasury/models/internal_accounts/balance_report_delete_params.rb +5 -4
  98. data/lib/modern_treasury/models/internal_accounts/balance_report_list_params.rb +10 -24
  99. data/lib/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rb +5 -4
  100. data/lib/modern_treasury/models/invoice.rb +61 -102
  101. data/lib/modern_treasury/models/invoice_add_payment_order_params.rb +5 -4
  102. data/lib/modern_treasury/models/invoice_create_params.rb +69 -92
  103. data/lib/modern_treasury/models/invoice_list_params.rb +11 -28
  104. data/lib/modern_treasury/models/invoice_retrieve_params.rb +5 -4
  105. data/lib/modern_treasury/models/invoice_update_params.rb +68 -91
  106. data/lib/modern_treasury/models/invoices/invoice_line_item.rb +14 -13
  107. data/lib/modern_treasury/models/invoices/line_item_create_params.rb +13 -12
  108. data/lib/modern_treasury/models/invoices/line_item_delete_params.rb +5 -4
  109. data/lib/modern_treasury/models/invoices/line_item_list_params.rb +5 -4
  110. data/lib/modern_treasury/models/invoices/line_item_retrieve_params.rb +5 -4
  111. data/lib/modern_treasury/models/invoices/line_item_update_params.rb +13 -12
  112. data/lib/modern_treasury/models/ledger.rb +7 -6
  113. data/lib/modern_treasury/models/ledger_account.rb +44 -52
  114. data/lib/modern_treasury/models/ledger_account_balance_monitor.rb +40 -33
  115. data/lib/modern_treasury/models/ledger_account_balance_monitor_create_params.rb +14 -13
  116. data/lib/modern_treasury/models/ledger_account_balance_monitor_delete_params.rb +5 -4
  117. data/lib/modern_treasury/models/ledger_account_balance_monitor_list_params.rb +10 -9
  118. data/lib/modern_treasury/models/ledger_account_balance_monitor_retrieve_params.rb +5 -4
  119. data/lib/modern_treasury/models/ledger_account_balance_monitor_update_params.rb +7 -6
  120. data/lib/modern_treasury/models/ledger_account_category.rb +33 -28
  121. data/lib/modern_treasury/models/ledger_account_category_add_ledger_account_params.rb +5 -4
  122. data/lib/modern_treasury/models/ledger_account_category_add_nested_category_params.rb +5 -4
  123. data/lib/modern_treasury/models/ledger_account_category_create_params.rb +9 -8
  124. data/lib/modern_treasury/models/ledger_account_category_delete_params.rb +5 -4
  125. data/lib/modern_treasury/models/ledger_account_category_list_params.rb +17 -16
  126. data/lib/modern_treasury/models/ledger_account_category_remove_ledger_account_params.rb +5 -4
  127. data/lib/modern_treasury/models/ledger_account_category_remove_nested_category_params.rb +5 -4
  128. data/lib/modern_treasury/models/ledger_account_category_retrieve_params.rb +11 -10
  129. data/lib/modern_treasury/models/ledger_account_category_update_params.rb +7 -6
  130. data/lib/modern_treasury/models/ledger_account_create_params.rb +17 -31
  131. data/lib/modern_treasury/models/ledger_account_delete_params.rb +5 -4
  132. data/lib/modern_treasury/models/ledger_account_list_params.rb +40 -39
  133. data/lib/modern_treasury/models/ledger_account_retrieve_params.rb +17 -16
  134. data/lib/modern_treasury/models/ledger_account_settlement.rb +17 -33
  135. data/lib/modern_treasury/models/ledger_account_settlement_create_params.rb +21 -31
  136. data/lib/modern_treasury/models/ledger_account_settlement_list_params.rb +16 -15
  137. data/lib/modern_treasury/models/ledger_account_settlement_retrieve_params.rb +5 -4
  138. data/lib/modern_treasury/models/ledger_account_settlement_update_params.rb +12 -22
  139. data/lib/modern_treasury/models/ledger_account_settlements/account_entry_delete_params.rb +9 -8
  140. data/lib/modern_treasury/models/ledger_account_settlements/account_entry_update_params.rb +7 -6
  141. data/lib/modern_treasury/models/ledger_account_statement_create_params.rb +10 -9
  142. data/lib/modern_treasury/models/ledger_account_statement_create_response.rb +62 -53
  143. data/lib/modern_treasury/models/ledger_account_statement_retrieve_params.rb +5 -4
  144. data/lib/modern_treasury/models/ledger_account_statement_retrieve_response.rb +62 -53
  145. data/lib/modern_treasury/models/ledger_account_update_params.rb +7 -6
  146. data/lib/modern_treasury/models/ledger_create_params.rb +7 -6
  147. data/lib/modern_treasury/models/ledger_delete_params.rb +5 -4
  148. data/lib/modern_treasury/models/ledger_entry.rb +50 -56
  149. data/lib/modern_treasury/models/ledger_entry_list_params.rb +49 -79
  150. data/lib/modern_treasury/models/ledger_entry_retrieve_params.rb +7 -6
  151. data/lib/modern_treasury/models/ledger_entry_update_params.rb +7 -6
  152. data/lib/modern_treasury/models/ledger_event_handler.rb +25 -15
  153. data/lib/modern_treasury/models/ledger_event_handler_create_params.rb +19 -15
  154. data/lib/modern_treasury/models/ledger_event_handler_delete_params.rb +5 -4
  155. data/lib/modern_treasury/models/ledger_event_handler_list_params.rb +11 -10
  156. data/lib/modern_treasury/models/ledger_event_handler_retrieve_params.rb +5 -4
  157. data/lib/modern_treasury/models/ledger_event_handler_variable.rb +9 -5
  158. data/lib/modern_treasury/models/ledger_list_params.rb +13 -12
  159. data/lib/modern_treasury/models/ledger_retrieve_params.rb +5 -4
  160. data/lib/modern_treasury/models/ledger_transaction.rb +28 -54
  161. data/lib/modern_treasury/models/ledger_transaction_create_params.rb +46 -77
  162. data/lib/modern_treasury/models/ledger_transaction_create_partial_post_params.rb +27 -35
  163. data/lib/modern_treasury/models/ledger_transaction_create_reversal_params.rb +21 -52
  164. data/lib/modern_treasury/models/ledger_transaction_list_params.rb +42 -89
  165. data/lib/modern_treasury/models/ledger_transaction_retrieve_params.rb +5 -4
  166. data/lib/modern_treasury/models/ledger_transaction_update_params.rb +44 -75
  167. data/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rb +75 -109
  168. data/lib/modern_treasury/models/ledger_transactions/version_list_params.rb +12 -11
  169. data/lib/modern_treasury/models/ledger_update_params.rb +7 -6
  170. data/lib/modern_treasury/models/ledgerable_event.rb +10 -7
  171. data/lib/modern_treasury/models/ledgerable_event_create_params.rb +8 -7
  172. data/lib/modern_treasury/models/ledgerable_event_retrieve_params.rb +5 -4
  173. data/lib/modern_treasury/models/legal_entity.rb +62 -115
  174. data/lib/modern_treasury/models/legal_entity_association.rb +69 -134
  175. data/lib/modern_treasury/models/legal_entity_association_create_params.rb +66 -126
  176. data/lib/modern_treasury/models/legal_entity_compliance_detail.rb +109 -0
  177. data/lib/modern_treasury/models/legal_entity_create_params.rb +121 -236
  178. data/lib/modern_treasury/models/legal_entity_industry_classification.rb +107 -0
  179. data/lib/modern_treasury/models/legal_entity_list_params.rb +11 -20
  180. data/lib/modern_treasury/models/legal_entity_retrieve_params.rb +5 -4
  181. data/lib/modern_treasury/models/legal_entity_update_params.rb +53 -97
  182. data/lib/modern_treasury/models/line_item.rb +21 -28
  183. data/lib/modern_treasury/models/line_item_list_params.rb +8 -17
  184. data/lib/modern_treasury/models/line_item_retrieve_params.rb +8 -17
  185. data/lib/modern_treasury/models/line_item_update_params.rb +10 -19
  186. data/lib/modern_treasury/models/paper_item.rb +11 -21
  187. data/lib/modern_treasury/models/paper_item_list_params.rb +6 -5
  188. data/lib/modern_treasury/models/paper_item_retrieve_params.rb +5 -4
  189. data/lib/modern_treasury/models/payment_flow.rb +41 -78
  190. data/lib/modern_treasury/models/payment_flow_create_params.rb +14 -24
  191. data/lib/modern_treasury/models/payment_flow_list_params.rb +5 -4
  192. data/lib/modern_treasury/models/payment_flow_retrieve_params.rb +5 -4
  193. data/lib/modern_treasury/models/payment_flow_update_params.rb +10 -18
  194. data/lib/modern_treasury/models/payment_order.rb +138 -223
  195. data/lib/modern_treasury/models/payment_order_create_async_params.rb +213 -375
  196. data/lib/modern_treasury/models/payment_order_create_params.rb +221 -400
  197. data/lib/modern_treasury/models/payment_order_list_params.rb +21 -67
  198. data/lib/modern_treasury/models/payment_order_retrieve_params.rb +5 -4
  199. data/lib/modern_treasury/models/payment_order_subtype.rb +6 -25
  200. data/lib/modern_treasury/models/payment_order_type.rb +5 -24
  201. data/lib/modern_treasury/models/payment_order_update_params.rb +170 -325
  202. data/lib/modern_treasury/models/payment_orders/reversal.rb +17 -47
  203. data/lib/modern_treasury/models/payment_orders/reversal_create_params.rb +65 -107
  204. data/lib/modern_treasury/models/payment_orders/reversal_list_params.rb +5 -4
  205. data/lib/modern_treasury/models/payment_orders/reversal_retrieve_params.rb +5 -4
  206. data/lib/modern_treasury/models/payment_reference.rb +21 -44
  207. data/lib/modern_treasury/models/payment_reference_list_params.rb +11 -23
  208. data/lib/modern_treasury/models/payment_reference_retireve_params.rb +5 -4
  209. data/lib/modern_treasury/models/payment_reference_retrieve_params.rb +5 -4
  210. data/lib/modern_treasury/models/ping_response.rb +3 -2
  211. data/lib/modern_treasury/models/reconciliation_rule.rb +17 -43
  212. data/lib/modern_treasury/models/return_create_params.rb +36 -55
  213. data/lib/modern_treasury/models/return_list_params.rb +12 -28
  214. data/lib/modern_treasury/models/return_object.rb +67 -146
  215. data/lib/modern_treasury/models/return_retrieve_params.rb +5 -4
  216. data/lib/modern_treasury/models/routing_detail.rb +24 -56
  217. data/lib/modern_treasury/models/routing_detail_create_params.rb +20 -65
  218. data/lib/modern_treasury/models/routing_detail_delete_params.rb +8 -15
  219. data/lib/modern_treasury/models/routing_detail_list_params.rb +5 -4
  220. data/lib/modern_treasury/models/routing_detail_retrieve_params.rb +5 -4
  221. data/lib/modern_treasury/models/routing_number_lookup_request.rb +25 -57
  222. data/lib/modern_treasury/models/transaction.rb +52 -83
  223. data/lib/modern_treasury/models/transaction_create_params.rb +19 -37
  224. data/lib/modern_treasury/models/transaction_delete_params.rb +5 -4
  225. data/lib/modern_treasury/models/transaction_direction.rb +3 -13
  226. data/lib/modern_treasury/models/transaction_list_params.rb +13 -12
  227. data/lib/modern_treasury/models/transaction_retrieve_params.rb +5 -4
  228. data/lib/modern_treasury/models/transaction_update_params.rb +7 -6
  229. data/lib/modern_treasury/models/transactions/line_item_create_params.rb +6 -5
  230. data/lib/modern_treasury/models/transactions/line_item_delete_params.rb +5 -4
  231. data/lib/modern_treasury/models/transactions/line_item_list_params.rb +9 -18
  232. data/lib/modern_treasury/models/transactions/line_item_retrieve_params.rb +5 -4
  233. data/lib/modern_treasury/models/transactions/transaction_line_item.rb +25 -50
  234. data/lib/modern_treasury/models/validation_validate_routing_number_params.rb +14 -32
  235. data/lib/modern_treasury/models/virtual_account.rb +17 -14
  236. data/lib/modern_treasury/models/virtual_account_create_params.rb +56 -119
  237. data/lib/modern_treasury/models/virtual_account_delete_params.rb +5 -4
  238. data/lib/modern_treasury/models/virtual_account_list_params.rb +8 -7
  239. data/lib/modern_treasury/models/virtual_account_retrieve_params.rb +5 -4
  240. data/lib/modern_treasury/models/virtual_account_update_params.rb +6 -5
  241. data/lib/modern_treasury/models/wealth_and_employment_details.rb +28 -128
  242. data/lib/modern_treasury/request_options.rb +14 -53
  243. data/lib/modern_treasury/resources/account_collection_flows.rb +30 -38
  244. data/lib/modern_treasury/resources/account_details.rb +60 -64
  245. data/lib/modern_treasury/resources/bulk_requests.rb +25 -36
  246. data/lib/modern_treasury/resources/bulk_results.rb +19 -27
  247. data/lib/modern_treasury/resources/connection_legal_entities.rb +29 -35
  248. data/lib/modern_treasury/resources/connections.rb +11 -13
  249. data/lib/modern_treasury/resources/counterparties.rb +60 -106
  250. data/lib/modern_treasury/resources/documents.rb +24 -31
  251. data/lib/modern_treasury/resources/events.rb +19 -24
  252. data/lib/modern_treasury/resources/expected_payments.rb +73 -146
  253. data/lib/modern_treasury/resources/external_accounts.rb +67 -110
  254. data/lib/modern_treasury/resources/foreign_exchange_quotes.rb +30 -46
  255. data/lib/modern_treasury/resources/incoming_payment_details.rb +39 -63
  256. data/lib/modern_treasury/resources/internal_accounts/balance_reports.rb +48 -56
  257. data/lib/modern_treasury/resources/internal_accounts.rb +43 -67
  258. data/lib/modern_treasury/resources/invoices/line_items.rb +62 -91
  259. data/lib/modern_treasury/resources/invoices.rb +93 -199
  260. data/lib/modern_treasury/resources/ledger_account_balance_monitors.rb +36 -49
  261. data/lib/modern_treasury/resources/ledger_account_categories.rb +96 -122
  262. data/lib/modern_treasury/resources/ledger_account_settlements/account_entries.rb +18 -19
  263. data/lib/modern_treasury/resources/ledger_account_settlements.rb +44 -79
  264. data/lib/modern_treasury/resources/ledger_account_statements.rb +15 -22
  265. data/lib/modern_treasury/resources/ledger_accounts.rb +57 -108
  266. data/lib/modern_treasury/resources/ledger_entries.rb +42 -84
  267. data/lib/modern_treasury/resources/ledger_event_handlers.rb +32 -46
  268. data/lib/modern_treasury/resources/ledger_transactions/versions.rb +13 -22
  269. data/lib/modern_treasury/resources/ledger_transactions.rb +80 -162
  270. data/lib/modern_treasury/resources/ledgerable_events.rb +14 -17
  271. data/lib/modern_treasury/resources/ledgers.rb +36 -51
  272. data/lib/modern_treasury/resources/legal_entities.rb +77 -125
  273. data/lib/modern_treasury/resources/legal_entity_associations.rb +11 -16
  274. data/lib/modern_treasury/resources/line_items.rb +49 -52
  275. data/lib/modern_treasury/resources/paper_items.rb +17 -21
  276. data/lib/modern_treasury/resources/payment_flows.rb +35 -53
  277. data/lib/modern_treasury/resources/payment_orders/reversals.rb +29 -38
  278. data/lib/modern_treasury/resources/payment_orders.rb +150 -432
  279. data/lib/modern_treasury/resources/payment_references.rb +18 -39
  280. data/lib/modern_treasury/resources/returns.rb +28 -43
  281. data/lib/modern_treasury/resources/routing_details.rb +61 -68
  282. data/lib/modern_treasury/resources/transactions/line_items.rb +28 -34
  283. data/lib/modern_treasury/resources/transactions.rb +54 -91
  284. data/lib/modern_treasury/resources/validations.rb +8 -11
  285. data/lib/modern_treasury/resources/virtual_accounts.rb +45 -70
  286. data/lib/modern_treasury/version.rb +1 -1
  287. data/lib/modern_treasury.rb +35 -7
  288. data/manifest.yaml +3 -0
  289. data/rbi/lib/modern_treasury/client.rbi +61 -86
  290. data/rbi/lib/modern_treasury/errors.rbi +125 -127
  291. data/rbi/lib/modern_treasury/internal/page.rbi +29 -0
  292. data/rbi/lib/modern_treasury/internal/transport/base_client.rbi +198 -0
  293. data/rbi/lib/modern_treasury/internal/transport/pooled_net_requester.rbi +60 -0
  294. data/rbi/lib/modern_treasury/internal/type/array_of.rbi +79 -0
  295. data/rbi/lib/modern_treasury/internal/type/base_model.rbi +193 -0
  296. data/rbi/lib/modern_treasury/internal/type/base_page.rbi +36 -0
  297. data/rbi/lib/modern_treasury/internal/type/boolean.rbi +43 -0
  298. data/rbi/lib/modern_treasury/internal/type/converter.rbi +104 -0
  299. data/rbi/lib/modern_treasury/internal/type/enum.rbi +59 -0
  300. data/rbi/lib/modern_treasury/internal/type/hash_of.rbi +79 -0
  301. data/rbi/lib/modern_treasury/internal/type/request_parameters.rbi +21 -0
  302. data/rbi/lib/modern_treasury/internal/type/union.rbi +69 -0
  303. data/rbi/lib/modern_treasury/internal/type/unknown.rbi +37 -0
  304. data/rbi/lib/modern_treasury/internal/util.rbi +254 -0
  305. data/rbi/lib/modern_treasury/internal.rbi +12 -0
  306. data/rbi/lib/modern_treasury/models/account_collection_flow.rbi +122 -123
  307. data/rbi/lib/modern_treasury/models/account_collection_flow_create_params.rbi +79 -49
  308. data/rbi/lib/modern_treasury/models/account_collection_flow_list_params.rbi +24 -42
  309. data/rbi/lib/modern_treasury/models/account_collection_flow_retrieve_params.rbi +8 -7
  310. data/rbi/lib/modern_treasury/models/account_collection_flow_update_params.rbi +34 -22
  311. data/rbi/lib/modern_treasury/models/account_detail.rbi +49 -82
  312. data/rbi/lib/modern_treasury/models/account_detail_create_params.rbi +65 -51
  313. data/rbi/lib/modern_treasury/models/account_detail_delete_params.rbi +29 -34
  314. data/rbi/lib/modern_treasury/models/account_detail_list_params.rbi +15 -29
  315. data/rbi/lib/modern_treasury/models/account_detail_retrieve_params.rbi +19 -29
  316. data/rbi/lib/modern_treasury/models/accounts_type.rbi +9 -7
  317. data/rbi/lib/modern_treasury/models/async_response.rbi +6 -18
  318. data/rbi/lib/modern_treasury/models/bank_settings.rbi +25 -68
  319. data/rbi/lib/modern_treasury/models/bulk_request.rbi +79 -114
  320. data/rbi/lib/modern_treasury/models/bulk_request_create_params.rbi +4133 -2573
  321. data/rbi/lib/modern_treasury/models/bulk_request_list_params.rbi +85 -76
  322. data/rbi/lib/modern_treasury/models/bulk_request_retrieve_params.rbi +8 -7
  323. data/rbi/lib/modern_treasury/models/bulk_result.rbi +124 -204
  324. data/rbi/lib/modern_treasury/models/bulk_result_list_params.rbi +89 -80
  325. data/rbi/lib/modern_treasury/models/bulk_result_retrieve_params.rbi +8 -7
  326. data/rbi/lib/modern_treasury/models/client_ping_params.rbi +8 -7
  327. data/rbi/lib/modern_treasury/models/connection.rbi +19 -62
  328. data/rbi/lib/modern_treasury/models/connection_legal_entity.rbi +37 -80
  329. data/rbi/lib/modern_treasury/models/connection_legal_entity_create_params.rbi +1185 -695
  330. data/rbi/lib/modern_treasury/models/connection_legal_entity_list_params.rbi +39 -49
  331. data/rbi/lib/modern_treasury/models/connection_legal_entity_retrieve_params.rbi +8 -7
  332. data/rbi/lib/modern_treasury/models/connection_legal_entity_update_params.rbi +34 -21
  333. data/rbi/lib/modern_treasury/models/connection_list_params.rbi +19 -29
  334. data/rbi/lib/modern_treasury/models/counterparty.rbi +264 -387
  335. data/rbi/lib/modern_treasury/models/counterparty_collect_account_params.rbi +120 -70
  336. data/rbi/lib/modern_treasury/models/counterparty_collect_account_response.rbi +14 -24
  337. data/rbi/lib/modern_treasury/models/counterparty_create_params.rbi +1998 -1124
  338. data/rbi/lib/modern_treasury/models/counterparty_delete_params.rbi +8 -7
  339. data/rbi/lib/modern_treasury/models/counterparty_list_params.rbi +40 -52
  340. data/rbi/lib/modern_treasury/models/counterparty_retrieve_params.rbi +8 -7
  341. data/rbi/lib/modern_treasury/models/counterparty_update_params.rbi +32 -42
  342. data/rbi/lib/modern_treasury/models/currency.rbi +197 -194
  343. data/rbi/lib/modern_treasury/models/document.rbi +96 -187
  344. data/rbi/lib/modern_treasury/models/document_create_params.rbi +53 -52
  345. data/rbi/lib/modern_treasury/models/document_list_params.rbi +61 -49
  346. data/rbi/lib/modern_treasury/models/document_retrieve_params.rbi +8 -7
  347. data/rbi/lib/modern_treasury/models/event.rbi +21 -65
  348. data/rbi/lib/modern_treasury/models/event_list_params.rbi +29 -47
  349. data/rbi/lib/modern_treasury/models/event_retrieve_params.rbi +8 -7
  350. data/rbi/lib/modern_treasury/models/expected_payment.rbi +123 -206
  351. data/rbi/lib/modern_treasury/models/expected_payment_create_params.rbi +331 -318
  352. data/rbi/lib/modern_treasury/models/expected_payment_delete_params.rbi +8 -7
  353. data/rbi/lib/modern_treasury/models/expected_payment_list_params.rbi +120 -122
  354. data/rbi/lib/modern_treasury/models/expected_payment_retrieve_params.rbi +8 -7
  355. data/rbi/lib/modern_treasury/models/expected_payment_type.rbi +40 -35
  356. data/rbi/lib/modern_treasury/models/expected_payment_update_params.rbi +94 -141
  357. data/rbi/lib/modern_treasury/models/external_account.rbi +170 -312
  358. data/rbi/lib/modern_treasury/models/external_account_complete_verification_params.rbi +10 -14
  359. data/rbi/lib/modern_treasury/models/external_account_create_params.rbi +737 -362
  360. data/rbi/lib/modern_treasury/models/external_account_delete_params.rbi +8 -7
  361. data/rbi/lib/modern_treasury/models/external_account_list_params.rbi +25 -37
  362. data/rbi/lib/modern_treasury/models/external_account_retrieve_params.rbi +8 -7
  363. data/rbi/lib/modern_treasury/models/external_account_type.rbi +17 -13
  364. data/rbi/lib/modern_treasury/models/external_account_update_params.rbi +73 -106
  365. data/rbi/lib/modern_treasury/models/external_account_verify_params.rbi +117 -103
  366. data/rbi/lib/modern_treasury/models/external_account_verify_response.rbi +310 -131
  367. data/rbi/lib/modern_treasury/models/foreign_exchange_quote.rbi +72 -133
  368. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_create_params.rbi +36 -49
  369. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_list_params.rbi +42 -57
  370. data/rbi/lib/modern_treasury/models/foreign_exchange_quote_retrieve_params.rbi +8 -7
  371. data/rbi/lib/modern_treasury/models/incoming_payment_detail.rbi +302 -249
  372. data/rbi/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rbi +109 -88
  373. data/rbi/lib/modern_treasury/models/incoming_payment_detail_list_params.rbi +103 -95
  374. data/rbi/lib/modern_treasury/models/incoming_payment_detail_retrieve_params.rbi +8 -7
  375. data/rbi/lib/modern_treasury/models/incoming_payment_detail_update_params.rbi +12 -14
  376. data/rbi/lib/modern_treasury/models/internal_account.rbi +114 -234
  377. data/rbi/lib/modern_treasury/models/internal_account_create_params.rbi +81 -113
  378. data/rbi/lib/modern_treasury/models/internal_account_list_params.rbi +94 -99
  379. data/rbi/lib/modern_treasury/models/internal_account_retrieve_params.rbi +8 -7
  380. data/rbi/lib/modern_treasury/models/internal_account_update_params.rbi +29 -36
  381. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report.rbi +176 -197
  382. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_create_params.rbi +169 -102
  383. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_delete_params.rbi +8 -15
  384. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_list_params.rbi +71 -38
  385. data/rbi/lib/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbi +8 -15
  386. data/rbi/lib/modern_treasury/models/invoice.rbi +256 -472
  387. data/rbi/lib/modern_treasury/models/invoice_add_payment_order_params.rbi +8 -18
  388. data/rbi/lib/modern_treasury/models/invoice_create_params.rbi +313 -415
  389. data/rbi/lib/modern_treasury/models/invoice_list_params.rbi +63 -81
  390. data/rbi/lib/modern_treasury/models/invoice_retrieve_params.rbi +8 -7
  391. data/rbi/lib/modern_treasury/models/invoice_update_params.rbi +321 -411
  392. data/rbi/lib/modern_treasury/models/invoices/invoice_line_item.rbi +38 -88
  393. data/rbi/lib/modern_treasury/models/invoices/line_item_create_params.rbi +39 -48
  394. data/rbi/lib/modern_treasury/models/invoices/line_item_delete_params.rbi +8 -15
  395. data/rbi/lib/modern_treasury/models/invoices/line_item_list_params.rbi +11 -20
  396. data/rbi/lib/modern_treasury/models/invoices/line_item_retrieve_params.rbi +8 -15
  397. data/rbi/lib/modern_treasury/models/invoices/line_item_update_params.rbi +44 -52
  398. data/rbi/lib/modern_treasury/models/ledger.rbi +19 -59
  399. data/rbi/lib/modern_treasury/models/ledger_account.rbi +157 -263
  400. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor.rbi +171 -266
  401. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_create_params.rbi +48 -55
  402. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_delete_params.rbi +8 -7
  403. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_list_params.rbi +26 -34
  404. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_retrieve_params.rbi +8 -7
  405. data/rbi/lib/modern_treasury/models/ledger_account_balance_monitor_update_params.rbi +16 -19
  406. data/rbi/lib/modern_treasury/models/ledger_account_category.rbi +132 -219
  407. data/rbi/lib/modern_treasury/models/ledger_account_category_add_ledger_account_params.rbi +8 -18
  408. data/rbi/lib/modern_treasury/models/ledger_account_category_add_nested_category_params.rbi +8 -18
  409. data/rbi/lib/modern_treasury/models/ledger_account_category_create_params.rbi +33 -60
  410. data/rbi/lib/modern_treasury/models/ledger_account_category_delete_params.rbi +8 -7
  411. data/rbi/lib/modern_treasury/models/ledger_account_category_list_params.rbi +67 -75
  412. data/rbi/lib/modern_treasury/models/ledger_account_category_remove_ledger_account_params.rbi +8 -18
  413. data/rbi/lib/modern_treasury/models/ledger_account_category_remove_nested_category_params.rbi +8 -18
  414. data/rbi/lib/modern_treasury/models/ledger_account_category_retrieve_params.rbi +36 -32
  415. data/rbi/lib/modern_treasury/models/ledger_account_category_update_params.rbi +18 -25
  416. data/rbi/lib/modern_treasury/models/ledger_account_create_params.rbi +71 -84
  417. data/rbi/lib/modern_treasury/models/ledger_account_delete_params.rbi +8 -7
  418. data/rbi/lib/modern_treasury/models/ledger_account_list_params.rbi +202 -223
  419. data/rbi/lib/modern_treasury/models/ledger_account_retrieve_params.rbi +47 -50
  420. data/rbi/lib/modern_treasury/models/ledger_account_settlement.rbi +61 -124
  421. data/rbi/lib/modern_treasury/models/ledger_account_settlement_create_params.rbi +55 -67
  422. data/rbi/lib/modern_treasury/models/ledger_account_settlement_list_params.rbi +47 -62
  423. data/rbi/lib/modern_treasury/models/ledger_account_settlement_retrieve_params.rbi +8 -7
  424. data/rbi/lib/modern_treasury/models/ledger_account_settlement_update_params.rbi +39 -34
  425. data/rbi/lib/modern_treasury/models/ledger_account_settlements/account_entry_delete_params.rbi +16 -23
  426. data/rbi/lib/modern_treasury/models/ledger_account_settlements/account_entry_update_params.rbi +10 -15
  427. data/rbi/lib/modern_treasury/models/ledger_account_statement_create_params.rbi +24 -40
  428. data/rbi/lib/modern_treasury/models/ledger_account_statement_create_response.rbi +257 -373
  429. data/rbi/lib/modern_treasury/models/ledger_account_statement_retrieve_params.rbi +8 -7
  430. data/rbi/lib/modern_treasury/models/ledger_account_statement_retrieve_response.rbi +255 -373
  431. data/rbi/lib/modern_treasury/models/ledger_account_update_params.rbi +18 -25
  432. data/rbi/lib/modern_treasury/models/ledger_create_params.rbi +16 -26
  433. data/rbi/lib/modern_treasury/models/ledger_delete_params.rbi +8 -7
  434. data/rbi/lib/modern_treasury/models/ledger_entry.rbi +180 -256
  435. data/rbi/lib/modern_treasury/models/ledger_entry_list_params.rbi +177 -158
  436. data/rbi/lib/modern_treasury/models/ledger_entry_retrieve_params.rbi +12 -14
  437. data/rbi/lib/modern_treasury/models/ledger_entry_update_params.rbi +12 -14
  438. data/rbi/lib/modern_treasury/models/ledger_event_handler.rbi +90 -173
  439. data/rbi/lib/modern_treasury/models/ledger_event_handler_create_params.rbi +93 -143
  440. data/rbi/lib/modern_treasury/models/ledger_event_handler_delete_params.rbi +8 -7
  441. data/rbi/lib/modern_treasury/models/ledger_event_handler_list_params.rbi +26 -34
  442. data/rbi/lib/modern_treasury/models/ledger_event_handler_retrieve_params.rbi +8 -7
  443. data/rbi/lib/modern_treasury/models/ledger_event_handler_variable.rbi +28 -41
  444. data/rbi/lib/modern_treasury/models/ledger_list_params.rbi +28 -34
  445. data/rbi/lib/modern_treasury/models/ledger_retrieve_params.rbi +8 -7
  446. data/rbi/lib/modern_treasury/models/ledger_transaction.rbi +89 -151
  447. data/rbi/lib/modern_treasury/models/ledger_transaction_create_params.rbi +152 -150
  448. data/rbi/lib/modern_treasury/models/ledger_transaction_create_partial_post_params.rbi +96 -72
  449. data/rbi/lib/modern_treasury/models/ledger_transaction_create_reversal_params.rbi +126 -70
  450. data/rbi/lib/modern_treasury/models/ledger_transaction_list_params.rbi +213 -167
  451. data/rbi/lib/modern_treasury/models/ledger_transaction_retrieve_params.rbi +8 -7
  452. data/rbi/lib/modern_treasury/models/ledger_transaction_update_params.rbi +152 -137
  453. data/rbi/lib/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbi +350 -409
  454. data/rbi/lib/modern_treasury/models/ledger_transactions/version_list_params.rbi +33 -42
  455. data/rbi/lib/modern_treasury/models/ledger_update_params.rbi +18 -25
  456. data/rbi/lib/modern_treasury/models/ledgerable_event.rbi +23 -68
  457. data/rbi/lib/modern_treasury/models/ledgerable_event_create_params.rbi +18 -32
  458. data/rbi/lib/modern_treasury/models/ledgerable_event_retrieve_params.rbi +8 -7
  459. data/rbi/lib/modern_treasury/models/legal_entity.rbi +259 -445
  460. data/rbi/lib/modern_treasury/models/legal_entity_association.rbi +512 -501
  461. data/rbi/lib/modern_treasury/models/legal_entity_association_create_params.rbi +618 -352
  462. data/rbi/lib/modern_treasury/models/legal_entity_compliance_detail.rbi +103 -0
  463. data/rbi/lib/modern_treasury/models/legal_entity_create_params.rbi +943 -658
  464. data/rbi/lib/modern_treasury/models/legal_entity_industry_classification.rbi +136 -0
  465. data/rbi/lib/modern_treasury/models/legal_entity_list_params.rbi +39 -47
  466. data/rbi/lib/modern_treasury/models/legal_entity_retrieve_params.rbi +8 -7
  467. data/rbi/lib/modern_treasury/models/legal_entity_update_params.rbi +297 -290
  468. data/rbi/lib/modern_treasury/models/line_item.rbi +62 -115
  469. data/rbi/lib/modern_treasury/models/line_item_list_params.rbi +27 -36
  470. data/rbi/lib/modern_treasury/models/line_item_retrieve_params.rbi +35 -39
  471. data/rbi/lib/modern_treasury/models/line_item_update_params.rbi +30 -36
  472. data/rbi/lib/modern_treasury/models/paper_item.rbi +58 -130
  473. data/rbi/lib/modern_treasury/models/paper_item_list_params.rbi +25 -37
  474. data/rbi/lib/modern_treasury/models/paper_item_retrieve_params.rbi +8 -7
  475. data/rbi/lib/modern_treasury/models/payment_flow.rbi +149 -149
  476. data/rbi/lib/modern_treasury/models/payment_flow_create_params.rbi +42 -56
  477. data/rbi/lib/modern_treasury/models/payment_flow_list_params.rbi +30 -52
  478. data/rbi/lib/modern_treasury/models/payment_flow_retrieve_params.rbi +8 -7
  479. data/rbi/lib/modern_treasury/models/payment_flow_update_params.rbi +31 -23
  480. data/rbi/lib/modern_treasury/models/payment_order.rbi +777 -629
  481. data/rbi/lib/modern_treasury/models/payment_order_create_async_params.rbi +1343 -814
  482. data/rbi/lib/modern_treasury/models/payment_order_create_params.rbi +1424 -879
  483. data/rbi/lib/modern_treasury/models/payment_order_list_params.rbi +165 -178
  484. data/rbi/lib/modern_treasury/models/payment_order_retrieve_params.rbi +8 -7
  485. data/rbi/lib/modern_treasury/models/payment_order_subtype.rbi +41 -34
  486. data/rbi/lib/modern_treasury/models/payment_order_type.rbi +40 -35
  487. data/rbi/lib/modern_treasury/models/payment_order_update_params.rbi +1155 -692
  488. data/rbi/lib/modern_treasury/models/payment_orders/reversal.rbi +63 -101
  489. data/rbi/lib/modern_treasury/models/payment_orders/reversal_create_params.rbi +288 -195
  490. data/rbi/lib/modern_treasury/models/payment_orders/reversal_list_params.rbi +11 -20
  491. data/rbi/lib/modern_treasury/models/payment_orders/reversal_retrieve_params.rbi +8 -15
  492. data/rbi/lib/modern_treasury/models/payment_reference.rbi +315 -154
  493. data/rbi/lib/modern_treasury/models/payment_reference_list_params.rbi +55 -49
  494. data/rbi/lib/modern_treasury/models/payment_reference_retireve_params.rbi +8 -7
  495. data/rbi/lib/modern_treasury/models/payment_reference_retrieve_params.rbi +8 -7
  496. data/rbi/lib/modern_treasury/models/ping_response.rbi +5 -12
  497. data/rbi/lib/modern_treasury/models/reconciliation_rule.rbi +99 -125
  498. data/rbi/lib/modern_treasury/models/return_create_params.rbi +117 -123
  499. data/rbi/lib/modern_treasury/models/return_list_params.rbi +51 -55
  500. data/rbi/lib/modern_treasury/models/return_object.rbi +622 -410
  501. data/rbi/lib/modern_treasury/models/return_retrieve_params.rbi +8 -7
  502. data/rbi/lib/modern_treasury/models/routing_detail.rbi +148 -220
  503. data/rbi/lib/modern_treasury/models/routing_detail_create_params.rbi +165 -111
  504. data/rbi/lib/modern_treasury/models/routing_detail_delete_params.rbi +29 -34
  505. data/rbi/lib/modern_treasury/models/routing_detail_list_params.rbi +15 -29
  506. data/rbi/lib/modern_treasury/models/routing_detail_retrieve_params.rbi +19 -29
  507. data/rbi/lib/modern_treasury/models/routing_number_lookup_request.rbi +198 -134
  508. data/rbi/lib/modern_treasury/models/transaction.rbi +210 -296
  509. data/rbi/lib/modern_treasury/models/transaction_create_params.rbi +87 -111
  510. data/rbi/lib/modern_treasury/models/transaction_delete_params.rbi +8 -7
  511. data/rbi/lib/modern_treasury/models/transaction_direction.rbi +10 -7
  512. data/rbi/lib/modern_treasury/models/transaction_list_params.rbi +61 -82
  513. data/rbi/lib/modern_treasury/models/transaction_retrieve_params.rbi +8 -7
  514. data/rbi/lib/modern_treasury/models/transaction_update_params.rbi +12 -14
  515. data/rbi/lib/modern_treasury/models/transactions/line_item_create_params.rbi +14 -27
  516. data/rbi/lib/modern_treasury/models/transactions/line_item_delete_params.rbi +7 -8
  517. data/rbi/lib/modern_treasury/models/transactions/line_item_list_params.rbi +34 -45
  518. data/rbi/lib/modern_treasury/models/transactions/line_item_retrieve_params.rbi +7 -8
  519. data/rbi/lib/modern_treasury/models/transactions/transaction_line_item.rbi +116 -124
  520. data/rbi/lib/modern_treasury/models/validation_validate_routing_number_params.rbi +145 -49
  521. data/rbi/lib/modern_treasury/models/virtual_account.rbi +42 -112
  522. data/rbi/lib/modern_treasury/models/virtual_account_create_params.rbi +590 -274
  523. data/rbi/lib/modern_treasury/models/virtual_account_delete_params.rbi +8 -7
  524. data/rbi/lib/modern_treasury/models/virtual_account_list_params.rbi +24 -37
  525. data/rbi/lib/modern_treasury/models/virtual_account_retrieve_params.rbi +8 -7
  526. data/rbi/lib/modern_treasury/models/virtual_account_update_params.rbi +18 -29
  527. data/rbi/lib/modern_treasury/models/wealth_and_employment_details.rbi +304 -266
  528. data/rbi/lib/modern_treasury/request_options.rbi +28 -66
  529. data/rbi/lib/modern_treasury/resources/account_collection_flows.rbi +35 -22
  530. data/rbi/lib/modern_treasury/resources/account_details.rbi +56 -25
  531. data/rbi/lib/modern_treasury/resources/bulk_requests.rbi +52 -32
  532. data/rbi/lib/modern_treasury/resources/bulk_results.rbi +25 -15
  533. data/rbi/lib/modern_treasury/resources/connection_legal_entities.rbi +40 -23
  534. data/rbi/lib/modern_treasury/resources/connections.rbi +15 -8
  535. data/rbi/lib/modern_treasury/resources/counterparties.rbi +84 -35
  536. data/rbi/lib/modern_treasury/resources/documents.rbi +31 -18
  537. data/rbi/lib/modern_treasury/resources/events.rbi +16 -12
  538. data/rbi/lib/modern_treasury/resources/expected_payments.rbi +118 -38
  539. data/rbi/lib/modern_treasury/resources/external_accounts.rbi +113 -46
  540. data/rbi/lib/modern_treasury/resources/foreign_exchange_quotes.rbi +36 -18
  541. data/rbi/lib/modern_treasury/resources/incoming_payment_details.rbi +61 -26
  542. data/rbi/lib/modern_treasury/resources/internal_accounts/balance_reports.rbi +64 -23
  543. data/rbi/lib/modern_treasury/resources/internal_accounts.rbi +55 -27
  544. data/rbi/lib/modern_treasury/resources/invoices/line_items.rbi +93 -24
  545. data/rbi/lib/modern_treasury/resources/invoices.rbi +178 -43
  546. data/rbi/lib/modern_treasury/resources/ledger_account_balance_monitors.rbi +57 -25
  547. data/rbi/lib/modern_treasury/resources/ledger_account_categories.rbi +108 -43
  548. data/rbi/lib/modern_treasury/resources/ledger_account_settlements/account_entries.rbi +34 -12
  549. data/rbi/lib/modern_treasury/resources/ledger_account_settlements.rbi +63 -24
  550. data/rbi/lib/modern_treasury/resources/ledger_account_statements.rbi +22 -11
  551. data/rbi/lib/modern_treasury/resources/ledger_accounts.rbi +100 -31
  552. data/rbi/lib/modern_treasury/resources/ledger_entries.rbi +64 -19
  553. data/rbi/lib/modern_treasury/resources/ledger_event_handlers.rbi +48 -23
  554. data/rbi/lib/modern_treasury/resources/ledger_transactions/versions.rbi +23 -8
  555. data/rbi/lib/modern_treasury/resources/ledger_transactions.rbi +130 -42
  556. data/rbi/lib/modern_treasury/resources/ledgerable_events.rbi +24 -11
  557. data/rbi/lib/modern_treasury/resources/ledgers.rbi +62 -24
  558. data/rbi/lib/modern_treasury/resources/legal_entities.rbi +98 -37
  559. data/rbi/lib/modern_treasury/resources/legal_entity_associations.rbi +17 -9
  560. data/rbi/lib/modern_treasury/resources/line_items.rbi +45 -19
  561. data/rbi/lib/modern_treasury/resources/paper_items.rbi +18 -12
  562. data/rbi/lib/modern_treasury/resources/payment_flows.rbi +40 -22
  563. data/rbi/lib/modern_treasury/resources/payment_orders/reversals.rbi +60 -18
  564. data/rbi/lib/modern_treasury/resources/payment_orders.rbi +355 -66
  565. data/rbi/lib/modern_treasury/resources/payment_references.rbi +20 -23
  566. data/rbi/lib/modern_treasury/resources/returns.rbi +40 -19
  567. data/rbi/lib/modern_treasury/resources/routing_details.rbi +54 -26
  568. data/rbi/lib/modern_treasury/resources/transactions/line_items.rbi +53 -18
  569. data/rbi/lib/modern_treasury/resources/transactions.rbi +67 -27
  570. data/rbi/lib/modern_treasury/resources/validations.rbi +17 -8
  571. data/rbi/lib/modern_treasury/resources/virtual_accounts.rbi +65 -27
  572. data/rbi/lib/modern_treasury/version.rbi +1 -1
  573. data/sig/modern_treasury/client.rbs +13 -9
  574. data/sig/modern_treasury/errors.rbs +98 -95
  575. data/sig/modern_treasury/internal/page.rbs +19 -0
  576. data/sig/modern_treasury/internal/transport/base_client.rbs +110 -0
  577. data/sig/modern_treasury/internal/transport/pooled_net_requester.rbs +41 -0
  578. data/sig/modern_treasury/internal/type/array_of.rbs +38 -0
  579. data/sig/modern_treasury/internal/type/base_model.rbs +81 -0
  580. data/sig/modern_treasury/internal/type/base_page.rbs +24 -0
  581. data/sig/modern_treasury/internal/type/boolean.rbs +20 -0
  582. data/sig/modern_treasury/internal/type/converter.rbs +44 -0
  583. data/sig/modern_treasury/internal/type/enum.rbs +24 -0
  584. data/sig/modern_treasury/internal/type/hash_of.rbs +38 -0
  585. data/sig/modern_treasury/internal/type/request_parameters.rbs +16 -0
  586. data/sig/modern_treasury/internal/type/union.rbs +42 -0
  587. data/sig/modern_treasury/internal/type/unknown.rbs +20 -0
  588. data/sig/modern_treasury/internal/util.rbs +139 -0
  589. data/sig/modern_treasury/{extern.rbs → internal.rbs} +2 -1
  590. data/sig/modern_treasury/models/account_collection_flow.rbs +26 -25
  591. data/sig/modern_treasury/models/account_collection_flow_create_params.rbs +14 -17
  592. data/sig/modern_treasury/models/account_collection_flow_list_params.rbs +13 -18
  593. data/sig/modern_treasury/models/account_collection_flow_retrieve_params.rbs +5 -10
  594. data/sig/modern_treasury/models/account_collection_flow_update_params.rbs +12 -15
  595. data/sig/modern_treasury/models/account_detail.rbs +16 -19
  596. data/sig/modern_treasury/models/account_detail_create_params.rbs +18 -19
  597. data/sig/modern_treasury/models/account_detail_delete_params.rbs +13 -16
  598. data/sig/modern_treasury/models/account_detail_list_params.rbs +10 -15
  599. data/sig/modern_treasury/models/account_detail_retrieve_params.rbs +9 -14
  600. data/sig/modern_treasury/models/accounts_type.rbs +4 -2
  601. data/sig/modern_treasury/models/async_response.rbs +2 -7
  602. data/sig/modern_treasury/models/bank_settings.rbs +13 -18
  603. data/sig/modern_treasury/models/bulk_request.rbs +36 -27
  604. data/sig/modern_treasury/models/bulk_request_create_params.rbs +537 -616
  605. data/sig/modern_treasury/models/bulk_request_list_params.rbs +34 -26
  606. data/sig/modern_treasury/models/bulk_request_retrieve_params.rbs +5 -10
  607. data/sig/modern_treasury/models/bulk_result.rbs +52 -50
  608. data/sig/modern_treasury/models/bulk_result_list_params.rbs +32 -27
  609. data/sig/modern_treasury/models/bulk_result_retrieve_params.rbs +6 -10
  610. data/sig/modern_treasury/models/client_ping_params.rbs +6 -10
  611. data/sig/modern_treasury/models/connection.rbs +12 -16
  612. data/sig/modern_treasury/models/connection_legal_entity.rbs +17 -20
  613. data/sig/modern_treasury/models/connection_legal_entity_create_params.rbs +175 -179
  614. data/sig/modern_treasury/models/connection_legal_entity_list_params.rbs +16 -19
  615. data/sig/modern_treasury/models/connection_legal_entity_retrieve_params.rbs +5 -10
  616. data/sig/modern_treasury/models/connection_legal_entity_update_params.rbs +12 -15
  617. data/sig/modern_treasury/models/connection_list_params.rbs +11 -16
  618. data/sig/modern_treasury/models/counterparty.rbs +82 -91
  619. data/sig/modern_treasury/models/counterparty_collect_account_params.rbs +17 -20
  620. data/sig/modern_treasury/models/counterparty_collect_account_response.rbs +2 -7
  621. data/sig/modern_treasury/models/counterparty_create_params.rbs +276 -297
  622. data/sig/modern_treasury/models/counterparty_delete_params.rbs +6 -10
  623. data/sig/modern_treasury/models/counterparty_list_params.rbs +15 -20
  624. data/sig/modern_treasury/models/counterparty_retrieve_params.rbs +5 -10
  625. data/sig/modern_treasury/models/counterparty_update_params.rbs +13 -18
  626. data/sig/modern_treasury/models/currency.rbs +4 -2
  627. data/sig/modern_treasury/models/document.rbs +36 -44
  628. data/sig/modern_treasury/models/document_create_params.rbs +15 -18
  629. data/sig/modern_treasury/models/document_list_params.rbs +15 -18
  630. data/sig/modern_treasury/models/document_retrieve_params.rbs +6 -10
  631. data/sig/modern_treasury/models/event.rbs +13 -17
  632. data/sig/modern_treasury/models/event_list_params.rbs +14 -19
  633. data/sig/modern_treasury/models/event_retrieve_params.rbs +6 -10
  634. data/sig/modern_treasury/models/expected_payment.rbs +41 -40
  635. data/sig/modern_treasury/models/expected_payment_create_params.rbs +69 -83
  636. data/sig/modern_treasury/models/expected_payment_delete_params.rbs +5 -10
  637. data/sig/modern_treasury/models/expected_payment_list_params.rbs +25 -26
  638. data/sig/modern_treasury/models/expected_payment_retrieve_params.rbs +5 -10
  639. data/sig/modern_treasury/models/expected_payment_type.rbs +4 -2
  640. data/sig/modern_treasury/models/expected_payment_update_params.rbs +32 -33
  641. data/sig/modern_treasury/models/external_account.rbs +63 -70
  642. data/sig/modern_treasury/models/external_account_complete_verification_params.rbs +9 -13
  643. data/sig/modern_treasury/models/external_account_create_params.rbs +82 -100
  644. data/sig/modern_treasury/models/external_account_delete_params.rbs +5 -10
  645. data/sig/modern_treasury/models/external_account_list_params.rbs +12 -17
  646. data/sig/modern_treasury/models/external_account_retrieve_params.rbs +5 -10
  647. data/sig/modern_treasury/models/external_account_type.rbs +4 -2
  648. data/sig/modern_treasury/models/external_account_update_params.rbs +27 -35
  649. data/sig/modern_treasury/models/external_account_verify_params.rbs +24 -23
  650. data/sig/modern_treasury/models/external_account_verify_response.rbs +29 -26
  651. data/sig/modern_treasury/models/foreign_exchange_quote.rbs +25 -35
  652. data/sig/modern_treasury/models/foreign_exchange_quote_create_params.rbs +13 -18
  653. data/sig/modern_treasury/models/foreign_exchange_quote_list_params.rbs +16 -21
  654. data/sig/modern_treasury/models/foreign_exchange_quote_retrieve_params.rbs +5 -10
  655. data/sig/modern_treasury/models/incoming_payment_detail.rbs +61 -42
  656. data/sig/modern_treasury/models/incoming_payment_detail_create_async_params.rbs +44 -25
  657. data/sig/modern_treasury/models/incoming_payment_detail_list_params.rbs +41 -26
  658. data/sig/modern_treasury/models/incoming_payment_detail_retrieve_params.rbs +5 -10
  659. data/sig/modern_treasury/models/incoming_payment_detail_update_params.rbs +9 -13
  660. data/sig/modern_treasury/models/internal_account.rbs +44 -50
  661. data/sig/modern_treasury/models/internal_account_create_params.rbs +29 -37
  662. data/sig/modern_treasury/models/internal_account_list_params.rbs +19 -22
  663. data/sig/modern_treasury/models/internal_account_retrieve_params.rbs +5 -10
  664. data/sig/modern_treasury/models/internal_account_update_params.rbs +12 -17
  665. data/sig/modern_treasury/models/internal_accounts/balance_report.rbs +41 -47
  666. data/sig/modern_treasury/models/internal_accounts/balance_report_create_params.rbs +26 -32
  667. data/sig/modern_treasury/models/internal_accounts/balance_report_delete_params.rbs +9 -13
  668. data/sig/modern_treasury/models/internal_accounts/balance_report_list_params.rbs +15 -18
  669. data/sig/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbs +9 -13
  670. data/sig/modern_treasury/models/invoice.rbs +94 -110
  671. data/sig/modern_treasury/models/invoice_add_payment_order_params.rbs +8 -10
  672. data/sig/modern_treasury/models/invoice_create_params.rbs +88 -114
  673. data/sig/modern_treasury/models/invoice_list_params.rbs +22 -25
  674. data/sig/modern_treasury/models/invoice_retrieve_params.rbs +6 -10
  675. data/sig/modern_treasury/models/invoice_update_params.rbs +88 -114
  676. data/sig/modern_treasury/models/invoices/invoice_line_item.rbs +16 -22
  677. data/sig/modern_treasury/models/invoices/line_item_create_params.rbs +14 -19
  678. data/sig/modern_treasury/models/invoices/line_item_delete_params.rbs +9 -13
  679. data/sig/modern_treasury/models/invoices/line_item_list_params.rbs +9 -14
  680. data/sig/modern_treasury/models/invoices/line_item_retrieve_params.rbs +9 -13
  681. data/sig/modern_treasury/models/invoices/line_item_update_params.rbs +15 -20
  682. data/sig/modern_treasury/models/ledger.rbs +12 -16
  683. data/sig/modern_treasury/models/ledger_account.rbs +54 -77
  684. data/sig/modern_treasury/models/ledger_account_balance_monitor.rbs +56 -87
  685. data/sig/modern_treasury/models/ledger_account_balance_monitor_create_params.rbs +17 -23
  686. data/sig/modern_treasury/models/ledger_account_balance_monitor_delete_params.rbs +5 -10
  687. data/sig/modern_treasury/models/ledger_account_balance_monitor_list_params.rbs +12 -17
  688. data/sig/modern_treasury/models/ledger_account_balance_monitor_retrieve_params.rbs +5 -10
  689. data/sig/modern_treasury/models/ledger_account_balance_monitor_update_params.rbs +9 -14
  690. data/sig/modern_treasury/models/ledger_account_category.rbs +45 -70
  691. data/sig/modern_treasury/models/ledger_account_category_add_ledger_account_params.rbs +8 -10
  692. data/sig/modern_treasury/models/ledger_account_category_add_nested_category_params.rbs +8 -10
  693. data/sig/modern_treasury/models/ledger_account_category_create_params.rbs +15 -20
  694. data/sig/modern_treasury/models/ledger_account_category_delete_params.rbs +5 -10
  695. data/sig/modern_treasury/models/ledger_account_category_list_params.rbs +19 -29
  696. data/sig/modern_treasury/models/ledger_account_category_remove_ledger_account_params.rbs +8 -10
  697. data/sig/modern_treasury/models/ledger_account_category_remove_nested_category_params.rbs +8 -10
  698. data/sig/modern_treasury/models/ledger_account_category_retrieve_params.rbs +10 -20
  699. data/sig/modern_treasury/models/ledger_account_category_update_params.rbs +10 -15
  700. data/sig/modern_treasury/models/ledger_account_create_params.rbs +21 -24
  701. data/sig/modern_treasury/models/ledger_account_delete_params.rbs +5 -10
  702. data/sig/modern_treasury/models/ledger_account_list_params.rbs +55 -80
  703. data/sig/modern_treasury/models/ledger_account_retrieve_params.rbs +16 -26
  704. data/sig/modern_treasury/models/ledger_account_settlement.rbs +24 -27
  705. data/sig/modern_treasury/models/ledger_account_settlement_create_params.rbs +19 -22
  706. data/sig/modern_treasury/models/ledger_account_settlement_list_params.rbs +17 -22
  707. data/sig/modern_treasury/models/ledger_account_settlement_retrieve_params.rbs +5 -10
  708. data/sig/modern_treasury/models/ledger_account_settlement_update_params.rbs +14 -17
  709. data/sig/modern_treasury/models/ledger_account_settlements/account_entry_delete_params.rbs +10 -14
  710. data/sig/modern_treasury/models/ledger_account_settlements/account_entry_update_params.rbs +8 -13
  711. data/sig/modern_treasury/models/ledger_account_statement_create_params.rbs +12 -17
  712. data/sig/modern_treasury/models/ledger_account_statement_create_response.rbs +78 -123
  713. data/sig/modern_treasury/models/ledger_account_statement_retrieve_params.rbs +5 -10
  714. data/sig/modern_treasury/models/ledger_account_statement_retrieve_response.rbs +78 -123
  715. data/sig/modern_treasury/models/ledger_account_update_params.rbs +10 -15
  716. data/sig/modern_treasury/models/ledger_create_params.rbs +10 -15
  717. data/sig/modern_treasury/models/ledger_delete_params.rbs +6 -10
  718. data/sig/modern_treasury/models/ledger_entry.rbs +53 -75
  719. data/sig/modern_treasury/models/ledger_entry_list_params.rbs +44 -48
  720. data/sig/modern_treasury/models/ledger_entry_retrieve_params.rbs +9 -13
  721. data/sig/modern_treasury/models/ledger_entry_update_params.rbs +9 -13
  722. data/sig/modern_treasury/models/ledger_event_handler.rbs +31 -51
  723. data/sig/modern_treasury/models/ledger_event_handler_create_params.rbs +29 -49
  724. data/sig/modern_treasury/models/ledger_event_handler_delete_params.rbs +5 -10
  725. data/sig/modern_treasury/models/ledger_event_handler_list_params.rbs +12 -17
  726. data/sig/modern_treasury/models/ledger_event_handler_retrieve_params.rbs +5 -10
  727. data/sig/modern_treasury/models/ledger_event_handler_variable.rbs +7 -17
  728. data/sig/modern_treasury/models/ledger_list_params.rbs +12 -17
  729. data/sig/modern_treasury/models/ledger_retrieve_params.rbs +6 -10
  730. data/sig/modern_treasury/models/ledger_transaction.rbs +30 -31
  731. data/sig/modern_treasury/models/ledger_transaction_create_params.rbs +36 -42
  732. data/sig/modern_treasury/models/ledger_transaction_create_partial_post_params.rbs +22 -30
  733. data/sig/modern_treasury/models/ledger_transaction_create_reversal_params.rbs +22 -23
  734. data/sig/modern_treasury/models/ledger_transaction_list_params.rbs +47 -49
  735. data/sig/modern_treasury/models/ledger_transaction_retrieve_params.rbs +5 -10
  736. data/sig/modern_treasury/models/ledger_transaction_update_params.rbs +34 -40
  737. data/sig/modern_treasury/models/ledger_transactions/ledger_transaction_version.rbs +82 -107
  738. data/sig/modern_treasury/models/ledger_transactions/version_list_params.rbs +13 -18
  739. data/sig/modern_treasury/models/ledger_update_params.rbs +10 -15
  740. data/sig/modern_treasury/models/ledgerable_event.rbs +13 -18
  741. data/sig/modern_treasury/models/ledgerable_event_create_params.rbs +11 -16
  742. data/sig/modern_treasury/models/ledgerable_event_retrieve_params.rbs +5 -10
  743. data/sig/modern_treasury/models/legal_entity.rbs +90 -91
  744. data/sig/modern_treasury/models/legal_entity_association.rbs +107 -112
  745. data/sig/modern_treasury/models/legal_entity_association_create_params.rbs +93 -94
  746. data/sig/modern_treasury/models/legal_entity_compliance_detail.rbs +62 -0
  747. data/sig/modern_treasury/models/legal_entity_create_params.rbs +169 -168
  748. data/sig/modern_treasury/models/legal_entity_industry_classification.rbs +85 -0
  749. data/sig/modern_treasury/models/legal_entity_list_params.rbs +16 -19
  750. data/sig/modern_treasury/models/legal_entity_retrieve_params.rbs +5 -10
  751. data/sig/modern_treasury/models/legal_entity_update_params.rbs +75 -75
  752. data/sig/modern_treasury/models/line_item.rbs +22 -29
  753. data/sig/modern_treasury/models/line_item_list_params.rbs +14 -17
  754. data/sig/modern_treasury/models/line_item_retrieve_params.rbs +13 -16
  755. data/sig/modern_treasury/models/line_item_update_params.rbs +14 -17
  756. data/sig/modern_treasury/models/paper_item.rbs +25 -27
  757. data/sig/modern_treasury/models/paper_item_list_params.rbs +12 -17
  758. data/sig/modern_treasury/models/paper_item_retrieve_params.rbs +6 -10
  759. data/sig/modern_treasury/models/payment_flow.rbs +38 -34
  760. data/sig/modern_treasury/models/payment_flow_create_params.rbs +17 -20
  761. data/sig/modern_treasury/models/payment_flow_list_params.rbs +15 -20
  762. data/sig/modern_treasury/models/payment_flow_retrieve_params.rbs +5 -10
  763. data/sig/modern_treasury/models/payment_flow_update_params.rbs +12 -15
  764. data/sig/modern_treasury/models/payment_order.rbs +117 -113
  765. data/sig/modern_treasury/models/payment_order_create_async_params.rbs +180 -209
  766. data/sig/modern_treasury/models/payment_order_create_params.rbs +192 -224
  767. data/sig/modern_treasury/models/payment_order_list_params.rbs +36 -35
  768. data/sig/modern_treasury/models/payment_order_retrieve_params.rbs +5 -10
  769. data/sig/modern_treasury/models/payment_order_subtype.rbs +4 -2
  770. data/sig/modern_treasury/models/payment_order_type.rbs +4 -2
  771. data/sig/modern_treasury/models/payment_order_update_params.rbs +151 -172
  772. data/sig/modern_treasury/models/payment_orders/reversal.rbs +22 -23
  773. data/sig/modern_treasury/models/payment_orders/reversal_create_params.rbs +46 -55
  774. data/sig/modern_treasury/models/payment_orders/reversal_list_params.rbs +9 -14
  775. data/sig/modern_treasury/models/payment_orders/reversal_retrieve_params.rbs +9 -13
  776. data/sig/modern_treasury/models/payment_reference.rbs +26 -21
  777. data/sig/modern_treasury/models/payment_reference_list_params.rbs +16 -19
  778. data/sig/modern_treasury/models/payment_reference_retireve_params.rbs +5 -10
  779. data/sig/modern_treasury/models/payment_reference_retrieve_params.rbs +5 -10
  780. data/sig/modern_treasury/models/ping_response.rbs +2 -7
  781. data/sig/modern_treasury/models/reconciliation_rule.rbs +21 -22
  782. data/sig/modern_treasury/models/return_create_params.rbs +37 -34
  783. data/sig/modern_treasury/models/return_list_params.rbs +17 -20
  784. data/sig/modern_treasury/models/return_object.rbs +83 -71
  785. data/sig/modern_treasury/models/return_retrieve_params.rbs +6 -10
  786. data/sig/modern_treasury/models/routing_detail.rbs +36 -42
  787. data/sig/modern_treasury/models/routing_detail_create_params.rbs +23 -22
  788. data/sig/modern_treasury/models/routing_detail_delete_params.rbs +13 -16
  789. data/sig/modern_treasury/models/routing_detail_list_params.rbs +10 -15
  790. data/sig/modern_treasury/models/routing_detail_retrieve_params.rbs +9 -14
  791. data/sig/modern_treasury/models/routing_number_lookup_request.rbs +28 -32
  792. data/sig/modern_treasury/models/transaction.rbs +50 -53
  793. data/sig/modern_treasury/models/transaction_create_params.rbs +21 -24
  794. data/sig/modern_treasury/models/transaction_delete_params.rbs +6 -10
  795. data/sig/modern_treasury/models/transaction_direction.rbs +4 -2
  796. data/sig/modern_treasury/models/transaction_list_params.rbs +21 -26
  797. data/sig/modern_treasury/models/transaction_retrieve_params.rbs +6 -10
  798. data/sig/modern_treasury/models/transaction_update_params.rbs +9 -13
  799. data/sig/modern_treasury/models/transactions/line_item_create_params.rbs +10 -15
  800. data/sig/modern_treasury/models/transactions/line_item_delete_params.rbs +6 -10
  801. data/sig/modern_treasury/models/transactions/line_item_list_params.rbs +16 -19
  802. data/sig/modern_treasury/models/transactions/line_item_retrieve_params.rbs +6 -10
  803. data/sig/modern_treasury/models/transactions/transaction_line_item.rbs +26 -28
  804. data/sig/modern_treasury/models/validation_validate_routing_number_params.rbs +13 -16
  805. data/sig/modern_treasury/models/virtual_account.rbs +19 -24
  806. data/sig/modern_treasury/models/virtual_account_create_params.rbs +57 -69
  807. data/sig/modern_treasury/models/virtual_account_delete_params.rbs +5 -10
  808. data/sig/modern_treasury/models/virtual_account_list_params.rbs +12 -17
  809. data/sig/modern_treasury/models/virtual_account_retrieve_params.rbs +5 -10
  810. data/sig/modern_treasury/models/virtual_account_update_params.rbs +11 -16
  811. data/sig/modern_treasury/models/wealth_and_employment_details.rbs +45 -38
  812. data/sig/modern_treasury/request_options.rbs +7 -13
  813. data/sig/modern_treasury/resources/account_collection_flows.rbs +24 -46
  814. data/sig/modern_treasury/resources/account_details.rbs +26 -50
  815. data/sig/modern_treasury/resources/bulk_requests.rbs +20 -36
  816. data/sig/modern_treasury/resources/bulk_results.rbs +14 -25
  817. data/sig/modern_treasury/resources/connection_legal_entities.rbs +23 -45
  818. data/sig/modern_treasury/resources/connections.rbs +7 -12
  819. data/sig/modern_treasury/resources/counterparties.rbs +51 -82
  820. data/sig/modern_treasury/resources/documents.rbs +18 -34
  821. data/sig/modern_treasury/resources/events.rbs +14 -24
  822. data/sig/modern_treasury/resources/expected_payments.rbs +64 -92
  823. data/sig/modern_treasury/resources/external_accounts.rbs +57 -94
  824. data/sig/modern_treasury/resources/foreign_exchange_quotes.rbs +25 -41
  825. data/sig/modern_treasury/resources/incoming_payment_details.rbs +33 -54
  826. data/sig/modern_treasury/resources/internal_accounts/balance_reports.rbs +26 -50
  827. data/sig/modern_treasury/resources/internal_accounts.rbs +36 -58
  828. data/sig/modern_treasury/resources/invoices/line_items.rbs +39 -69
  829. data/sig/modern_treasury/resources/invoices.rbs +80 -108
  830. data/sig/modern_treasury/resources/ledger_account_balance_monitors.rbs +29 -57
  831. data/sig/modern_treasury/resources/ledger_account_categories.rbs +60 -112
  832. data/sig/modern_treasury/resources/ledger_account_settlements/account_entries.rbs +10 -22
  833. data/sig/modern_treasury/resources/ledger_account_settlements.rbs +35 -57
  834. data/sig/modern_treasury/resources/ledger_account_statements.rbs +12 -23
  835. data/sig/modern_treasury/resources/ledger_accounts.rbs +46 -74
  836. data/sig/modern_treasury/resources/ledger_entries.rbs +33 -50
  837. data/sig/modern_treasury/resources/ledger_event_handlers.rbs +26 -48
  838. data/sig/modern_treasury/resources/ledger_transactions/versions.rbs +9 -14
  839. data/sig/modern_treasury/resources/ledger_transactions.rbs +68 -102
  840. data/sig/modern_treasury/resources/ledgerable_events.rbs +11 -22
  841. data/sig/modern_treasury/resources/ledgers.rbs +29 -56
  842. data/sig/modern_treasury/resources/legal_entities.rbs +69 -87
  843. data/sig/modern_treasury/resources/legal_entity_associations.rbs +9 -14
  844. data/sig/modern_treasury/resources/line_items.rbs +20 -38
  845. data/sig/modern_treasury/resources/paper_items.rbs +12 -23
  846. data/sig/modern_treasury/resources/payment_flows.rbs +29 -51
  847. data/sig/modern_treasury/resources/payment_orders/reversals.rbs +18 -36
  848. data/sig/modern_treasury/resources/payment_orders.rbs +139 -166
  849. data/sig/modern_treasury/resources/payment_references.rbs +13 -33
  850. data/sig/modern_treasury/resources/returns.rbs +23 -37
  851. data/sig/modern_treasury/resources/routing_details.rbs +27 -51
  852. data/sig/modern_treasury/resources/transactions/line_items.rbs +22 -41
  853. data/sig/modern_treasury/resources/transactions.rbs +43 -68
  854. data/sig/modern_treasury/resources/validations.rbs +5 -10
  855. data/sig/modern_treasury/resources/virtual_accounts.rbs +37 -65
  856. data/sig/modern_treasury/version.rbs +1 -1
  857. metadata +55 -25
  858. data/lib/modern_treasury/base_client.rb +0 -475
  859. data/lib/modern_treasury/base_model.rb +0 -1191
  860. data/lib/modern_treasury/base_page.rb +0 -40
  861. data/lib/modern_treasury/extern.rb +0 -10
  862. data/lib/modern_treasury/page.rb +0 -94
  863. data/lib/modern_treasury/pooled_net_requester.rb +0 -163
  864. data/lib/modern_treasury/util.rb +0 -468
  865. data/rbi/lib/modern_treasury/base_client.rbi +0 -161
  866. data/rbi/lib/modern_treasury/base_model.rbi +0 -480
  867. data/rbi/lib/modern_treasury/base_page.rbi +0 -39
  868. data/rbi/lib/modern_treasury/extern.rbi +0 -7
  869. data/rbi/lib/modern_treasury/page.rbi +0 -49
  870. data/rbi/lib/modern_treasury/pooled_net_requester.rbi +0 -59
  871. data/rbi/lib/modern_treasury/util.rbi +0 -135
  872. data/sig/modern_treasury/base_client.rbs +0 -100
  873. data/sig/modern_treasury/base_model.rbs +0 -246
  874. data/sig/modern_treasury/base_page.rbs +0 -20
  875. data/sig/modern_treasury/page.rbs +0 -22
  876. data/sig/modern_treasury/pooled_net_requester.rbs +0 -42
  877. data/sig/modern_treasury/util.rbs +0 -91
@@ -0,0 +1,184 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModernTreasury
4
+ module Internal
5
+ module Transport
6
+ # @api private
7
+ class PooledNetRequester
8
+ # from the golang stdlib
9
+ # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
10
+ KEEP_ALIVE_TIMEOUT = 30
11
+
12
+ class << self
13
+ # @api private
14
+ #
15
+ # @param url [URI::Generic]
16
+ #
17
+ # @return [Net::HTTP]
18
+ def connect(url)
19
+ port =
20
+ case [url.port, url.scheme]
21
+ in [Integer, _]
22
+ url.port
23
+ in [nil, "http" | "ws"]
24
+ Net::HTTP.http_default_port
25
+ in [nil, "https" | "wss"]
26
+ Net::HTTP.https_default_port
27
+ end
28
+
29
+ Net::HTTP.new(url.host, port).tap do
30
+ _1.use_ssl = %w[https wss].include?(url.scheme)
31
+ _1.max_retries = 0
32
+ end
33
+ end
34
+
35
+ # @api private
36
+ #
37
+ # @param conn [Net::HTTP]
38
+ # @param deadline [Float]
39
+ def calibrate_socket_timeout(conn, deadline)
40
+ timeout = deadline - ModernTreasury::Internal::Util.monotonic_secs
41
+ conn.open_timeout = conn.read_timeout = conn.write_timeout = conn.continue_timeout = timeout
42
+ end
43
+
44
+ # @api private
45
+ #
46
+ # @param request [Hash{Symbol=>Object}] .
47
+ #
48
+ # @option request [Symbol] :method
49
+ #
50
+ # @option request [URI::Generic] :url
51
+ #
52
+ # @option request [Hash{String=>String}] :headers
53
+ #
54
+ # @param blk [Proc]
55
+ #
56
+ # @yieldparam [String]
57
+ # @return [Net::HTTPGenericRequest]
58
+ def build_request(request, &blk)
59
+ method, url, headers, body = request.fetch_values(:method, :url, :headers, :body)
60
+ req = Net::HTTPGenericRequest.new(
61
+ method.to_s.upcase,
62
+ !body.nil?,
63
+ method != :head,
64
+ url.to_s
65
+ )
66
+
67
+ headers.each { req[_1] = _2 }
68
+
69
+ case body
70
+ in nil
71
+ nil
72
+ in String
73
+ req["content-length"] ||= body.bytesize.to_s unless req["transfer-encoding"]
74
+ req.body_stream = ModernTreasury::Internal::Util::ReadIOAdapter.new(body, &blk)
75
+ in StringIO
76
+ req["content-length"] ||= body.size.to_s unless req["transfer-encoding"]
77
+ req.body_stream = ModernTreasury::Internal::Util::ReadIOAdapter.new(body, &blk)
78
+ in IO | Enumerator
79
+ req["transfer-encoding"] ||= "chunked" unless req["content-length"]
80
+ req.body_stream = ModernTreasury::Internal::Util::ReadIOAdapter.new(body, &blk)
81
+ end
82
+
83
+ req
84
+ end
85
+ end
86
+
87
+ # @api private
88
+ #
89
+ # @param url [URI::Generic]
90
+ # @param deadline [Float]
91
+ # @param blk [Proc]
92
+ #
93
+ # @raise [Timeout::Error]
94
+ # @yieldparam [Net::HTTP]
95
+ private def with_pool(url, deadline:, &blk)
96
+ origin = ModernTreasury::Internal::Util.uri_origin(url)
97
+ timeout = deadline - ModernTreasury::Internal::Util.monotonic_secs
98
+ pool =
99
+ @mutex.synchronize do
100
+ @pools[origin] ||= ConnectionPool.new(size: @size) do
101
+ self.class.connect(url)
102
+ end
103
+ end
104
+
105
+ pool.with(timeout: timeout, &blk)
106
+ end
107
+
108
+ # @api private
109
+ #
110
+ # @param request [Hash{Symbol=>Object}] .
111
+ #
112
+ # @option request [Symbol] :method
113
+ #
114
+ # @option request [URI::Generic] :url
115
+ #
116
+ # @option request [Hash{String=>String}] :headers
117
+ #
118
+ # @option request [Object] :body
119
+ #
120
+ # @option request [Float] :deadline
121
+ #
122
+ # @return [Array(Integer, Net::HTTPResponse, Enumerable<String>)]
123
+ def execute(request)
124
+ url, deadline = request.fetch_values(:url, :deadline)
125
+
126
+ eof = false
127
+ finished = false
128
+ enum = Enumerator.new do |y|
129
+ with_pool(url, deadline: deadline) do |conn|
130
+ next if finished
131
+
132
+ req = self.class.build_request(request) do
133
+ self.class.calibrate_socket_timeout(conn, deadline)
134
+ end
135
+
136
+ self.class.calibrate_socket_timeout(conn, deadline)
137
+ unless conn.started?
138
+ conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
139
+ conn.start
140
+ end
141
+
142
+ self.class.calibrate_socket_timeout(conn, deadline)
143
+ conn.request(req) do |rsp|
144
+ y << [conn, req, rsp]
145
+ break if finished
146
+
147
+ rsp.read_body do |bytes|
148
+ y << bytes
149
+ break if finished
150
+
151
+ self.class.calibrate_socket_timeout(conn, deadline)
152
+ end
153
+ eof = true
154
+ end
155
+ end
156
+ rescue Timeout::Error
157
+ raise ModernTreasury::Errors::APITimeoutError
158
+ end
159
+
160
+ conn, _, response = enum.next
161
+ body = ModernTreasury::Internal::Util.fused_enum(enum, external: true) do
162
+ finished = true
163
+ tap do
164
+ enum.next
165
+ rescue StopIteration
166
+ nil
167
+ end
168
+ conn.finish if !eof && conn&.started?
169
+ end
170
+ [Integer(response.code), response, (response.body = body)]
171
+ end
172
+
173
+ # @api private
174
+ #
175
+ # @param size [Integer]
176
+ def initialize(size: Etc.nprocessors)
177
+ @mutex = Mutex.new
178
+ @size = size
179
+ @pools = {}
180
+ end
181
+ end
182
+ end
183
+ end
184
+ end
@@ -0,0 +1,124 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModernTreasury
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # @abstract
9
+ #
10
+ # @generic Elem
11
+ #
12
+ # Array of items of a given type.
13
+ class ArrayOf
14
+ include ModernTreasury::Internal::Type::Converter
15
+
16
+ # @param type_info [Hash{Symbol=>Object}, Proc, ModernTreasury::Internal::Type::Converter, Class]
17
+ #
18
+ # @param spec [Hash{Symbol=>Object}] .
19
+ #
20
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
21
+ #
22
+ # @option spec [Proc] :enum
23
+ #
24
+ # @option spec [Proc] :union
25
+ #
26
+ # @option spec [Boolean] :"nil?"
27
+ def self.[](type_info, spec = {}) = new(type_info, spec)
28
+
29
+ # @param other [Object]
30
+ #
31
+ # @return [Boolean]
32
+ def ===(other) = other.is_a?(Array) && other.all?(item_type)
33
+
34
+ # @param other [Object]
35
+ #
36
+ # @return [Boolean]
37
+ def ==(other)
38
+ # rubocop:disable Layout/LineLength
39
+ other.is_a?(ModernTreasury::Internal::Type::ArrayOf) && other.nilable? == nilable? && other.item_type == item_type
40
+ # rubocop:enable Layout/LineLength
41
+ end
42
+
43
+ # @api private
44
+ #
45
+ # @param value [Array<Object>, Object]
46
+ #
47
+ # @param state [Hash{Symbol=>Object}] .
48
+ #
49
+ # @option state [Boolean, :strong] :strictness
50
+ #
51
+ # @option state [Hash{Symbol=>Object}] :exactness
52
+ #
53
+ # @option state [Integer] :branched
54
+ #
55
+ # @return [Array<Object>, Object]
56
+ def coerce(value, state:)
57
+ exactness = state.fetch(:exactness)
58
+
59
+ unless value.is_a?(Array)
60
+ exactness[:no] += 1
61
+ return value
62
+ end
63
+
64
+ target = item_type
65
+ exactness[:yes] += 1
66
+ value
67
+ .map do |item|
68
+ case [nilable?, item]
69
+ in [true, nil]
70
+ exactness[:yes] += 1
71
+ nil
72
+ else
73
+ ModernTreasury::Internal::Type::Converter.coerce(target, item, state: state)
74
+ end
75
+ end
76
+ end
77
+
78
+ # @api private
79
+ #
80
+ # @param value [Array<Object>, Object]
81
+ #
82
+ # @return [Array<Object>, Object]
83
+ def dump(value)
84
+ target = item_type
85
+ if value.is_a?(Array)
86
+ value.map do
87
+ ModernTreasury::Internal::Type::Converter.dump(target, _1)
88
+ end
89
+ else
90
+ super
91
+ end
92
+ end
93
+
94
+ # @api private
95
+ #
96
+ # @return [generic<Elem>]
97
+ protected def item_type = @item_type_fn.call
98
+
99
+ # @api private
100
+ #
101
+ # @return [Boolean]
102
+ protected def nilable? = @nilable
103
+
104
+ # @api private
105
+ #
106
+ # @param type_info [Hash{Symbol=>Object}, Proc, ModernTreasury::Internal::Type::Converter, Class]
107
+ #
108
+ # @param spec [Hash{Symbol=>Object}] .
109
+ #
110
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
111
+ #
112
+ # @option spec [Proc] :enum
113
+ #
114
+ # @option spec [Proc] :union
115
+ #
116
+ # @option spec [Boolean] :"nil?"
117
+ def initialize(type_info, spec = {})
118
+ @item_type_fn = ModernTreasury::Internal::Type::Converter.type_info(type_info || spec)
119
+ @nilable = spec[:nil?]
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,376 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModernTreasury
4
+ module Internal
5
+ module Type
6
+ # @abstract
7
+ #
8
+ # @example
9
+ # # `async_response` is a `ModernTreasury::Models::AsyncResponse`
10
+ # async_response => {
11
+ # id: id,
12
+ # object: object
13
+ # }
14
+ class BaseModel
15
+ extend ModernTreasury::Internal::Type::Converter
16
+
17
+ class << self
18
+ # @api private
19
+ #
20
+ # Assumes superclass fields are totally defined before fields are accessed /
21
+ # defined on subclasses.
22
+ #
23
+ # @return [Hash{Symbol=>Hash{Symbol=>Object}}]
24
+ def known_fields
25
+ @known_fields ||= (self < ModernTreasury::Internal::Type::BaseModel ? superclass.known_fields.dup : {})
26
+ end
27
+
28
+ # @api private
29
+ #
30
+ # @return [Hash{Symbol=>Hash{Symbol=>Object}}]
31
+ def fields
32
+ known_fields.transform_values do |field|
33
+ {**field.except(:type_fn), type: field.fetch(:type_fn).call}
34
+ end
35
+ end
36
+
37
+ # @api private
38
+ #
39
+ # @param name_sym [Symbol]
40
+ #
41
+ # @param required [Boolean]
42
+ #
43
+ # @param type_info [Hash{Symbol=>Object}, Proc, ModernTreasury::Internal::Type::Converter, Class]
44
+ #
45
+ # @param spec [Hash{Symbol=>Object}] .
46
+ #
47
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
48
+ #
49
+ # @option spec [Proc] :enum
50
+ #
51
+ # @option spec [Proc] :union
52
+ #
53
+ # @option spec [Boolean] :"nil?"
54
+ private def add_field(name_sym, required:, type_info:, spec:)
55
+ type_fn, info =
56
+ case type_info
57
+ in Proc | ModernTreasury::Internal::Type::Converter | Class
58
+ [ModernTreasury::Internal::Type::Converter.type_info({**spec, union: type_info}), spec]
59
+ in Hash
60
+ [ModernTreasury::Internal::Type::Converter.type_info(type_info), type_info]
61
+ end
62
+
63
+ setter = "#{name_sym}="
64
+ api_name = info.fetch(:api_name, name_sym)
65
+ nilable = info[:nil?]
66
+ const = if required && !nilable
67
+ info.fetch(
68
+ :const,
69
+ ModernTreasury::Internal::OMIT
70
+ )
71
+ else
72
+ ModernTreasury::Internal::OMIT
73
+ end
74
+
75
+ [name_sym, setter].each { undef_method(_1) } if known_fields.key?(name_sym)
76
+
77
+ known_fields[name_sym] =
78
+ {
79
+ mode: @mode,
80
+ api_name: api_name,
81
+ required: required,
82
+ nilable: nilable,
83
+ const: const,
84
+ type_fn: type_fn
85
+ }
86
+
87
+ define_method(setter) { @data.store(name_sym, _1) }
88
+
89
+ define_method(name_sym) do
90
+ target = type_fn.call
91
+ value = @data.fetch(name_sym) { const == ModernTreasury::Internal::OMIT ? nil : const }
92
+ state = {strictness: :strong, exactness: {yes: 0, no: 0, maybe: 0}, branched: 0}
93
+ if (nilable || !required) && value.nil?
94
+ nil
95
+ else
96
+ ModernTreasury::Internal::Type::Converter.coerce(
97
+ target, value, state: state
98
+ )
99
+ end
100
+ rescue StandardError
101
+ cls = self.class.name.split("::").last
102
+ # rubocop:disable Layout/LineLength
103
+ message = "Failed to parse #{cls}.#{__method__} from #{value.class} to #{target.inspect}. To get the unparsed API response, use #{cls}[:#{__method__}]."
104
+ # rubocop:enable Layout/LineLength
105
+ raise ModernTreasury::Errors::ConversionError.new(message)
106
+ end
107
+ end
108
+
109
+ # @api private
110
+ #
111
+ # @param name_sym [Symbol]
112
+ #
113
+ # @param type_info [Hash{Symbol=>Object}, Proc, ModernTreasury::Internal::Type::Converter, Class]
114
+ #
115
+ # @param spec [Hash{Symbol=>Object}] .
116
+ #
117
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
118
+ #
119
+ # @option spec [Proc] :enum
120
+ #
121
+ # @option spec [Proc] :union
122
+ #
123
+ # @option spec [Boolean] :"nil?"
124
+ def required(name_sym, type_info, spec = {})
125
+ add_field(name_sym, required: true, type_info: type_info, spec: spec)
126
+ end
127
+
128
+ # @api private
129
+ #
130
+ # @param name_sym [Symbol]
131
+ #
132
+ # @param type_info [Hash{Symbol=>Object}, Proc, ModernTreasury::Internal::Type::Converter, Class]
133
+ #
134
+ # @param spec [Hash{Symbol=>Object}] .
135
+ #
136
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
137
+ #
138
+ # @option spec [Proc] :enum
139
+ #
140
+ # @option spec [Proc] :union
141
+ #
142
+ # @option spec [Boolean] :"nil?"
143
+ def optional(name_sym, type_info, spec = {})
144
+ add_field(name_sym, required: false, type_info: type_info, spec: spec)
145
+ end
146
+
147
+ # @api private
148
+ #
149
+ # `request_only` attributes not excluded from `.#coerce` when receiving responses
150
+ # even if well behaved servers should not send them
151
+ #
152
+ # @param blk [Proc]
153
+ private def request_only(&blk)
154
+ @mode = :dump
155
+ blk.call
156
+ ensure
157
+ @mode = nil
158
+ end
159
+
160
+ # @api private
161
+ #
162
+ # `response_only` attributes are omitted from `.#dump` when making requests
163
+ #
164
+ # @param blk [Proc]
165
+ private def response_only(&blk)
166
+ @mode = :coerce
167
+ blk.call
168
+ ensure
169
+ @mode = nil
170
+ end
171
+
172
+ # @param other [Object]
173
+ #
174
+ # @return [Boolean]
175
+ def ==(other)
176
+ other.is_a?(Class) && other <= ModernTreasury::Internal::Type::BaseModel && other.fields == fields
177
+ end
178
+ end
179
+
180
+ # @param other [Object]
181
+ #
182
+ # @return [Boolean]
183
+ def ==(other) = self.class == other.class && @data == other.to_h
184
+
185
+ class << self
186
+ # @api private
187
+ #
188
+ # @param value [ModernTreasury::Internal::Type::BaseModel, Hash{Object=>Object}, Object]
189
+ #
190
+ # @param state [Hash{Symbol=>Object}] .
191
+ #
192
+ # @option state [Boolean, :strong] :strictness
193
+ #
194
+ # @option state [Hash{Symbol=>Object}] :exactness
195
+ #
196
+ # @option state [Integer] :branched
197
+ #
198
+ # @return [ModernTreasury::Internal::Type::BaseModel, Object]
199
+ def coerce(value, state:)
200
+ exactness = state.fetch(:exactness)
201
+
202
+ if value.is_a?(self.class)
203
+ exactness[:yes] += 1
204
+ return value
205
+ end
206
+
207
+ unless (val = ModernTreasury::Internal::Util.coerce_hash(value)).is_a?(Hash)
208
+ exactness[:no] += 1
209
+ return value
210
+ end
211
+ exactness[:yes] += 1
212
+
213
+ keys = val.keys.to_set
214
+ instance = new
215
+ data = instance.to_h
216
+
217
+ # rubocop:disable Metrics/BlockLength
218
+ fields.each do |name, field|
219
+ mode, required, target = field.fetch_values(:mode, :required, :type)
220
+ api_name, nilable, const = field.fetch_values(:api_name, :nilable, :const)
221
+
222
+ unless val.key?(api_name)
223
+ if required && mode != :dump && const == ModernTreasury::Internal::OMIT
224
+ exactness[nilable ? :maybe : :no] += 1
225
+ else
226
+ exactness[:yes] += 1
227
+ end
228
+ next
229
+ end
230
+
231
+ item = val.fetch(api_name)
232
+ keys.delete(api_name)
233
+
234
+ converted =
235
+ if item.nil? && (nilable || !required)
236
+ exactness[nilable ? :yes : :maybe] += 1
237
+ nil
238
+ else
239
+ coerced = ModernTreasury::Internal::Type::Converter.coerce(target, item, state: state)
240
+ case target
241
+ in ModernTreasury::Internal::Type::Converter | Symbol
242
+ coerced
243
+ else
244
+ item
245
+ end
246
+ end
247
+ data.store(name, converted)
248
+ end
249
+ # rubocop:enable Metrics/BlockLength
250
+
251
+ keys.each { data.store(_1, val.fetch(_1)) }
252
+ instance
253
+ end
254
+
255
+ # @api private
256
+ #
257
+ # @param value [ModernTreasury::Internal::Type::BaseModel, Object]
258
+ #
259
+ # @return [Hash{Object=>Object}, Object]
260
+ def dump(value)
261
+ unless (coerced = ModernTreasury::Internal::Util.coerce_hash(value)).is_a?(Hash)
262
+ return super
263
+ end
264
+
265
+ acc = {}
266
+
267
+ coerced.each do |key, val|
268
+ name = key.is_a?(String) ? key.to_sym : key
269
+ case (field = known_fields[name])
270
+ in nil
271
+ acc.store(name, super(val))
272
+ else
273
+ api_name, mode, type_fn = field.fetch_values(:api_name, :mode, :type_fn)
274
+ case mode
275
+ in :coerce
276
+ next
277
+ else
278
+ target = type_fn.call
279
+ acc.store(api_name, ModernTreasury::Internal::Type::Converter.dump(target, val))
280
+ end
281
+ end
282
+ end
283
+
284
+ known_fields.each_value do |field|
285
+ api_name, mode, const = field.fetch_values(:api_name, :mode, :const)
286
+ next if mode == :coerce || acc.key?(api_name) || const == ModernTreasury::Internal::OMIT
287
+ acc.store(api_name, const)
288
+ end
289
+
290
+ acc
291
+ end
292
+ end
293
+
294
+ # Returns the raw value associated with the given key, if found. Otherwise, nil is
295
+ # returned.
296
+ #
297
+ # It is valid to lookup keys that are not in the API spec, for example to access
298
+ # undocumented features. This method does not parse response data into
299
+ # higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
300
+ #
301
+ # @param key [Symbol]
302
+ #
303
+ # @return [Object, nil]
304
+ def [](key)
305
+ unless key.instance_of?(Symbol)
306
+ raise ArgumentError.new("Expected symbol key for lookup, got #{key.inspect}")
307
+ end
308
+
309
+ @data[key]
310
+ end
311
+
312
+ # Returns a Hash of the data underlying this object. O(1)
313
+ #
314
+ # Keys are Symbols and values are the raw values from the response. The return
315
+ # value indicates which values were ever set on the object. i.e. there will be a
316
+ # key in this hash if they ever were, even if the set value was nil.
317
+ #
318
+ # This method is not recursive. The returned value is shared by the object, so it
319
+ # should not be mutated.
320
+ #
321
+ # @return [Hash{Symbol=>Object}]
322
+ def to_h = @data
323
+
324
+ alias_method :to_hash, :to_h
325
+
326
+ # @param keys [Array<Symbol>, nil]
327
+ #
328
+ # @return [Hash{Symbol=>Object}]
329
+ def deconstruct_keys(keys)
330
+ (keys || self.class.known_fields.keys)
331
+ .filter_map do |k|
332
+ unless self.class.known_fields.key?(k)
333
+ next
334
+ end
335
+
336
+ [k, public_send(k)]
337
+ end
338
+ .to_h
339
+ end
340
+
341
+ # @param a [Object]
342
+ #
343
+ # @return [String]
344
+ def to_json(*a) = self.class.dump(self).to_json(*a)
345
+
346
+ # @param a [Object]
347
+ #
348
+ # @return [String]
349
+ def to_yaml(*a) = self.class.dump(self).to_yaml(*a)
350
+
351
+ # Create a new instance of a model.
352
+ #
353
+ # @param data [Hash{Symbol=>Object}, ModernTreasury::Internal::Type::BaseModel]
354
+ def initialize(data = {})
355
+ case ModernTreasury::Internal::Util.coerce_hash(data)
356
+ in Hash => coerced
357
+ @data = coerced
358
+ else
359
+ message = "Expected a #{Hash} or #{ModernTreasury::Internal::Type::BaseModel}, got #{data.inspect}"
360
+ raise ArgumentError.new(message)
361
+ end
362
+ end
363
+
364
+ # @return [String]
365
+ def inspect
366
+ rows = self.class.known_fields.keys.map do
367
+ "#{_1}=#{@data.key?(_1) ? public_send(_1) : ''}"
368
+ rescue ModernTreasury::Errors::ConversionError
369
+ "#{_1}=#{@data.fetch(_1)}"
370
+ end
371
+ "#<#{self.class.name}:0x#{object_id.to_s(16)} #{rows.join(' ')}>"
372
+ end
373
+ end
374
+ end
375
+ end
376
+ end