mt-sdk 0.0.1 → 0.0.2

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 (306) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +67 -60
  3. data/lib/modern_treasury/{controllers/account_collection_flow_controller.rb → apis/account_collection_flow_api.rb} +19 -13
  4. data/lib/modern_treasury/{controllers/account_detail_controller.rb → apis/account_detail_api.rb} +25 -11
  5. data/lib/modern_treasury/{controllers/balance_report_controller.rb → apis/balance_report_api.rb} +11 -6
  6. data/lib/modern_treasury/{controllers/base_controller.rb → apis/base_api.rb} +10 -3
  7. data/lib/modern_treasury/{controllers/connection_controller.rb → apis/connection_api.rb} +10 -9
  8. data/lib/modern_treasury/{controllers/counterparty_controller.rb → apis/counterparty_api.rb} +25 -15
  9. data/lib/modern_treasury/{controllers/document_controller.rb → apis/document_api.rb} +52 -28
  10. data/lib/modern_treasury/{controllers/event_controller.rb → apis/event_api.rb} +13 -10
  11. data/lib/modern_treasury/{controllers/expected_payment_controller.rb → apis/expected_payment_api.rb} +26 -19
  12. data/lib/modern_treasury/{controllers/external_account_controller.rb → apis/external_account_api.rb} +28 -16
  13. data/lib/modern_treasury/{controllers/incoming_payment_detail_controller.rb → apis/incoming_payment_detail_api.rb} +22 -16
  14. data/lib/modern_treasury/{controllers/internal_account_controller.rb → apis/internal_account_api.rb} +21 -15
  15. data/lib/modern_treasury/{controllers/invoice_controller.rb → apis/invoice_api.rb} +20 -14
  16. data/lib/modern_treasury/{controllers/invoice_line_item_controller.rb → apis/invoice_line_item_api.rb} +24 -11
  17. data/lib/modern_treasury/{controllers/ledger_account_controller.rb → apis/ledger_account_api.rb} +21 -13
  18. data/lib/modern_treasury/{controllers/ledger_account_category_controller.rb → apis/ledger_account_category_api.rb} +37 -17
  19. data/lib/modern_treasury/{controllers/ledger_account_payout_controller.rb → apis/ledger_account_payout_api.rb} +18 -12
  20. data/lib/modern_treasury/{controllers/ledger_account_statement_controller.rb → apis/ledger_account_statement_api.rb} +7 -4
  21. data/lib/modern_treasury/{controllers/ledger_controller.rb → apis/ledger_api.rb} +21 -13
  22. data/lib/modern_treasury/{controllers/ledger_entry_controller.rb → apis/ledger_entry_api.rb} +17 -15
  23. data/lib/modern_treasury/{controllers/ledger_event_handler_controller.rb → apis/ledger_event_handler_api.rb} +18 -12
  24. data/lib/modern_treasury/{controllers/ledger_transaction_controller.rb → apis/ledger_transaction_api.rb} +34 -24
  25. data/lib/modern_treasury/{controllers/ledgerable_event_controller.rb → apis/ledgerable_event_api.rb} +7 -4
  26. data/lib/modern_treasury/{controllers/line_item_controller.rb → apis/line_item_api.rb} +20 -9
  27. data/lib/modern_treasury/{controllers/paper_item_controller.rb → apis/paper_item_api.rb} +12 -9
  28. data/lib/modern_treasury/{controllers/payment_flow_controller.rb → apis/payment_flow_api.rb} +19 -13
  29. data/lib/modern_treasury/{controllers/payment_order_controller.rb → apis/payment_order_api.rb} +47 -36
  30. data/lib/modern_treasury/{controllers/payment_reference_controller.rb → apis/payment_reference_api.rb} +16 -13
  31. data/lib/modern_treasury/{controllers/ping_controller.rb → apis/ping_api.rb} +4 -3
  32. data/lib/modern_treasury/{controllers/return_controller.rb → apis/return_api.rb} +16 -12
  33. data/lib/modern_treasury/{controllers/reversal_controller.rb → apis/reversal_api.rb} +12 -5
  34. data/lib/modern_treasury/{controllers/routing_detail_controller.rb → apis/routing_detail_api.rb} +25 -11
  35. data/lib/modern_treasury/{controllers/transaction_controller.rb → apis/transaction_api.rb} +16 -11
  36. data/lib/modern_treasury/{controllers/transaction_line_item_controller.rb → apis/transaction_line_item_api.rb} +6 -4
  37. data/lib/modern_treasury/{controllers/validation_controller.rb → apis/validation_api.rb} +10 -7
  38. data/lib/modern_treasury/{controllers/virtual_account_controller.rb → apis/virtual_account_api.rb} +23 -15
  39. data/lib/modern_treasury/client.rb +80 -78
  40. data/lib/modern_treasury/configuration.rb +18 -47
  41. data/lib/modern_treasury/http/api_response.rb +19 -0
  42. data/lib/modern_treasury/logging/configuration/api_logging_configuration.rb +186 -0
  43. data/lib/modern_treasury/logging/sdk_logger.rb +17 -0
  44. data/lib/modern_treasury/models/account.rb +26 -26
  45. data/lib/modern_treasury/models/account1.rb +34 -21
  46. data/lib/modern_treasury/models/account_collection_flow.rb +15 -16
  47. data/lib/modern_treasury/models/account_collection_flow_create_request.rb +18 -5
  48. data/lib/modern_treasury/models/account_collection_flow_update_request.rb +16 -4
  49. data/lib/modern_treasury/models/account_detail.rb +15 -16
  50. data/lib/modern_treasury/models/account_detail1.rb +19 -6
  51. data/lib/modern_treasury/models/account_detail_create_request.rb +19 -6
  52. data/lib/modern_treasury/models/{account_number_type_enum.rb → account_number_type.rb} +3 -3
  53. data/lib/modern_treasury/models/{account_number_type2_enum.rb → account_number_type2.rb} +3 -3
  54. data/lib/modern_treasury/models/{account_type_enum.rb → account_type.rb} +3 -3
  55. data/lib/modern_treasury/models/{account_type5_enum.rb → account_type5.rb} +3 -3
  56. data/lib/modern_treasury/models/accounting.rb +19 -5
  57. data/lib/modern_treasury/models/accounting1.rb +17 -5
  58. data/lib/modern_treasury/models/{accounts_type_enum.rb → accounts_type.rb} +3 -3
  59. data/lib/modern_treasury/models/{accounts_type1_enum.rb → accounts_type1.rb} +3 -3
  60. data/lib/modern_treasury/models/address.rb +13 -14
  61. data/lib/modern_treasury/models/address_request.rb +23 -10
  62. data/lib/modern_treasury/models/async_response.rb +3 -3
  63. data/lib/modern_treasury/models/balance.rb +15 -17
  64. data/lib/modern_treasury/models/balance_report.rb +14 -15
  65. data/lib/modern_treasury/models/{balance_report_type_enum.rb → balance_report_type.rb} +3 -3
  66. data/lib/modern_treasury/models/{balance_report_type1_enum.rb → balance_report_type1.rb} +3 -3
  67. data/lib/modern_treasury/models/{balance_type_enum.rb → balance_type.rb} +3 -3
  68. data/lib/modern_treasury/models/balances.rb +2 -2
  69. data/lib/modern_treasury/models/balances1.rb +3 -3
  70. data/lib/modern_treasury/models/balances2.rb +7 -7
  71. data/lib/modern_treasury/models/balances3.rb +8 -8
  72. data/lib/modern_treasury/models/{charge_bearer_enum.rb → charge_bearer.rb} +3 -3
  73. data/lib/modern_treasury/models/{code_enum.rb → code.rb} +3 -3
  74. data/lib/modern_treasury/models/{code1_enum.rb → code1.rb} +3 -3
  75. data/lib/modern_treasury/models/connection.rb +11 -12
  76. data/lib/modern_treasury/models/contact_detail.rb +13 -14
  77. data/lib/modern_treasury/models/contact_detail_create_request.rb +20 -6
  78. data/lib/modern_treasury/models/{contact_identifier_type_enum.rb → contact_identifier_type.rb} +3 -3
  79. data/lib/modern_treasury/models/{content_type_enum.rb → content_type.rb} +3 -3
  80. data/lib/modern_treasury/models/counterparty.rb +16 -17
  81. data/lib/modern_treasury/models/counterparty_billing_address.rb +23 -10
  82. data/lib/modern_treasury/models/counterparty_collect_account_request.rb +23 -10
  83. data/lib/modern_treasury/models/counterparty_collect_account_response.rb +4 -4
  84. data/lib/modern_treasury/models/counterparty_create_request.rb +31 -17
  85. data/lib/modern_treasury/models/counterparty_shipping_address.rb +23 -10
  86. data/lib/modern_treasury/models/counterparty_update_request.rb +23 -9
  87. data/lib/modern_treasury/models/{created_at_enum.rb → created_at.rb} +3 -3
  88. data/lib/modern_treasury/models/{currency_enum.rb → currency.rb} +3 -3
  89. data/lib/modern_treasury/models/{currency1_enum.rb → currency1.rb} +3 -3
  90. data/lib/modern_treasury/models/{direction_enum.rb → direction.rb} +3 -3
  91. data/lib/modern_treasury/models/{direction1_enum.rb → direction1.rb} +3 -3
  92. data/lib/modern_treasury/models/{direction10_enum.rb → direction10.rb} +3 -3
  93. data/lib/modern_treasury/models/{direction14_enum.rb → direction14.rb} +3 -3
  94. data/lib/modern_treasury/models/{direction15_enum.rb → direction15.rb} +3 -3
  95. data/lib/modern_treasury/models/{direction4_enum.rb → direction4.rb} +3 -3
  96. data/lib/modern_treasury/models/{direction5_enum.rb → direction5.rb} +3 -3
  97. data/lib/modern_treasury/models/{direction9_enum.rb → direction9.rb} +3 -3
  98. data/lib/modern_treasury/models/document.rb +16 -17
  99. data/lib/modern_treasury/models/document_create_request.rb +22 -9
  100. data/lib/modern_treasury/models/document_detail.rb +11 -11
  101. data/lib/modern_treasury/models/{documentable_type_enum.rb → documentable_type.rb} +3 -3
  102. data/lib/modern_treasury/models/{documentable_type1_enum.rb → documentable_type1.rb} +3 -3
  103. data/lib/modern_treasury/models/{documentable_type2_enum.rb → documentable_type2.rb} +3 -3
  104. data/lib/modern_treasury/models/{effective_at_enum.rb → effective_at.rb} +3 -3
  105. data/lib/modern_treasury/models/errors.rb +21 -7
  106. data/lib/modern_treasury/models/event.rb +12 -13
  107. data/lib/modern_treasury/models/expected_payment.rb +38 -41
  108. data/lib/modern_treasury/models/expected_payment_create_request.rb +43 -29
  109. data/lib/modern_treasury/models/expected_payment_update_request.rb +40 -27
  110. data/lib/modern_treasury/models/external_account.rb +26 -28
  111. data/lib/modern_treasury/models/external_account_complete_verification_request.rb +17 -4
  112. data/lib/modern_treasury/models/external_account_create_request.rb +36 -23
  113. data/lib/modern_treasury/models/external_account_update_request.rb +27 -14
  114. data/lib/modern_treasury/models/external_account_verify_request.rb +23 -9
  115. data/lib/modern_treasury/models/{fallback_type_enum.rb → fallback_type.rb} +3 -3
  116. data/lib/modern_treasury/models/{field_enum.rb → field.rb} +3 -3
  117. data/lib/modern_treasury/models/file.rb +4 -4
  118. data/lib/modern_treasury/models/{foreign_exchange_indicator_enum.rb → foreign_exchange_indicator.rb} +3 -3
  119. data/lib/modern_treasury/models/incoming_payment_detail.rb +41 -43
  120. data/lib/modern_treasury/models/incoming_payment_detail_create_request.rb +31 -17
  121. data/lib/modern_treasury/models/incoming_payment_detail_update_request.rb +17 -4
  122. data/lib/modern_treasury/models/internal_account.rb +32 -34
  123. data/lib/modern_treasury/models/internal_account_create_request.rb +28 -15
  124. data/lib/modern_treasury/models/internal_account_update_request.rb +22 -8
  125. data/lib/modern_treasury/models/invoice.rb +36 -38
  126. data/lib/modern_treasury/models/invoice_create_request.rb +38 -25
  127. data/lib/modern_treasury/models/invoice_line_item.rb +13 -15
  128. data/lib/modern_treasury/models/invoice_line_item_create_request.rb +22 -9
  129. data/lib/modern_treasury/models/invoice_line_item_update_request.rb +38 -25
  130. data/lib/modern_treasury/models/invoice_update_request.rb +40 -26
  131. data/lib/modern_treasury/models/invoicer_address.rb +23 -10
  132. data/lib/modern_treasury/models/{itemizable_type_enum.rb → itemizable_type.rb} +3 -3
  133. data/lib/modern_treasury/models/{itemizable_type1_enum.rb → itemizable_type1.rb} +3 -3
  134. data/lib/modern_treasury/models/ledger.rb +28 -14
  135. data/lib/modern_treasury/models/ledger_account.rb +21 -22
  136. data/lib/modern_treasury/models/ledger_account_category.rb +16 -17
  137. data/lib/modern_treasury/models/ledger_account_category_create_request.rb +26 -13
  138. data/lib/modern_treasury/models/ledger_account_category_update_request.rb +20 -6
  139. data/lib/modern_treasury/models/ledger_account_create_request.rb +30 -17
  140. data/lib/modern_treasury/models/{ledger_account_normal_balance_enum.rb → ledger_account_normal_balance.rb} +3 -3
  141. data/lib/modern_treasury/models/ledger_account_payout.rb +22 -24
  142. data/lib/modern_treasury/models/ledger_account_payout_create_request.rb +29 -14
  143. data/lib/modern_treasury/models/ledger_account_payout_update_request.rb +21 -7
  144. data/lib/modern_treasury/models/ledger_account_statement.rb +21 -23
  145. data/lib/modern_treasury/models/ledger_account_statement_create_request.rb +24 -10
  146. data/lib/modern_treasury/models/ledger_account_update_request.rb +20 -6
  147. data/lib/modern_treasury/models/ledger_balance.rb +6 -7
  148. data/lib/modern_treasury/models/ledger_balances.rb +4 -5
  149. data/lib/modern_treasury/models/ledger_balances_with_effective_at.rb +7 -8
  150. data/lib/modern_treasury/models/ledger_create_request.rb +20 -6
  151. data/lib/modern_treasury/models/ledger_entry.rb +24 -26
  152. data/lib/modern_treasury/models/ledger_entry_create_request.rb +30 -18
  153. data/lib/modern_treasury/models/ledger_entry_of_transaction_version.rb +21 -23
  154. data/lib/modern_treasury/models/ledger_event_handler.rb +14 -15
  155. data/lib/modern_treasury/models/ledger_event_handler_conditions.rb +4 -4
  156. data/lib/modern_treasury/models/ledger_event_handler_create_request.rb +23 -11
  157. data/lib/modern_treasury/models/ledger_event_handler_ledger_entries.rb +4 -4
  158. data/lib/modern_treasury/models/ledger_event_handler_ledger_transaction_template.rb +5 -6
  159. data/lib/modern_treasury/models/ledger_transaction.rb +24 -25
  160. data/lib/modern_treasury/models/ledger_transaction_create_request.rb +29 -17
  161. data/lib/modern_treasury/models/ledger_transaction_reversal_create_request.rb +27 -14
  162. data/lib/modern_treasury/models/ledger_transaction_update_request.rb +24 -10
  163. data/lib/modern_treasury/models/ledger_transaction_version.rb +24 -25
  164. data/lib/modern_treasury/models/{ledger_type_enum.rb → ledger_type.rb} +3 -3
  165. data/lib/modern_treasury/models/ledger_update_request.rb +20 -6
  166. data/lib/modern_treasury/models/ledgerable_event.rb +18 -19
  167. data/lib/modern_treasury/models/ledgerable_event_create_request.rb +26 -13
  168. data/lib/modern_treasury/models/{ledgerable_type_enum.rb → ledgerable_type.rb} +3 -3
  169. data/lib/modern_treasury/models/{ledgerable_type2_enum.rb → ledgerable_type2.rb} +3 -3
  170. data/lib/modern_treasury/models/{ledgerable_type5_enum.rb → ledgerable_type5.rb} +3 -3
  171. data/lib/modern_treasury/models/{ledgerable_type6_enum.rb → ledgerable_type6.rb} +3 -3
  172. data/lib/modern_treasury/models/legacy_document_create_request.rb +19 -5
  173. data/lib/modern_treasury/models/line_item.rb +18 -19
  174. data/lib/modern_treasury/models/line_item_request.rb +22 -8
  175. data/lib/modern_treasury/models/line_item_update_request.rb +17 -4
  176. data/lib/modern_treasury/models/mreturn.rb +48 -50
  177. data/lib/modern_treasury/models/{normal_balance_enum.rb → normal_balance.rb} +3 -3
  178. data/lib/modern_treasury/models/{normal_balance2_enum.rb → normal_balance2.rb} +3 -3
  179. data/lib/modern_treasury/models/order_by.rb +5 -5
  180. data/lib/modern_treasury/models/{originating_account_number_type_enum.rb → originating_account_number_type.rb} +3 -3
  181. data/lib/modern_treasury/models/{originating_routing_number_type_enum.rb → originating_routing_number_type.rb} +3 -3
  182. data/lib/modern_treasury/models/paper_item.rb +25 -27
  183. data/lib/modern_treasury/models/party_address.rb +23 -10
  184. data/lib/modern_treasury/models/{party_type_enum.rb → party_type.rb} +3 -3
  185. data/lib/modern_treasury/models/{party_type5_enum.rb → party_type5.rb} +3 -3
  186. data/lib/modern_treasury/models/{payment_direction_enum.rb → payment_direction.rb} +3 -3
  187. data/lib/modern_treasury/models/payment_flow.rb +21 -22
  188. data/lib/modern_treasury/models/payment_flow_create_request.rb +24 -10
  189. data/lib/modern_treasury/models/payment_flow_update_request.rb +16 -4
  190. data/lib/modern_treasury/models/{payment_method_enum.rb → payment_method.rb} +3 -3
  191. data/lib/modern_treasury/models/{payment_method1_enum.rb → payment_method1.rb} +3 -3
  192. data/lib/modern_treasury/models/payment_order.rb +90 -95
  193. data/lib/modern_treasury/models/payment_order_async_create_request.rb +75 -62
  194. data/lib/modern_treasury/models/payment_order_create_request.rb +77 -63
  195. data/lib/modern_treasury/models/payment_order_update_request.rb +77 -62
  196. data/lib/modern_treasury/models/payment_reference.rb +12 -13
  197. data/lib/modern_treasury/models/payment_reference_object.rb +14 -15
  198. data/lib/modern_treasury/models/{payment_type_enum.rb → payment_type.rb} +3 -3
  199. data/lib/modern_treasury/models/{payment_type1_enum.rb → payment_type1.rb} +3 -3
  200. data/lib/modern_treasury/models/{payment_type13_enum.rb → payment_type13.rb} +3 -3
  201. data/lib/modern_treasury/models/{payment_type2_enum.rb → payment_type2.rb} +3 -3
  202. data/lib/modern_treasury/models/{payment_type4_enum.rb → payment_type4.rb} +3 -3
  203. data/lib/modern_treasury/models/{payment_type5_enum.rb → payment_type5.rb} +3 -3
  204. data/lib/modern_treasury/models/{payment_type6_enum.rb → payment_type6.rb} +3 -3
  205. data/lib/modern_treasury/models/ping_response.rb +2 -2
  206. data/lib/modern_treasury/models/{priority_enum.rb → priority.rb} +3 -3
  207. data/lib/modern_treasury/models/{priority4_enum.rb → priority4.rb} +3 -3
  208. data/lib/modern_treasury/models/{reason_enum.rb → reason.rb} +3 -3
  209. data/lib/modern_treasury/models/{reason1_enum.rb → reason1.rb} +3 -3
  210. data/lib/modern_treasury/models/receiving_account.rb +43 -28
  211. data/lib/modern_treasury/models/receiving_account1.rb +34 -21
  212. data/lib/modern_treasury/models/{receiving_account_type_enum.rb → receiving_account_type.rb} +3 -3
  213. data/lib/modern_treasury/models/{reconciliation_method_enum.rb → reconciliation_method.rb} +3 -3
  214. data/lib/modern_treasury/models/{reference_number_type_enum.rb → reference_number_type.rb} +3 -3
  215. data/lib/modern_treasury/models/{reference_number_type1_enum.rb → reference_number_type1.rb} +3 -3
  216. data/lib/modern_treasury/models/{referenceable_type_enum.rb → referenceable_type.rb} +3 -3
  217. data/lib/modern_treasury/models/{referenceable_type1_enum.rb → referenceable_type1.rb} +3 -3
  218. data/lib/modern_treasury/models/return_create_request.rb +24 -10
  219. data/lib/modern_treasury/models/{returnable_type_enum.rb → returnable_type.rb} +3 -3
  220. data/lib/modern_treasury/models/{returnable_type1_enum.rb → returnable_type1.rb} +3 -3
  221. data/lib/modern_treasury/models/reversal.rb +13 -14
  222. data/lib/modern_treasury/models/reversal_create_request.rb +21 -7
  223. data/lib/modern_treasury/models/{role_enum.rb → role.rb} +3 -3
  224. data/lib/modern_treasury/models/routing_detail.rb +20 -21
  225. data/lib/modern_treasury/models/routing_detail1.rb +23 -9
  226. data/lib/modern_treasury/models/routing_detail_create_request.rb +23 -9
  227. data/lib/modern_treasury/models/routing_number_lookup_request.rb +11 -11
  228. data/lib/modern_treasury/models/{routing_number_type_enum.rb → routing_number_type.rb} +3 -3
  229. data/lib/modern_treasury/models/{routing_number_type1_enum.rb → routing_number_type1.rb} +3 -3
  230. data/lib/modern_treasury/models/{routing_number_type7_enum.rb → routing_number_type7.rb} +3 -3
  231. data/lib/modern_treasury/models/{routing_number_type8_enum.rb → routing_number_type8.rb} +3 -3
  232. data/lib/modern_treasury/models/{status_enum.rb → status.rb} +3 -3
  233. data/lib/modern_treasury/models/{status1_enum.rb → status1.rb} +3 -3
  234. data/lib/modern_treasury/models/{status11_enum.rb → status11.rb} +3 -3
  235. data/lib/modern_treasury/models/{status12_enum.rb → status12.rb} +3 -3
  236. data/lib/modern_treasury/models/{status15_enum.rb → status15.rb} +3 -3
  237. data/lib/modern_treasury/models/{status16_enum.rb → status16.rb} +3 -3
  238. data/lib/modern_treasury/models/{status17_enum.rb → status17.rb} +3 -3
  239. data/lib/modern_treasury/models/{status18_enum.rb → status18.rb} +3 -3
  240. data/lib/modern_treasury/models/{status19_enum.rb → status19.rb} +3 -3
  241. data/lib/modern_treasury/models/{status2_enum.rb → status2.rb} +3 -3
  242. data/lib/modern_treasury/models/{status20_enum.rb → status20.rb} +3 -3
  243. data/lib/modern_treasury/models/{status21_enum.rb → status21.rb} +3 -3
  244. data/lib/modern_treasury/models/{status22_enum.rb → status22.rb} +3 -3
  245. data/lib/modern_treasury/models/{status24_enum.rb → status24.rb} +3 -3
  246. data/lib/modern_treasury/models/{status3_enum.rb → status3.rb} +3 -3
  247. data/lib/modern_treasury/models/{status4_enum.rb → status4.rb} +3 -3
  248. data/lib/modern_treasury/models/{status5_enum.rb → status5.rb} +3 -3
  249. data/lib/modern_treasury/models/{status6_enum.rb → status6.rb} +3 -3
  250. data/lib/modern_treasury/models/{status7_enum.rb → status7.rb} +3 -3
  251. data/lib/modern_treasury/models/{status8_enum.rb → status8.rb} +3 -3
  252. data/lib/modern_treasury/models/{status9_enum.rb → status9.rb} +3 -3
  253. data/lib/modern_treasury/models/{subtype_enum.rb → subtype.rb} +3 -3
  254. data/lib/modern_treasury/models/{supported_payment_type_enum.rb → supported_payment_type.rb} +3 -3
  255. data/lib/modern_treasury/models/{transactable_type_enum.rb → transactable_type.rb} +3 -3
  256. data/lib/modern_treasury/models/transaction.rb +31 -33
  257. data/lib/modern_treasury/models/transaction_line_item.rb +19 -20
  258. data/lib/modern_treasury/models/{type_enum.rb → type.rb} +3 -3
  259. data/lib/modern_treasury/models/{type1_enum.rb → type1.rb} +3 -3
  260. data/lib/modern_treasury/models/{type10_enum.rb → type10.rb} +3 -3
  261. data/lib/modern_treasury/models/{type11_enum.rb → type11.rb} +3 -3
  262. data/lib/modern_treasury/models/{type12_enum.rb → type12.rb} +3 -3
  263. data/lib/modern_treasury/models/{type13_enum.rb → type13.rb} +3 -3
  264. data/lib/modern_treasury/models/{type14_enum.rb → type14.rb} +3 -3
  265. data/lib/modern_treasury/models/{type16_enum.rb → type16.rb} +3 -3
  266. data/lib/modern_treasury/models/{type4_enum.rb → type4.rb} +3 -3
  267. data/lib/modern_treasury/models/{type5_enum.rb → type5.rb} +3 -3
  268. data/lib/modern_treasury/models/{type6_enum.rb → type6.rb} +3 -3
  269. data/lib/modern_treasury/models/{vendor_code_type_enum.rb → vendor_code_type.rb} +3 -3
  270. data/lib/modern_treasury/models/{vendor_code_type1_enum.rb → vendor_code_type1.rb} +3 -3
  271. data/lib/modern_treasury/models/{verification_status_enum.rb → verification_status.rb} +3 -3
  272. data/lib/modern_treasury/models/{verification_status1_enum.rb → verification_status1.rb} +3 -3
  273. data/lib/modern_treasury/models/virtual_account.rb +20 -21
  274. data/lib/modern_treasury/models/virtual_account_create_request.rb +29 -15
  275. data/lib/modern_treasury/models/virtual_account_update_request.rb +19 -6
  276. data/lib/modern_treasury.rb +153 -152
  277. metadata +152 -206
  278. data/test/controllers/controller_test_base.rb +0 -23
  279. data/test/controllers/test_account_collection_flow_controller.rb +0 -64
  280. data/test/controllers/test_connection_controller.rb +0 -41
  281. data/test/controllers/test_counterparty_controller.rb +0 -65
  282. data/test/controllers/test_document_controller.rb +0 -41
  283. data/test/controllers/test_event_controller.rb +0 -46
  284. data/test/controllers/test_expected_payment_controller.rb +0 -71
  285. data/test/controllers/test_external_account_controller.rb +0 -63
  286. data/test/controllers/test_incoming_payment_detail_controller.rb +0 -68
  287. data/test/controllers/test_internal_account_controller.rb +0 -65
  288. data/test/controllers/test_invoice_controller.rb +0 -56
  289. data/test/controllers/test_ledger_account_category_controller.rb +0 -67
  290. data/test/controllers/test_ledger_account_controller.rb +0 -70
  291. data/test/controllers/test_ledger_account_payout_controller.rb +0 -62
  292. data/test/controllers/test_ledger_account_statement_controller.rb +0 -36
  293. data/test/controllers/test_ledger_controller.rb +0 -59
  294. data/test/controllers/test_ledger_entry_controller.rb +0 -65
  295. data/test/controllers/test_ledger_event_handler_controller.rb +0 -63
  296. data/test/controllers/test_ledger_transaction_controller.rb +0 -112
  297. data/test/controllers/test_ledgerable_event_controller.rb +0 -36
  298. data/test/controllers/test_paper_item_controller.rb +0 -43
  299. data/test/controllers/test_payment_flow_controller.rb +0 -67
  300. data/test/controllers/test_payment_order_controller.rb +0 -76
  301. data/test/controllers/test_payment_reference_controller.rb +0 -43
  302. data/test/controllers/test_ping_controller.rb +0 -31
  303. data/test/controllers/test_return_controller.rb +0 -64
  304. data/test/controllers/test_transaction_controller.rb +0 -56
  305. data/test/controllers/test_virtual_account_controller.rb +0 -63
  306. data/test/http_response_catcher.rb +0 -19
