mt-sdk 0.0.1 → 0.0.4

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/client.rb +9 -7
  4. data/lib/modern_treasury/configuration.rb +18 -47
  5. data/lib/modern_treasury/controllers/account_collection_flow_controller.rb +17 -11
  6. data/lib/modern_treasury/controllers/account_detail_controller.rb +23 -9
  7. data/lib/modern_treasury/controllers/balance_report_controller.rb +9 -4
  8. data/lib/modern_treasury/controllers/base_controller.rb +8 -1
  9. data/lib/modern_treasury/controllers/connection_controller.rb +8 -7
  10. data/lib/modern_treasury/controllers/counterparty_controller.rb +23 -13
  11. data/lib/modern_treasury/controllers/document_controller.rb +50 -26
  12. data/lib/modern_treasury/controllers/event_controller.rb +11 -8
  13. data/lib/modern_treasury/controllers/expected_payment_controller.rb +24 -17
  14. data/lib/modern_treasury/controllers/external_account_controller.rb +26 -14
  15. data/lib/modern_treasury/controllers/incoming_payment_detail_controller.rb +20 -14
  16. data/lib/modern_treasury/controllers/internal_account_controller.rb +19 -13
  17. data/lib/modern_treasury/controllers/invoice_controller.rb +18 -12
  18. data/lib/modern_treasury/controllers/invoice_line_item_controller.rb +22 -9
  19. data/lib/modern_treasury/controllers/ledger_account_category_controller.rb +35 -15
  20. data/lib/modern_treasury/controllers/ledger_account_controller.rb +19 -11
  21. data/lib/modern_treasury/controllers/ledger_account_payout_controller.rb +16 -10
  22. data/lib/modern_treasury/controllers/ledger_account_statement_controller.rb +5 -2
  23. data/lib/modern_treasury/controllers/ledger_controller.rb +19 -11
  24. data/lib/modern_treasury/controllers/ledger_entry_controller.rb +15 -13
  25. data/lib/modern_treasury/controllers/ledger_event_handler_controller.rb +16 -10
  26. data/lib/modern_treasury/controllers/ledger_transaction_controller.rb +32 -22
  27. data/lib/modern_treasury/controllers/ledgerable_event_controller.rb +5 -2
  28. data/lib/modern_treasury/controllers/line_item_controller.rb +18 -7
  29. data/lib/modern_treasury/controllers/paper_item_controller.rb +10 -7
  30. data/lib/modern_treasury/controllers/payment_flow_controller.rb +17 -11
  31. data/lib/modern_treasury/controllers/payment_order_controller.rb +45 -34
  32. data/lib/modern_treasury/controllers/payment_reference_controller.rb +14 -11
  33. data/lib/modern_treasury/controllers/ping_controller.rb +2 -1
  34. data/lib/modern_treasury/controllers/return_controller.rb +14 -10
  35. data/lib/modern_treasury/controllers/reversal_controller.rb +10 -3
  36. data/lib/modern_treasury/controllers/routing_detail_controller.rb +23 -9
  37. data/lib/modern_treasury/controllers/transaction_controller.rb +14 -9
  38. data/lib/modern_treasury/controllers/transaction_line_item_controller.rb +4 -2
  39. data/lib/modern_treasury/controllers/validation_controller.rb +8 -5
  40. data/lib/modern_treasury/controllers/virtual_account_controller.rb +21 -13
  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 +117 -112
  277. metadata +116 -170
  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
  # accounts_type1.
8
- class AccountsType1Enum
9
- ACCOUNTS_TYPE1_ENUM = [
8
+ class AccountsType1
9
+ ACCOUNTS_TYPE1 = [
10
10
  # TODO: Write general description for EXTERNAL_ACCOUNTS
11
11
  EXTERNAL_ACCOUNTS = 'external_accounts'.freeze
12
12
  ].freeze
@@ -14,7 +14,7 @@ module ModernTreasury
14
14
  def self.validate(value)
15
15
  return false if value.nil?
16
16
 
17
- ACCOUNTS_TYPE1_ENUM.include?(value)
17
+ ACCOUNTS_TYPE1.include?(value)
18
18
  end
19
19
 
20
20
  def self.from_value(value, default_value = EXTERNAL_ACCOUNTS)
@@ -93,9 +93,8 @@ module ModernTreasury
93
93
  ]