@@ -5,8 +5,8 @@
5
5
 
6
6
  module ModernTreasury
7
7
  # Field.
8
- class FieldEnum
9
- FIELD_ENUM = [
8
+ class Field
9
+ FIELD = [
10
10
  # TODO: Write general description for NAME
11
11
  NAME = 'name'.freeze,
12
12
 
@@ -74,7 +74,7 @@ module ModernTreasury
74
74
  def self.validate(value)
75
75
  return false if value.nil?
76
76
 
77
- FIELD_ENUM.include?(value)
77
+ FIELD.include?(value)
78
78
  end
79
79
 
80
80
  def self.from_value(value, default_value = NAME)
@@ -44,7 +44,7 @@ module ModernTreasury
44
44
  []
45
45
  end
46
46
 
47
- def initialize(size = SKIP, filename = SKIP, content_type = SKIP)
47
+ def initialize(size: SKIP, filename: SKIP, content_type: SKIP)
48
48
  @size = size unless size == SKIP
49
49
  @filename = filename unless filename == SKIP
50
50
  @content_type = content_type unless content_type == SKIP
@@ -60,9 +60,9 @@ module ModernTreasury
60
60
  content_type = hash.key?('content_type') ? hash['content_type'] : SKIP
61
61
 
62
62
  # Create object from extracted values.
63
- File.new(size,
64
- filename,
65
- content_type)
63
+ File.new(size: size,
64
+ filename: filename,
65
+ content_type: content_type)
66
66
  end
67
67
 
68
68
  # Provides a human-readable string representation of the object.
@@ -7,8 +7,8 @@ module ModernTreasury
7
7
  # Indicates the type of FX transfer to initiate, can be either
8
8
  # `variable_to_fixed`, `fixed_to_variable`, or `null` if the payment order
9
9
  # currency matches the originating account currency.
10
- class ForeignExchangeIndicatorEnum
11
- FOREIGN_EXCHANGE_INDICATOR_ENUM = [
10
+ class ForeignExchangeIndicator
11
+ FOREIGN_EXCHANGE_INDICATOR = [
12
12
  # TODO: Write general description for FIXED_TO_VARIABLE
13
13
  FIXED_TO_VARIABLE = 'fixed_to_variable'.freeze,
14
14
 
@@ -19,7 +19,7 @@ module ModernTreasury
19
19
  def self.validate(value)
20
20
  return false if value.nil?
21
21
 
22
- FOREIGN_EXCHANGE_INDICATOR_ENUM.include?(value)
22
+ FOREIGN_EXCHANGE_INDICATOR.include?(value)
23
23
  end
24
24
 
25
25
  def self.from_value(value, default_value = FIXED_TO_VARIABLE)
@@ -63,7 +63,7 @@ module ModernTreasury
63
63
 
64
64
  # One of: `ach`, `book`, `check`, `eft`, `interac`, `rtp`, `sepa`, `signet`,
65
65
  # or `wire`.
66
- # @return [Type4Enum]
66
+ # @return [Type4]
67
67
  attr_accessor :type
68
68
 
69
69
  # The raw data from the payment pre-notification file that we get from the
@@ -77,16 +77,16 @@ module ModernTreasury
77
77
  attr_accessor :amount
78
78
 
79
79
  # Three-letter ISO currency code.
80
- # @return [CurrencyEnum]
80
+ # @return [Currency]
81
81
  attr_accessor :currency
82
82
 
83
83
  # One of `credit` or `debit`.
84
- # @return [Direction4Enum]
84
+ # @return [Direction4]
85
85
  attr_accessor :direction
86
86
 
87
87
  # The current status of the incoming payment order. One of `pending`,
88
88
  # `completed`, or `returned`.
89
- # @return [Status2Enum]
89
+ # @return [Status2]
90
90
  attr_accessor :status
91
91
 
92
92
  # Additional data represented as key-value pairs. Both the key and value
@@ -109,7 +109,7 @@ module ModernTreasury
109
109
 
110
110
  # The type of the originating routing number for the incoming payment
111
111
  # detail.
112
- # @return [OriginatingRoutingNumberTypeEnum]
112
+ # @return [OriginatingRoutingNumberType]
113
113
  attr_accessor :originating_routing_number_type
114
114
 
115
115
  # The account number of the originating account for the incoming payment
@@ -124,7 +124,7 @@ module ModernTreasury
124
124
 
125
125
  # The type of the originating account number for the incoming payment
126
126
  # detail.
127
- # @return [OriginatingAccountNumberTypeEnum]
127
+ # @return [OriginatingAccountNumberType]
128
128
  attr_accessor :originating_account_number_type
129
129
 
130
130
  # A mapping from model property names to API property names.
@@ -184,18 +184,16 @@ module ModernTreasury
184
184
  ]
185
185
  end
186
186
 
187
- def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
188
- updated_at = nil, internal_account_id = nil,
189
- virtual_account_id = nil, virtual_account = nil,
190
- transaction_line_item_id = nil, transaction_id = nil,
191
- ledger_transaction_id = nil, type = nil, data = nil,
192
- amount = nil, currency = nil, direction = nil, status = nil,
193
- metadata = nil, as_of_date = nil, vendor_id = nil,
194
- originating_routing_number = nil,
195
- originating_routing_number_type = nil,
196
- originating_account_number_safe = nil,
197
- originating_account_number_type = nil,
198
- originating_account_number = SKIP)
187
+ def initialize(id:, object:, live_mode:, created_at:, updated_at:,
188
+ internal_account_id:, virtual_account_id:, virtual_account:,
189
+ transaction_line_item_id:, transaction_id:,
190
+ ledger_transaction_id:, type:, data:, amount:, currency:,
191
+ direction:, status:, metadata:, as_of_date:, vendor_id:,
192
+ originating_routing_number:,
193
+ originating_routing_number_type:,
194
+ originating_account_number_safe:,
195
+ originating_account_number_type:,
196
+ originating_account_number: SKIP)
199
197
  @id = id
200
198
  @object = object
201
199
  @live_mode = live_mode
@@ -273,31 +271,31 @@ module ModernTreasury
273
271
  hash.key?('originating_account_number') ? hash['originating_account_number'] : SKIP
274
272
 
275
273
  # Create object from extracted values.
276
- IncomingPaymentDetail.new(id,
277
- object,
278
- live_mode,
279
- created_at,
280
- updated_at,
281
- internal_account_id,
282
- virtual_account_id,
283
- virtual_account,
284
- transaction_line_item_id,
285
- transaction_id,
286
- ledger_transaction_id,
287
- type,
288
- data,
289
- amount,
290
- currency,
291
- direction,
292
- status,
293
- metadata,
294
- as_of_date,
295
- vendor_id,
296
- originating_routing_number,
297
- originating_routing_number_type,
298
- originating_account_number_safe,
299
- originating_account_number_type,
300
- originating_account_number)
274
+ IncomingPaymentDetail.new(id: id,
275
+ object: object,
276
+ live_mode: live_mode,
277
+ created_at: created_at,
278
+ updated_at: updated_at,
279
+ internal_account_id: internal_account_id,
280
+ virtual_account_id: virtual_account_id,
281
+ virtual_account: virtual_account,
282
+ transaction_line_item_id: transaction_line_item_id,
283
+ transaction_id: transaction_id,
284
+ ledger_transaction_id: ledger_transaction_id,
285
+ type: type,
286
+ data: data,
287
+ amount: amount,
288
+ currency: currency,
289
+ direction: direction,
290
+ status: status,
291
+ metadata: metadata,
292
+ as_of_date: as_of_date,
293
+ vendor_id: vendor_id,
294
+ originating_routing_number: originating_routing_number,
295
+ originating_routing_number_type: originating_routing_number_type,
296
+ originating_account_number_safe: originating_account_number_safe,
297
+ originating_account_number_type: originating_account_number_type,
298
+ originating_account_number: originating_account_number)
301
299
  end
302
300
 
303
301
  def to_custom_created_at
@@ -10,11 +10,11 @@ module ModernTreasury
10
10
  private_constant :SKIP
11
11
 
12
12
  # One of `ach`, `wire`, `check`.
13
- # @return [Type10Enum]
13
+ # @return [Type10]
14
14
  attr_accessor :type
15
15
 
16
16
  # One of `credit`, `debit`.
17
- # @return [Direction14Enum]
17
+ # @return [Direction14]
18
18
  attr_accessor :direction
19
19
 
20
20
  # Value in specified currency's smallest unit. e.g. $10 would be represented
@@ -23,7 +23,7 @@ module ModernTreasury
23
23
  attr_accessor :amount
24
24
 
25
25
  # Three-letter ISO currency code.
26
- # @return [CurrencyEnum]
26
+ # @return [Currency]
27
27
  attr_accessor :currency
28
28
 
29
29
  # The ID of one of your internal accounts.
@@ -80,10 +80,13 @@ module ModernTreasury
80
80
  ]
81
81
  end
82
82
 
83
- def initialize(type = SKIP, direction = SKIP, amount = SKIP,
84
- currency = SKIP, internal_account_id = SKIP,
85
- virtual_account_id = SKIP, as_of_date = SKIP,
86
- description = SKIP)
83
+ def initialize(type: SKIP, direction: SKIP, amount: SKIP, currency: SKIP,
84
+ internal_account_id: SKIP, virtual_account_id: SKIP,
85
+ as_of_date: SKIP, description: SKIP,
86
+ additional_properties: nil)
87
+ # Add additional model properties to the instance
88
+ additional_properties = {} if additional_properties.nil?
89
+
87
90
  @type = type unless type == SKIP
88
91
  @direction = direction unless direction == SKIP
89
92
  @amount = amount unless amount == SKIP
@@ -92,6 +95,7 @@ module ModernTreasury
92
95
  @virtual_account_id = virtual_account_id unless virtual_account_id == SKIP
93
96
  @as_of_date = as_of_date unless as_of_date == SKIP
94
97
  @description = description unless description == SKIP
98
+ @additional_properties = additional_properties
95
99
  end
96
100
 
97
101
  # Creates an instance of the object from a hash.
@@ -110,15 +114,23 @@ module ModernTreasury
110
114
  as_of_date = hash.key?('as_of_date') ? hash['as_of_date'] : SKIP
111
115
  description = hash.key?('description') ? hash['description'] : SKIP
112
116
 
117
+ # Create a new hash for additional properties, removing known properties.
118
+ new_hash = hash.reject { |k, _| names.value?(k) }
119
+
120
+ additional_properties = APIHelper.get_additional_properties(
121
+ new_hash, proc { |value| value }
122
+ )
123
+
113
124
  # Create object from extracted values.
114
- IncomingPaymentDetailCreateRequest.new(type,
115
- direction,
116
- amount,
117
- currency,
118
- internal_account_id,
119
- virtual_account_id,
120
- as_of_date,
121
- description)
125
+ IncomingPaymentDetailCreateRequest.new(type: type,
126
+ direction: direction,
127
+ amount: amount,
128
+ currency: currency,
129
+ internal_account_id: internal_account_id,
130
+ virtual_account_id: virtual_account_id,
131
+ as_of_date: as_of_date,
132
+ description: description,
133
+ additional_properties: additional_properties)
122
134
  end
123
135
 
124
136
  # Provides a human-readable string representation of the object.
@@ -126,7 +138,8 @@ module ModernTreasury
126
138
  class_name = self.class.name.split('::').last
127
139
  "<#{class_name} type: #{@type}, direction: #{@direction}, amount: #{@amount}, currency:"\
128
140
  " #{@currency}, internal_account_id: #{@internal_account_id}, virtual_account_id:"\
129
- " #{@virtual_account_id}, as_of_date: #{@as_of_date}, description: #{@description}>"
141
+ " #{@virtual_account_id}, as_of_date: #{@as_of_date}, description: #{@description},"\
142
+ " additional_properties: #{@additional_properties}>"
130
143
  end
131
144
 
132
145
  # Provides a debugging-friendly string with detailed object information.
@@ -135,7 +148,8 @@ module ModernTreasury
135
148
  "<#{class_name} type: #{@type.inspect}, direction: #{@direction.inspect}, amount:"\
136
149
  " #{@amount.inspect}, currency: #{@currency.inspect}, internal_account_id:"\
137
150
  " #{@internal_account_id.inspect}, virtual_account_id: #{@virtual_account_id.inspect},"\
138
- " as_of_date: #{@as_of_date.inspect}, description: #{@description.inspect}>"
151
+ " as_of_date: #{@as_of_date.inspect}, description: #{@description.inspect},"\
152
+ " additional_properties: #{@additional_properties}>"
139
153
  end
140
154
  end
141
155
  end
@@ -33,8 +33,12 @@ module ModernTreasury
33
33
  []
34
34
  end
35
35
 
36
- def initialize(metadata = SKIP)
36
+ def initialize(metadata: SKIP, additional_properties: nil)
37
+ # Add additional model properties to the instance
38
+ additional_properties = {} if additional_properties.nil?
39
+
37
40
  @metadata = metadata unless metadata == SKIP
41
+ @additional_properties = additional_properties
38
42
  end
39
43
 
40
44
  # Creates an instance of the object from a hash.
@@ -44,20 +48,29 @@ module ModernTreasury
44
48
  # Extract variables from the hash.
45
49
  metadata = hash.key?('metadata') ? hash['metadata'] : SKIP
46
50
 
51
+ # Create a new hash for additional properties, removing known properties.
52
+ new_hash = hash.reject { |k, _| names.value?(k) }
53
+
54
+ additional_properties = APIHelper.get_additional_properties(
55
+ new_hash, proc { |value| value }
56
+ )
57
+
47
58
  # Create object from extracted values.
48
- IncomingPaymentDetailUpdateRequest.new(metadata)
59
+ IncomingPaymentDetailUpdateRequest.new(metadata: metadata,
60
+ additional_properties: additional_properties)
49
61
  end
50
62
 
51
63
  # Provides a human-readable string representation of the object.
52
64
  def to_s
53
65
  class_name = self.class.name.split('::').last
54
- "<#{class_name} metadata: #{@metadata}>"
66
+ "<#{class_name} metadata: #{@metadata}, additional_properties: #{@additional_properties}>"
55
67
  end
56
68
 
57
69
  # Provides a debugging-friendly string with detailed object information.
58
70
  def inspect
59
71
  class_name = self.class.name.split('::').last
60
- "<#{class_name} metadata: #{@metadata.inspect}>"
72
+ "<#{class_name} metadata: #{@metadata.inspect}, additional_properties:"\
73
+ " #{@additional_properties}>"
61
74
  end
62
75
  end
63
76
  end
@@ -34,7 +34,7 @@ module ModernTreasury
34
34
  attr_accessor :updated_at
35
35
 
36
36
  # Can be checking, savings or other.
37
- # @return [AccountType5Enum]
37
+ # @return [AccountType5]
38
38
  attr_accessor :account_type
39
39
 
40
40
  # The legal name of the entity which owns the account.
@@ -42,7 +42,7 @@ module ModernTreasury
42
42
  attr_accessor :party_name
43
43
 
44
44
  # Either individual or business.
45
- # @return [PartyType5Enum]
45
+ # @return [PartyType5]
46
46
  attr_accessor :party_type
47
47
 
48
48
  # Either individual or business.
@@ -66,7 +66,7 @@ module ModernTreasury
66
66
  attr_accessor :connection
67
67
 
68
68
  # Three-letter ISO currency code.
69
- # @return [CurrencyEnum]
69
+ # @return [Currency]
70
70
  attr_accessor :currency
71
71
 
72
72
  # Additional data represented as key-value pairs. Both the key and value
@@ -129,13 +129,11 @@ module ModernTreasury
129
129
  ]