94
94
  end
95
95
 
96
- def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
97
- updated_at = nil, line1 = nil, line2 = nil, locality = nil,
98
- region = nil, postal_code = nil, country = nil)
96
+ def initialize(id:, object:, live_mode:, created_at:, updated_at:, line1:,
97
+ line2:, locality:, region:, postal_code:, country:)
99
98
  @id = id
100
99
  @object = object
101
100
  @live_mode = live_mode
@@ -131,17 +130,17 @@ module ModernTreasury
131
130
  country = hash.key?('country') ? hash['country'] : nil
132
131
 
133
132
  # Create object from extracted values.
134
- Address.new(id,
135
- object,
136
- live_mode,
137
- created_at,
138
- updated_at,
139
- line1,
140
- line2,
141
- locality,
142
- region,
143
- postal_code,
144
- country)
133
+ Address.new(id: id,
134
+ object: object,
135
+ live_mode: live_mode,
136
+ created_at: created_at,
137
+ updated_at: updated_at,
138
+ line1: line1,
139
+ line2: line2,
140
+ locality: locality,
141
+ region: region,
142
+ postal_code: postal_code,
143
+ country: country)
145
144
  end
146
145
 
147
146
  def to_custom_created_at
@@ -69,14 +69,18 @@ module ModernTreasury
69
69
  ]
70
70
  end
71
71
 
72
- def initialize(line1 = SKIP, line2 = SKIP, locality = SKIP, region = SKIP,
73
- postal_code = SKIP, country = SKIP)
72
+ def initialize(line1: SKIP, line2: SKIP, locality: SKIP, region: SKIP,
73
+ postal_code: SKIP, country: SKIP, additional_properties: nil)
74
+ # Add additional model properties to the instance
75
+ additional_properties = {} if additional_properties.nil?
76
+
74
77
  @line1 = line1 unless line1 == SKIP
75
78
  @line2 = line2 unless line2 == SKIP
76
79
  @locality = locality unless locality == SKIP
77
80
  @region = region unless region == SKIP
78
81
  @postal_code = postal_code unless postal_code == SKIP
79
82
  @country = country unless country == SKIP
83
+ @additional_properties = additional_properties
80
84
  end
81
85
 
82
86
  # Creates an instance of the object from a hash.
@@ -91,20 +95,29 @@ module ModernTreasury
91
95
  postal_code = hash.key?('postal_code') ? hash['postal_code'] : SKIP
92
96
  country = hash.key?('country') ? hash['country'] : SKIP
93
97
 
98
+ # Create a new hash for additional properties, removing known properties.
99
+ new_hash = hash.reject { |k, _| names.value?(k) }
100
+
101
+ additional_properties = APIHelper.get_additional_properties(
102
+ new_hash, proc { |value| value }
103
+ )
104
+
94
105
  # Create object from extracted values.
95
- AddressRequest.new(line1,
96
- line2,
97
- locality,
98
- region,
99
- postal_code,
100
- country)
106
+ AddressRequest.new(line1: line1,
107
+ line2: line2,
108
+ locality: locality,
109
+ region: region,
110
+ postal_code: postal_code,
111
+ country: country,
112
+ additional_properties: additional_properties)
101
113
  end
102
114
 
103
115
  # Provides a human-readable string representation of the object.
104
116
  def to_s
105
117
  class_name = self.class.name.split('::').last
106
118
  "<#{class_name} line1: #{@line1}, line2: #{@line2}, locality: #{@locality}, region:"\
107
- " #{@region}, postal_code: #{@postal_code}, country: #{@country}>"
119
+ " #{@region}, postal_code: #{@postal_code}, country: #{@country}, additional_properties:"\
120
+ " #{@additional_properties}>"
108
121
  end
109
122
 
110
123
  # Provides a debugging-friendly string with detailed object information.
@@ -112,7 +125,7 @@ module ModernTreasury
112
125
  class_name = self.class.name.split('::').last
113
126
  "<#{class_name} line1: #{@line1.inspect}, line2: #{@line2.inspect}, locality:"\
114
127
  " #{@locality.inspect}, region: #{@region.inspect}, postal_code: #{@postal_code.inspect},"\
115
- " country: #{@country.inspect}>"
128
+ " country: #{@country.inspect}, additional_properties: #{@additional_properties}>"
116
129
  end