130
130
  end
131
131
 
132
- def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
133
- updated_at = nil, account_type = nil, party_name = nil,
134
- party_type = nil, party_address = nil, name = nil,
135
- account_details = nil, routing_details = nil,
136
- connection = nil, currency = nil, metadata = nil,
137
- parent_account_id = nil, counterparty_id = nil,
138
- ledger_account_id = nil)
132
+ def initialize(id:, object:, live_mode:, created_at:, updated_at:,
133
+ account_type:, party_name:, party_type:, party_address:,
134
+ name:, account_details:, routing_details:, connection:,
135
+ currency:, metadata:, parent_account_id:, counterparty_id:,
136
+ ledger_account_id:)
139
137
  @id = id
140
138
  @object = object
141
139
  @live_mode = live_mode
@@ -206,24 +204,24 @@ module ModernTreasury
206
204
  hash.key?('ledger_account_id') ? hash['ledger_account_id'] : nil
207
205
 
208
206
  # Create object from extracted values.
209
- InternalAccount.new(id,
210
- object,
211
- live_mode,
212
- created_at,
213
- updated_at,
214
- account_type,
215
- party_name,
216
- party_type,
217
- party_address,
218
- name,
219
- account_details,
220
- routing_details,
221
- connection,
222
- currency,
223
- metadata,
224
- parent_account_id,
225
- counterparty_id,
226
- ledger_account_id)
207
+ InternalAccount.new(id: id,
208
+ object: object,
209
+ live_mode: live_mode,
210
+ created_at: created_at,
211
+ updated_at: updated_at,
212
+ account_type: account_type,
213
+ party_name: party_name,
214
+ party_type: party_type,
215
+ party_address: party_address,
216
+ name: name,
217
+ account_details: account_details,
218
+ routing_details: routing_details,
219
+ connection: connection,
220
+ currency: currency,
221
+ metadata: metadata,
222
+ parent_account_id: parent_account_id,
223
+ counterparty_id: counterparty_id,
224
+ ledger_account_id: ledger_account_id)
227
225
  end
228
226
 
229
227
  def to_custom_created_at
@@ -250,11 +248,11 @@ module ModernTreasury
250
248
  APIHelper.valid_type?(value.updated_at,
251
249
  ->(val) { val.instance_of? DateTime }) and
252
250
  APIHelper.valid_type?(value.account_type,
253
- ->(val) { AccountType5Enum.validate(val) }) and
251
+ ->(val) { AccountType5.validate(val) }) and
254
252
  APIHelper.valid_type?(value.party_name,
255
253
  ->(val) { val.instance_of? String }) and
256
254
  APIHelper.valid_type?(value.party_type,
257
- ->(val) { PartyType5Enum.validate(val) }) and
255
+ ->(val) { PartyType5.validate(val) }) and
258
256
  APIHelper.valid_type?(value.party_address,
259
257
  ->(val) { Address.validate(val) },
260
258
  is_model_hash: true) and
@@ -272,7 +270,7 @@ module ModernTreasury
272
270
  ->(val) { Connection.validate(val) },
273
271
  is_model_hash: true) and
274
272
  APIHelper.valid_type?(value.currency,
275
- ->(val) { CurrencyEnum.validate(val) }) and
273
+ ->(val) { Currency.validate(val) }) and
276
274
  APIHelper.valid_type?(value.metadata,
277
275
  ->(val) { val.instance_of? String }) and