117
130
  end
118
131
  end
@@ -35,7 +35,7 @@ module ModernTreasury
35
35
  []
36
36
  end
37
37
 
38
- def initialize(id = nil, object = nil)
38
+ def initialize(id:, object:)
39
39
  @id = id
40
40
  @object = object
41
41
  end
@@ -49,8 +49,8 @@ module ModernTreasury
49
49
  object = hash.key?('object') ? hash['object'] : nil
50
50
 
51
51
  # Create object from extracted values.
52
- AsyncResponse.new(id,
53
- object)
52
+ AsyncResponse.new(id: id,
53
+ object: object)
54
54
  end
55
55
 
56
56
  # Provides a human-readable string representation of the object.
@@ -38,14 +38,14 @@ module ModernTreasury
38
38
  attr_accessor :amount
39
39
 
40
40
  # Three-letter ISO currency code.
41
- # @return [CurrencyEnum]
41
+ # @return [Currency]
42
42
  attr_accessor :currency
43
43
 
44
44
  # The specific type of balance reported. One of `opening_ledger`,
45
45
  # `closing_ledger`, `current_ledger`, `opening_available`,
46
46
  # `opening_available_next_business_day`, `closing_available`,
47
47
  # `current_available`, or `other`.
48
- # @return [BalanceTypeEnum]
48
+ # @return [BalanceType]
49
49
  attr_accessor :balance_type
50
50
 
51
51
  # The code used by the bank when reporting this specific balance.
@@ -53,7 +53,7 @@ module ModernTreasury
53
53
  attr_accessor :vendor_code
54
54
 
55
55
  # The code used by the bank when reporting this specific balance.
56
- # @return [VendorCodeTypeEnum]
56
+ # @return [VendorCodeType]
57
57
  attr_accessor :vendor_code_type
58
58
 
59
59
  # A mapping from model property names to API property names.
@@ -84,10 +84,8 @@ module ModernTreasury
84
84
  ]
85
85
  end
86
86
 
87
- def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
88
- updated_at = nil, amount = nil, currency = nil,
89
- balance_type = nil, vendor_code = nil,
90
- vendor_code_type = nil)
87
+ def initialize(id:, object:, live_mode:, created_at:, updated_at:, amount:,
88
+ currency:, balance_type:, vendor_code:, vendor_code_type:)
91
89
  @id = id
92
90
  @object = object
93
91
  @live_mode = live_mode
@@ -122,16 +120,16 @@ module ModernTreasury
122
120
  hash.key?('vendor_code_type') ? hash['vendor_code_type'] : nil
123
121
 
124
122
  # Create object from extracted values.
125
- Balance.new(id,
126
- object,
127
- live_mode,
128
- created_at,
129
- updated_at,
130
- amount,
131
- currency,
132
- balance_type,
133
- vendor_code,
134
- vendor_code_type)
123
+ Balance.new(id: id,
124
+ object: object,
125
+ live_mode: live_mode,
126
+ created_at: created_at,
127
+ updated_at: updated_at,
128
+ amount: amount,
129
+ currency: currency,
130
+ balance_type: balance_type,
131
+ vendor_code: vendor_code,
132
+ vendor_code_type: vendor_code_type)
135
133
  end
136
134
 
137
135
  def to_custom_created_at
@@ -35,7 +35,7 @@ module ModernTreasury
35
35
 
36
36
  # The specific type of balance report. One of `intraday`, `previous_day`,
37
37
  # `real_time`, or `other`.
38
- # @return [BalanceReportTypeEnum]
38
+ # @return [BalanceReportType]
39
39
  attr_accessor :balance_report_type
40
40
 
41
41
  # The date of the balance report in local time.
@@ -82,10 +82,9 @@ module ModernTreasury
82
82
  ]
83
83
  end
84
84
 
85
- def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
86
- updated_at = nil, balance_report_type = nil,
87
- as_of_date = nil, as_of_time = nil, balances = nil,
88
- internal_account_id = nil)
85
+ def initialize(id:, object:, live_mode:, created_at:, updated_at:,
86
+ balance_report_type:, as_of_date:, as_of_time:, balances:,
87
+ internal_account_id:)
89
88
  @id = id
90
89
  @object = object
91
90
  @live_mode = live_mode