278
276
  APIHelper.valid_type?(value.parent_account_id,
@@ -298,11 +296,11 @@ module ModernTreasury
298
296
  APIHelper.valid_type?(value['updated_at'],
299
297
  ->(val) { val.instance_of? String }) and
300
298
  APIHelper.valid_type?(value['account_type'],
301
- ->(val) { AccountType5Enum.validate(val) }) and
299
+ ->(val) { AccountType5.validate(val) }) and
302
300
  APIHelper.valid_type?(value['party_name'],
303
301
  ->(val) { val.instance_of? String }) and
304
302
  APIHelper.valid_type?(value['party_type'],
305
- ->(val) { PartyType5Enum.validate(val) }) and
303
+ ->(val) { PartyType5.validate(val) }) and
306
304
  APIHelper.valid_type?(value['party_address'],
307
305
  ->(val) { Address.validate(val) },
308
306
  is_model_hash: true) and
@@ -320,7 +318,7 @@ module ModernTreasury
320
318
  ->(val) { Connection.validate(val) },
321
319
  is_model_hash: true) and
322
320
  APIHelper.valid_type?(value['currency'],
323
- ->(val) { CurrencyEnum.validate(val) }) and
321
+ ->(val) { Currency.validate(val) }) and
324
322
  APIHelper.valid_type?(value['metadata'],
325
323
  ->(val) { val.instance_of? String }) and
326
324
  APIHelper.valid_type?(value['parent_account_id'],
@@ -27,7 +27,7 @@ module ModernTreasury
27
27
 
28
28
  # Either "USD" or "CAD". Internal accounts created at Increase only supports
29
29
  # "USD".
30
- # @return [Currency1Enum]
30
+ # @return [Currency1]
31
31
  attr_accessor :currency
32
32
 
33
33
  # A hash of vendor specific attributes that will be used when creating the
@@ -72,10 +72,13 @@ module ModernTreasury
72
72
  []
73
73
  end
74
74
 
75
- def initialize(connection_id = nil, name = nil, party_name = nil,
76
- currency = nil, party_address = SKIP,
77
- vendor_attributes = SKIP, parent_account_id = SKIP,
78
- counterparty_id = SKIP)
75
+ def initialize(connection_id:, name:, party_name:, currency:,
76
+ party_address: SKIP, vendor_attributes: SKIP,
77
+ parent_account_id: SKIP, counterparty_id: SKIP,
78
+ additional_properties: nil)
79
+ # Add additional model properties to the instance
80
+ additional_properties = {} if additional_properties.nil?
81
+
79
82
  @connection_id = connection_id
80
83
  @name = name
81
84
  @party_name = party_name
@@ -84,6 +87,7 @@ module ModernTreasury
84
87
  @vendor_attributes = vendor_attributes unless vendor_attributes == SKIP
85
88
  @parent_account_id = parent_account_id unless parent_account_id == SKIP
86
89
  @counterparty_id = counterparty_id unless counterparty_id == SKIP
90
+ @additional_properties = additional_properties
87
91
  end
88
92
 
89
93
  # Creates an instance of the object from a hash.
@@ -103,15 +107,23 @@ module ModernTreasury
103
107
  counterparty_id =
104
108
  hash.key?('counterparty_id') ? hash['counterparty_id'] : SKIP
105
109
 
110
+ # Create a new hash for additional properties, removing known properties.
111
+ new_hash = hash.reject { |k, _| names.value?(k) }
112
+
113
+ additional_properties = APIHelper.get_additional_properties(
114
+ new_hash, proc { |value| value }
115
+ )
116
+
106
117
  # Create object from extracted values.
107
- InternalAccountCreateRequest.new(connection_id,
108
- name,
109
- party_name,
110
- currency,
111
- party_address,
112
- vendor_attributes,
113
- parent_account_id,
114
- counterparty_id)
118
+ InternalAccountCreateRequest.new(connection_id: connection_id,
119
+ name: name,
120
+ party_name: party_name,
121
+ currency: currency,
122
+ party_address: party_address,
123
+ vendor_attributes: vendor_attributes,
124
+ parent_account_id: parent_account_id,
125
+ counterparty_id: counterparty_id,
126
+ additional_properties: additional_properties)
115
127
  end
116
128
 
117
129
  # Provides a human-readable string representation of the object.
@@ -120,7 +132,7 @@ module ModernTreasury
120
132
  "<#{class_name} connection_id: #{@connection_id}, name: #{@name}, party_name:"\
121
133
  " #{@party_name}, party_address: #{@party_address}, currency: #{@currency},"\
122
134
  " vendor_attributes: #{@vendor_attributes}, parent_account_id: #{@parent_account_id},"\
123
- " counterparty_id: #{@counterparty_id}>"
135
+ " counterparty_id: #{@counterparty_id}, additional_properties: #{@additional_properties}>"
124
136
  end
125
137
 
126
138
  # Provides a debugging-friendly string with detailed object information.
@@ -129,7 +141,8 @@ module ModernTreasury
129
141
  "<#{class_name} connection_id: #{@connection_id.inspect}, name: #{@name.inspect},"\
130
142
  " party_name: #{@party_name.inspect}, party_address: #{@party_address.inspect}, currency:"\
131
143
  " #{@currency.inspect}, vendor_attributes: #{@vendor_attributes.inspect}, parent_account_id:"\
132
- " #{@parent_account_id.inspect}, counterparty_id: #{@counterparty_id.inspect}>"
144
+ " #{@parent_account_id.inspect}, counterparty_id: #{@counterparty_id.inspect},"\
145
+ " additional_properties: #{@additional_properties}>"
133
146
  end
134
147
  end
135
148
  end
@@ -51,12 +51,16 @@ module ModernTreasury
51
51
  []
52
52
  end
53
53
 
54
- def initialize(name = SKIP, metadata = SKIP, parent_account_id = SKIP,
55
- counterparty_id = SKIP)
54
+ def initialize(name: SKIP, metadata: SKIP, parent_account_id: SKIP,
55
+ counterparty_id: SKIP, additional_properties: nil)
56
+ # Add additional model properties to the instance
57
+ additional_properties = {} if additional_properties.nil?
58
+
56
59
  @name = name unless name == SKIP
57
60
  @metadata = metadata unless metadata == SKIP
58
61
  @parent_account_id = parent_account_id unless parent_account_id == SKIP
59
62
  @counterparty_id = counterparty_id unless counterparty_id == SKIP
63
+ @additional_properties = additional_properties
60
64
  end
61
65
 
62
66
  # Creates an instance of the object from a hash.
@@ -71,25 +75,35 @@ module ModernTreasury
71
75
  counterparty_id =
72
76
  hash.key?('counterparty_id') ? hash['counterparty_id'] : SKIP
73
77
 
78
+ # Create a new hash for additional properties, removing known properties.
79
+ new_hash = hash.reject { |k, _| names.value?(k) }
80
+
81
+ additional_properties = APIHelper.get_additional_properties(
82
+ new_hash, proc { |value| value }
83
+ )
84
+
74
85
  # Create object from extracted values.
75
- InternalAccountUpdateRequest.new(name,
76
- metadata,
77
- parent_account_id,
78
- counterparty_id)
86
+ InternalAccountUpdateRequest.new(name: name,
87
+ metadata: metadata,
88
+ parent_account_id: parent_account_id,
89
+ counterparty_id: counterparty_id,
90
+ additional_properties: additional_properties)
79
91
  end
80
92
 
81
93
  # Provides a human-readable string representation of the object.
82
94
  def to_s
83
95
  class_name = self.class.name.split('::').last
84
96
  "<#{class_name} name: #{@name}, metadata: #{@metadata}, parent_account_id:"\
85
- " #{@parent_account_id}, counterparty_id: #{@counterparty_id}>"
97
+ " #{@parent_account_id}, counterparty_id: #{@counterparty_id}, additional_properties:"\
98
+ " #{@additional_properties}>"
86
99
  end
87
100
 
88
101
  # Provides a debugging-friendly string with detailed object information.
89
102
  def inspect
90
103
  class_name = self.class.name.split('::').last
91
104
  "<#{class_name} name: #{@name.inspect}, metadata: #{@metadata.inspect}, parent_account_id:"\
92
- " #{@parent_account_id.inspect}, counterparty_id: #{@counterparty_id.inspect}>"
105
+ " #{@parent_account_id.inspect}, counterparty_id: #{@counterparty_id.inspect},"\
106
+ " additional_properties: #{@additional_properties}>"
93
107
  end
94
108
  end
95
109
  end