@@ -132,16 +131,16 @@ module ModernTreasury
132
131
  hash.key?('internal_account_id') ? hash['internal_account_id'] : nil
133
132
 
134
133
  # Create object from extracted values.
135
- BalanceReport.new(id,
136
- object,
137
- live_mode,
138
- created_at,
139
- updated_at,
140
- balance_report_type,
141
- as_of_date,
142
- as_of_time,
143
- balances,
144
- internal_account_id)
134
+ BalanceReport.new(id: id,
135
+ object: object,
136
+ live_mode: live_mode,
137
+ created_at: created_at,
138
+ updated_at: updated_at,
139
+ balance_report_type: balance_report_type,
140
+ as_of_date: as_of_date,
141
+ as_of_time: as_of_time,
142
+ balances: balances,
143
+ internal_account_id: internal_account_id)
145
144
  end
146
145
 
147
146
  def to_custom_created_at
@@ -6,8 +6,8 @@
6
6
  module ModernTreasury
7
7
  # The specific type of balance report. One of `intraday`, `previous_day`,
8
8
  # `real_time`, or `other`.
9
- class BalanceReportTypeEnum
10
- BALANCE_REPORT_TYPE_ENUM = [
9
+ class BalanceReportType
10
+ BALANCE_REPORT_TYPE = [
11
11
  # TODO: Write general description for INTRADAY
12
12
  INTRADAY = 'intraday'.freeze,
13
13
 
@@ -24,7 +24,7 @@ module ModernTreasury
24
24
  def self.validate(value)
25
25
  return false if value.nil?
26
26
 
27
- BALANCE_REPORT_TYPE_ENUM.include?(value)
27
+ BALANCE_REPORT_TYPE.include?(value)
28
28
  end
29
29
 
30
30
  def self.from_value(value, default_value = INTRADAY)
@@ -5,8 +5,8 @@
5
5
 
6
6
  module ModernTreasury
7
7
  # balance_report_type1.
8
- class BalanceReportType1Enum
9
- BALANCE_REPORT_TYPE1_ENUM = [
8
+ class BalanceReportType1
9
+ BALANCE_REPORT_TYPE1 = [
10
10
  # TODO: Write general description for INTRADAY
11
11
  INTRADAY = 'intraday'.freeze,
12
12
 
@@ -23,7 +23,7 @@ module ModernTreasury
23
23
  def self.validate(value)
24
24
  return false if value.nil?
25
25
 
26
- BALANCE_REPORT_TYPE1_ENUM.include?(value)
26
+ BALANCE_REPORT_TYPE1.include?(value)
27
27
  end
28
28
 
29
29
  def self.from_value(value, default_value = INTRADAY)
@@ -8,8 +8,8 @@ module ModernTreasury
8
8
  # `closing_ledger`, `current_ledger`, `opening_available`,
9
9
  # `opening_available_next_business_day`, `closing_available`,
10
10
  # `current_available`, or `other`.
11
- class BalanceTypeEnum
12
- BALANCE_TYPE_ENUM = [
11
+ class BalanceType
12
+ BALANCE_TYPE = [
13
13
  # TODO: Write general description for CLOSING_AVAILABLE
14
14
  CLOSING_AVAILABLE = 'closing_available'.freeze,
15
15
 
@@ -38,7 +38,7 @@ module ModernTreasury
38
38
  def self.validate(value)
39
39
  return false if value.nil?
40
40
 
41
- BALANCE_TYPE_ENUM.include?(value)
41
+ BALANCE_TYPE.include?(value)
42
42
  end
43
43
 
44
44
  def self.from_value(value, default_value = CLOSING_AVAILABLE)
@@ -33,7 +33,7 @@ module ModernTreasury
33
33
  []
34
34
  end
35
35
 
36
- def initialize(effective_at = SKIP)
36
+ def initialize(effective_at: SKIP)
37
37
  @effective_at = effective_at unless effective_at == SKIP
38
38
  end
39
39
 
@@ -49,7 +49,7 @@ module ModernTreasury
49
49
  end
50
50
 
51
51
  # Create object from extracted values.
52
- Balances.new(effective_at)
52
+ Balances.new(effective_at: effective_at)
53
53
  end
54
54
 
55
55
  def to_custom_effective_at
@@ -39,7 +39,7 @@ module ModernTreasury
39
39
  []
40
40
  end
41
41
 
42
- def initialize(as_of_date = SKIP, effective_at = SKIP)
42
+ def initialize(as_of_date: SKIP, effective_at: SKIP)
43
43
  @as_of_date = as_of_date unless as_of_date == SKIP
44
44
  @effective_at = effective_at unless effective_at == SKIP
45
45
  end
@@ -57,8 +57,8 @@ module ModernTreasury
57
57
  end
58
58
 
59
59
  # Create object from extracted values.
60
- Balances1.new(as_of_date,
61
- effective_at)
60
+ Balances1.new(as_of_date: as_of_date,
61
+ effective_at: effective_at)
62
62
  end
63
63
 
64
64
  def to_custom_effective_at
@@ -51,9 +51,9 @@ module ModernTreasury
51
51
  []
52
52
  end
53
53
 
54
- def initialize(as_of_date = SKIP, effective_at = SKIP,
55
- effective_at_lower_bound = SKIP,
56
- effective_at_upper_bound = SKIP)
54
+ def initialize(as_of_date: SKIP, effective_at: SKIP,
55
+ effective_at_lower_bound: SKIP,
56
+ effective_at_upper_bound: SKIP)
57
57
  @as_of_date = as_of_date unless as_of_date == SKIP
58
58
  @effective_at = effective_at unless effective_at == SKIP
59
59
  @effective_at_lower_bound = effective_at_lower_bound unless effective_at_lower_bound == SKIP
@@ -83,10 +83,10 @@ module ModernTreasury
83
83
  end
84
84
 
85
85
  # Create object from extracted values.
86
- Balances2.new(as_of_date,
87
- effective_at,
88
- effective_at_lower_bound,
89
- effective_at_upper_bound)
86
+ Balances2.new(as_of_date: as_of_date,
87
+ effective_at: effective_at,
88
+ effective_at_lower_bound: effective_at_lower_bound,
89
+ effective_at_upper_bound: effective_at_upper_bound)
90
90
  end
91
91
 
92
92
  def to_custom_effective_at
@@ -57,9 +57,9 @@ module ModernTreasury
57
57
  []
58
58
  end
59
59
 
60
- def initialize(as_of_date = SKIP, effective_at = SKIP,
61
- effective_at_lower_bound = SKIP,
62
- effective_at_upper_bound = SKIP, as_of_lock_version = SKIP)
60
+ def initialize(as_of_date: SKIP, effective_at: SKIP,
61
+ effective_at_lower_bound: SKIP,
62
+ effective_at_upper_bound: SKIP, as_of_lock_version: SKIP)
63
63
  @as_of_date = as_of_date unless as_of_date == SKIP
64
64
  @effective_at = effective_at unless effective_at == SKIP
65
65
  @effective_at_lower_bound = effective_at_lower_bound unless effective_at_lower_bound == SKIP
@@ -92,11 +92,11 @@ module ModernTreasury
92
92
  hash.key?('as_of_lock_version') ? hash['as_of_lock_version'] : SKIP
93
93
 
94
94
  # Create object from extracted values.
95
- Balances3.new(as_of_date,
96
- effective_at,
97
- effective_at_lower_bound,
98
- effective_at_upper_bound,
99
- as_of_lock_version)
95
+ Balances3.new(as_of_date: as_of_date,
96
+ effective_at: effective_at,
97
+ effective_at_lower_bound: effective_at_lower_bound,
98
+ effective_at_upper_bound: effective_at_upper_bound,
99
+ as_of_lock_version: as_of_lock_version)
100
100
  end
101
101
 
102
102
  def to_custom_effective_at
@@ -7,8 +7,8 @@ module ModernTreasury
7
7
  # The party that will pay the fees for the payment order. Only applies to wire
8
8
  # payment orders. Can be one of shared, sender, or receiver, which correspond
9
9
  # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
10
- class ChargeBearerEnum
11
- CHARGE_BEARER_ENUM = [
10
+ class ChargeBearer
11
+ CHARGE_BEARER = [
12
12
  # TODO: Write general description for SHARED
13
13
  SHARED = 'shared'.freeze,
14
14
 
@@ -22,7 +22,7 @@ module ModernTreasury
22
22
  def self.validate(value)
23
23
  return false if value.nil?
24
24
 
25
- CHARGE_BEARER_ENUM.include?(value)
25
+ CHARGE_BEARER.include?(value)
26
26
  end
27
27
 
28
28
  def self.from_value(value, default_value = SHARED)
@@ -5,8 +5,8 @@
5
5
 
6
6
  module ModernTreasury
7
7
  # Code.
8
- class CodeEnum
9
- CODE_ENUM = [
8
+ class Code
9
+ CODE = [
10
10
  # TODO: Write general description for PARAMETER_INVALID
11
11
  PARAMETER_INVALID = 'parameter_invalid'.freeze,
12
12
 
@@ -41,7 +41,7 @@ module ModernTreasury
41
41
  def self.validate(value)
42
42
  return false if value.nil?
43
43
 
44
- CODE_ENUM.include?(value)
44
+ CODE.include?(value)
45
45
  end
46
46
 
47
47
  def self.from_value(value, default_value = PARAMETER_INVALID)
@@ -5,8 +5,8 @@
5
5
 
6
6
  module ModernTreasury
7
7
  # The return code. For ACH returns, this is the required ACH return code.
8
- class Code1Enum
9
- CODE1_ENUM = [
8
+ class Code1
9
+ CODE1 = [
10
10
  # TODO: Write general description for ENUM_901
11
11
  ENUM_901 = '901'.freeze,
12
12
 
@@ -140,7 +140,7 @@ module ModernTreasury
140
140
  def self.validate(value)
141
141
  return false if value.nil?
142
142
 
143
- CODE1_ENUM.include?(value)
143
+ CODE1.include?(value)
144
144
  end
145
145
 
146
146
  def self.from_value(value, default_value = ENUM_901)
@@ -78,9 +78,8 @@ module ModernTreasury
78
78
  ]
79
79
  end
80
80
 
81
- def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
82
- updated_at = nil, discarded_at = nil, vendor_id = nil,
83
- vendor_customer_id = nil, vendor_name = nil)
81
+ def initialize(id:, object:, live_mode:, created_at:, updated_at:,
82
+ discarded_at:, vendor_id:, vendor_customer_id:, vendor_name:)
84
83
  @id = id
85
84
  @object = object
86
85
  @live_mode = live_mode
@@ -115,15 +114,15 @@ module ModernTreasury
115
114
  vendor_name = hash.key?('vendor_name') ? hash['vendor_name'] : nil
116
115
 
117
116
  # Create object from extracted values.
118
- Connection.new(id,
119
- object,
120
- live_mode,
121
- created_at,
122
- updated_at,
123
- discarded_at,
124
- vendor_id,
125
- vendor_customer_id,
126
- vendor_name)
117
+ Connection.new(id: id,
118
+ object: object,
119
+ live_mode: live_mode,
120
+ created_at: created_at,
121
+ updated_at: updated_at,
122
+ discarded_at: discarded_at,
123
+ vendor_id: vendor_id,
124
+ vendor_customer_id: vendor_customer_id,
125
+ vendor_name: vendor_name)
127
126
  end
128
127
 
129
128
  def to_custom_created_at
@@ -45,7 +45,7 @@ module ModernTreasury
45
45
 
46
46
  # This field will be true if this object exists in the live environment or
47
47
  # false if it exists in the test environment.
48
- # @return [ContactIdentifierTypeEnum]
48
+ # @return [ContactIdentifierType]
49
49
  attr_accessor :contact_identifier_type
50
50
 
51
51
  # A mapping from model property names to API property names.
@@ -74,9 +74,8 @@ module ModernTreasury
74
74
  ]
75
75
  end
76
76
 
77
- def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
78
- updated_at = nil, discarded_at = nil,
79
- contact_identifier = nil, contact_identifier_type = nil)
77
+ def initialize(id:, object:, live_mode:, created_at:, updated_at:,
78
+ discarded_at:, contact_identifier:, contact_identifier_type:)
80
79
  @id = id
81
80
  @object = object
82
81
  @live_mode = live_mode
@@ -110,14 +109,14 @@ module ModernTreasury
110
109
  hash.key?('contact_identifier_type') ? hash['contact_identifier_type'] : nil
111
110
 
112
111
  # Create object from extracted values.
113
- ContactDetail.new(id,
114
- object,
115
- live_mode,
116
- created_at,
117
- updated_at,
118
- discarded_at,
119
- contact_identifier,
120
- contact_identifier_type)
112
+ ContactDetail.new(id: id,
113
+ object: object,
114
+ live_mode: live_mode,
115
+ created_at: created_at,
116
+ updated_at: updated_at,
117
+ discarded_at: discarded_at,
118
+ contact_identifier: contact_identifier,
119
+ contact_identifier_type: contact_identifier_type)
121
120
  end
122
121
 
123
122
  def to_custom_created_at
@@ -152,7 +151,7 @@ module ModernTreasury
152
151
  APIHelper.valid_type?(value.contact_identifier,
153
152
  ->(val) { val.instance_of? String }) and
154
153
  APIHelper.valid_type?(value.contact_identifier_type,
155
- ->(val) { ContactIdentifierTypeEnum.validate(val) })
154
+ ->(val) { ContactIdentifierType.validate(val) })
156
155
  )
157
156
  end
158
157
 
@@ -174,7 +173,7 @@ module ModernTreasury
174
173
  APIHelper.valid_type?(value['contact_identifier'],
175
174
  ->(val) { val.instance_of? String }) and
176
175
  APIHelper.valid_type?(value['contact_identifier_type'],
177
- ->(val) { ContactIdentifierTypeEnum.validate(val) })
176
+ ->(val) { ContactIdentifierType.validate(val) })
178
177
  )
179
178
  end
180
179
 
@@ -14,7 +14,7 @@ module ModernTreasury
14
14
  attr_accessor :contact_identifier
15
15
 
16
16
  # TODO: Write general description for this method
17
- # @return [ContactIdentifierTypeEnum]
17
+ # @return [ContactIdentifierType]
18
18
  attr_accessor :contact_identifier_type
19
19
 
20
20
  # A mapping from model property names to API property names.
@@ -38,9 +38,14 @@ module ModernTreasury
38
38
  []
39
39
  end
40
40
 
41
- def initialize(contact_identifier = SKIP, contact_identifier_type = SKIP)
41
+ def initialize(contact_identifier: SKIP, contact_identifier_type: SKIP,
42
+ additional_properties: nil)
43
+ # Add additional model properties to the instance
44
+ additional_properties = {} if additional_properties.nil?
45
+
42
46
  @contact_identifier = contact_identifier unless contact_identifier == SKIP
43
47
  @contact_identifier_type = contact_identifier_type unless contact_identifier_type == SKIP
48
+ @additional_properties = additional_properties
44
49
  end
45
50
 
46
51
  # Creates an instance of the object from a hash.
@@ -53,23 +58,32 @@ module ModernTreasury
53
58
  contact_identifier_type =
54
59
  hash.key?('contact_identifier_type') ? hash['contact_identifier_type'] : SKIP
55
60
 
61
+ # Create a new hash for additional properties, removing known properties.
62
+ new_hash = hash.reject { |k, _| names.value?(k) }
63
+
64
+ additional_properties = APIHelper.get_additional_properties(
65
+ new_hash, proc { |value| value }
66
+ )
67
+
56
68
  # Create object from extracted values.
57
- ContactDetailCreateRequest.new(contact_identifier,
58
- contact_identifier_type)
69
+ ContactDetailCreateRequest.new(contact_identifier: contact_identifier,
70
+ contact_identifier_type: contact_identifier_type,
71
+ additional_properties: additional_properties)
59
72
  end
60
73
 
61
74
  # Provides a human-readable string representation of the object.
62
75
  def to_s
63
76
  class_name = self.class.name.split('::').last
64
77
  "<#{class_name} contact_identifier: #{@contact_identifier}, contact_identifier_type:"\
65
- " #{@contact_identifier_type}>"
78
+ " #{@contact_identifier_type}, additional_properties: #{@additional_properties}>"
66
79
  end
67
80
 
68
81
  # Provides a debugging-friendly string with detailed object information.
69
82
  def inspect
70
83
  class_name = self.class.name.split('::').last
71
84
  "<#{class_name} contact_identifier: #{@contact_identifier.inspect},"\
72
- " contact_identifier_type: #{@contact_identifier_type.inspect}>"
85
+ " contact_identifier_type: #{@contact_identifier_type.inspect}, additional_properties:"\
86
+ " #{@additional_properties}>"
73
87
  end
74
88
  end
75
89
  end