mt-sdk 0.0.1

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 (318) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +188 -0
  4. data/bin/console +15 -0
  5. data/lib/modern_treasury/api_helper.rb +10 -0
  6. data/lib/modern_treasury/client.rb +275 -0
  7. data/lib/modern_treasury/configuration.rb +206 -0
  8. data/lib/modern_treasury/controllers/account_collection_flow_controller.rb +130 -0
  9. data/lib/modern_treasury/controllers/account_detail_controller.rb +131 -0
  10. data/lib/modern_treasury/controllers/balance_report_controller.rb +76 -0
  11. data/lib/modern_treasury/controllers/base_controller.rb +60 -0
  12. data/lib/modern_treasury/controllers/connection_controller.rb +40 -0
  13. data/lib/modern_treasury/controllers/counterparty_controller.rb +188 -0
  14. data/lib/modern_treasury/controllers/document_controller.rb +285 -0
  15. data/lib/modern_treasury/controllers/event_controller.rb +72 -0
  16. data/lib/modern_treasury/controllers/expected_payment_controller.rb +162 -0
  17. data/lib/modern_treasury/controllers/external_account_controller.rb +202 -0
  18. data/lib/modern_treasury/controllers/incoming_payment_detail_controller.rb +150 -0
  19. data/lib/modern_treasury/controllers/internal_account_controller.rb +134 -0
  20. data/lib/modern_treasury/controllers/invoice_controller.rb +98 -0
  21. data/lib/modern_treasury/controllers/invoice_line_item_controller.rb +136 -0
  22. data/lib/modern_treasury/controllers/ledger_account_category_controller.rb +292 -0
  23. data/lib/modern_treasury/controllers/ledger_account_controller.rb +202 -0
  24. data/lib/modern_treasury/controllers/ledger_account_payout_controller.rb +126 -0
  25. data/lib/modern_treasury/controllers/ledger_account_statement_controller.rb +60 -0
  26. data/lib/modern_treasury/controllers/ledger_controller.rb +152 -0
  27. data/lib/modern_treasury/controllers/ledger_entry_controller.rb +148 -0
  28. data/lib/modern_treasury/controllers/ledger_event_handler_controller.rb +119 -0
  29. data/lib/modern_treasury/controllers/ledger_transaction_controller.rb +328 -0
  30. data/lib/modern_treasury/controllers/ledgerable_event_controller.rb +61 -0
  31. data/lib/modern_treasury/controllers/line_item_controller.rb +107 -0
  32. data/lib/modern_treasury/controllers/paper_item_controller.rb +69 -0
  33. data/lib/modern_treasury/controllers/payment_flow_controller.rb +138 -0
  34. data/lib/modern_treasury/controllers/payment_order_controller.rb +368 -0
  35. data/lib/modern_treasury/controllers/payment_reference_controller.rb +64 -0
  36. data/lib/modern_treasury/controllers/ping_controller.rb +34 -0
  37. data/lib/modern_treasury/controllers/return_controller.rb +105 -0
  38. data/lib/modern_treasury/controllers/reversal_controller.rb +99 -0
  39. data/lib/modern_treasury/controllers/routing_detail_controller.rb +131 -0
  40. data/lib/modern_treasury/controllers/transaction_controller.rb +133 -0
  41. data/lib/modern_treasury/controllers/transaction_line_item_controller.rb +39 -0
  42. data/lib/modern_treasury/controllers/validation_controller.rb +41 -0
  43. data/lib/modern_treasury/controllers/virtual_account_controller.rb +142 -0
  44. data/lib/modern_treasury/exceptions/api_exception.rb +21 -0
  45. data/lib/modern_treasury/exceptions/error_message_exception.rb +46 -0
  46. data/lib/modern_treasury/http/auth/basic_auth.rb +62 -0
  47. data/lib/modern_treasury/http/http_call_back.rb +10 -0
  48. data/lib/modern_treasury/http/http_method_enum.rb +10 -0
  49. data/lib/modern_treasury/http/http_request.rb +10 -0
  50. data/lib/modern_treasury/http/http_response.rb +10 -0
  51. data/lib/modern_treasury/http/proxy_settings.rb +22 -0
  52. data/lib/modern_treasury/models/account.rb +304 -0
  53. data/lib/modern_treasury/models/account1.rb +217 -0
  54. data/lib/modern_treasury/models/account_collection_flow.rb +178 -0
  55. data/lib/modern_treasury/models/account_collection_flow_create_request.rb +70 -0
  56. data/lib/modern_treasury/models/account_collection_flow_update_request.rb +61 -0
  57. data/lib/modern_treasury/models/account_detail.rb +211 -0
  58. data/lib/modern_treasury/models/account_detail1.rb +74 -0
  59. data/lib/modern_treasury/models/account_detail_create_request.rb +75 -0
  60. data/lib/modern_treasury/models/account_number_type2_enum.rb +48 -0
  61. data/lib/modern_treasury/models/account_number_type_enum.rb +49 -0
  62. data/lib/modern_treasury/models/account_type5_enum.rb +56 -0
  63. data/lib/modern_treasury/models/account_type_enum.rb +56 -0
  64. data/lib/modern_treasury/models/accounting.rb +88 -0
  65. data/lib/modern_treasury/models/accounting1.rb +63 -0
  66. data/lib/modern_treasury/models/accounts_type1_enum.rb +26 -0
  67. data/lib/modern_treasury/models/accounts_type_enum.rb +36 -0
  68. data/lib/modern_treasury/models/address.rb +231 -0
  69. data/lib/modern_treasury/models/address_request.rb +118 -0
  70. data/lib/modern_treasury/models/async_response.rb +68 -0
  71. data/lib/modern_treasury/models/balance.rb +164 -0
  72. data/lib/modern_treasury/models/balance_report.rb +178 -0
  73. data/lib/modern_treasury/models/balance_report_type1_enum.rb +44 -0
  74. data/lib/modern_treasury/models/balance_report_type_enum.rb +45 -0
  75. data/lib/modern_treasury/models/balance_type_enum.rb +63 -0
  76. data/lib/modern_treasury/models/balances.rb +71 -0
  77. data/lib/modern_treasury/models/balances1.rb +81 -0
  78. data/lib/modern_treasury/models/balances2.rb +120 -0
  79. data/lib/modern_treasury/models/balances3.rb +130 -0
  80. data/lib/modern_treasury/models/base_model.rb +110 -0
  81. data/lib/modern_treasury/models/charge_bearer_enum.rb +42 -0
  82. data/lib/modern_treasury/models/code1_enum.rb +200 -0
  83. data/lib/modern_treasury/models/code_enum.rb +68 -0
  84. data/lib/modern_treasury/models/connection.rb +209 -0
  85. data/lib/modern_treasury/models/contact_detail.rb +200 -0
  86. data/lib/modern_treasury/models/contact_detail_create_request.rb +75 -0
  87. data/lib/modern_treasury/models/contact_identifier_type_enum.rb +40 -0
  88. data/lib/modern_treasury/models/content_type_enum.rb +36 -0
  89. data/lib/modern_treasury/models/counterparty.rb +200 -0
  90. data/lib/modern_treasury/models/counterparty_billing_address.rb +106 -0
  91. data/lib/modern_treasury/models/counterparty_collect_account_request.rb +104 -0
  92. data/lib/modern_treasury/models/counterparty_collect_account_response.rb +82 -0
  93. data/lib/modern_treasury/models/counterparty_create_request.rb +161 -0
  94. data/lib/modern_treasury/models/counterparty_shipping_address.rb +107 -0
  95. data/lib/modern_treasury/models/counterparty_update_request.rb +107 -0
  96. data/lib/modern_treasury/models/created_at_enum.rb +36 -0
  97. data/lib/modern_treasury/models/currency1_enum.rb +37 -0
  98. data/lib/modern_treasury/models/currency_enum.rb +784 -0
  99. data/lib/modern_treasury/models/direction10_enum.rb +38 -0
  100. data/lib/modern_treasury/models/direction14_enum.rb +36 -0
  101. data/lib/modern_treasury/models/direction15_enum.rb +36 -0
  102. data/lib/modern_treasury/models/direction1_enum.rb +37 -0
  103. data/lib/modern_treasury/models/direction4_enum.rb +36 -0
  104. data/lib/modern_treasury/models/direction5_enum.rb +39 -0
  105. data/lib/modern_treasury/models/direction9_enum.rb +37 -0
  106. data/lib/modern_treasury/models/direction_enum.rb +38 -0
  107. data/lib/modern_treasury/models/document.rb +207 -0
  108. data/lib/modern_treasury/models/document_create_request.rb +92 -0
  109. data/lib/modern_treasury/models/document_detail.rb +154 -0
  110. data/lib/modern_treasury/models/documentable_type1_enum.rb +72 -0
  111. data/lib/modern_treasury/models/documentable_type2_enum.rb +72 -0
  112. data/lib/modern_treasury/models/documentable_type_enum.rb +75 -0
  113. data/lib/modern_treasury/models/effective_at_enum.rb +36 -0
  114. data/lib/modern_treasury/models/errors.rb +81 -0
  115. data/lib/modern_treasury/models/event.rb +162 -0
  116. data/lib/modern_treasury/models/expected_payment.rb +343 -0
  117. data/lib/modern_treasury/models/expected_payment_create_request.rb +254 -0
  118. data/lib/modern_treasury/models/expected_payment_update_request.rb +239 -0
  119. data/lib/modern_treasury/models/external_account.rb +283 -0
  120. data/lib/modern_treasury/models/external_account_complete_verification_request.rb +62 -0
  121. data/lib/modern_treasury/models/external_account_create_request.rb +230 -0
  122. data/lib/modern_treasury/models/external_account_update_request.rb +132 -0
  123. data/lib/modern_treasury/models/external_account_verify_request.rb +83 -0
  124. data/lib/modern_treasury/models/fallback_type_enum.rb +28 -0
  125. data/lib/modern_treasury/models/field_enum.rb +112 -0
  126. data/lib/modern_treasury/models/file.rb +81 -0
  127. data/lib/modern_treasury/models/foreign_exchange_indicator_enum.rb +38 -0
  128. data/lib/modern_treasury/models/incoming_payment_detail.rb +348 -0
  129. data/lib/modern_treasury/models/incoming_payment_detail_create_request.rb +141 -0
  130. data/lib/modern_treasury/models/incoming_payment_detail_update_request.rb +63 -0
  131. data/lib/modern_treasury/models/internal_account.rb +361 -0
  132. data/lib/modern_treasury/models/internal_account_create_request.rb +135 -0
  133. data/lib/modern_treasury/models/internal_account_update_request.rb +95 -0
  134. data/lib/modern_treasury/models/invoice.rb +342 -0
  135. data/lib/modern_treasury/models/invoice_create_request.rb +235 -0
  136. data/lib/modern_treasury/models/invoice_line_item.rb +171 -0
  137. data/lib/modern_treasury/models/invoice_line_item_create_request.rb +104 -0
  138. data/lib/modern_treasury/models/invoice_line_item_update_request.rb +240 -0
  139. data/lib/modern_treasury/models/invoice_update_request.rb +251 -0
  140. data/lib/modern_treasury/models/invoicer_address.rb +106 -0
  141. data/lib/modern_treasury/models/itemizable_type1_enum.rb +36 -0
  142. data/lib/modern_treasury/models/itemizable_type_enum.rb +36 -0
  143. data/lib/modern_treasury/models/ledger.rb +158 -0
  144. data/lib/modern_treasury/models/ledger_account.rb +220 -0
  145. data/lib/modern_treasury/models/ledger_account_category.rb +187 -0
  146. data/lib/modern_treasury/models/ledger_account_category_create_request.rb +125 -0
  147. data/lib/modern_treasury/models/ledger_account_category_update_request.rb +84 -0
  148. data/lib/modern_treasury/models/ledger_account_create_request.rb +150 -0
  149. data/lib/modern_treasury/models/ledger_account_normal_balance_enum.rb +36 -0
  150. data/lib/modern_treasury/models/ledger_account_payout.rb +238 -0
  151. data/lib/modern_treasury/models/ledger_account_payout_create_request.rb +152 -0
  152. data/lib/modern_treasury/models/ledger_account_payout_update_request.rb +85 -0
  153. data/lib/modern_treasury/models/ledger_account_statement.rb +233 -0
  154. data/lib/modern_treasury/models/ledger_account_statement_create_request.rb +122 -0
  155. data/lib/modern_treasury/models/ledger_account_update_request.rb +84 -0
  156. data/lib/modern_treasury/models/ledger_balance.rb +97 -0
  157. data/lib/modern_treasury/models/ledger_balances.rb +81 -0
  158. data/lib/modern_treasury/models/ledger_balances_with_effective_at.rb +123 -0
  159. data/lib/modern_treasury/models/ledger_create_request.rb +83 -0
  160. data/lib/modern_treasury/models/ledger_entry.rb +247 -0
  161. data/lib/modern_treasury/models/ledger_entry_create_request.rb +177 -0
  162. data/lib/modern_treasury/models/ledger_entry_of_transaction_version.rb +214 -0
  163. data/lib/modern_treasury/models/ledger_event_handler.rb +182 -0
  164. data/lib/modern_treasury/models/ledger_event_handler_conditions.rb +78 -0
  165. data/lib/modern_treasury/models/ledger_event_handler_create_request.rb +119 -0
  166. data/lib/modern_treasury/models/ledger_event_handler_ledger_entries.rb +80 -0
  167. data/lib/modern_treasury/models/ledger_event_handler_ledger_transaction_template.rb +103 -0
  168. data/lib/modern_treasury/models/ledger_transaction.rb +259 -0
  169. data/lib/modern_treasury/models/ledger_transaction_create_request.rb +164 -0
  170. data/lib/modern_treasury/models/ledger_transaction_reversal_create_request.rb +142 -0
  171. data/lib/modern_treasury/models/ledger_transaction_update_request.rb +115 -0
  172. data/lib/modern_treasury/models/ledger_transaction_version.rb +254 -0
  173. data/lib/modern_treasury/models/ledger_type_enum.rb +37 -0
  174. data/lib/modern_treasury/models/ledger_update_request.rb +84 -0
  175. data/lib/modern_treasury/models/ledgerable_event.rb +206 -0
  176. data/lib/modern_treasury/models/ledgerable_event_create_request.rb +140 -0
  177. data/lib/modern_treasury/models/ledgerable_type2_enum.rb +71 -0
  178. data/lib/modern_treasury/models/ledgerable_type5_enum.rb +69 -0
  179. data/lib/modern_treasury/models/ledgerable_type6_enum.rb +68 -0
  180. data/lib/modern_treasury/models/ledgerable_type_enum.rb +38 -0
  181. data/lib/modern_treasury/models/legacy_document_create_request.rb +70 -0
  182. data/lib/modern_treasury/models/line_item.rb +200 -0
  183. data/lib/modern_treasury/models/line_item_request.rb +98 -0
  184. data/lib/modern_treasury/models/line_item_update_request.rb +63 -0
  185. data/lib/modern_treasury/models/mreturn.rb +425 -0
  186. data/lib/modern_treasury/models/normal_balance2_enum.rb +36 -0
  187. data/lib/modern_treasury/models/normal_balance_enum.rb +36 -0
  188. data/lib/modern_treasury/models/order_by.rb +72 -0
  189. data/lib/modern_treasury/models/originating_account_number_type_enum.rb +48 -0
  190. data/lib/modern_treasury/models/originating_routing_number_type_enum.rb +68 -0
  191. data/lib/modern_treasury/models/paper_item.rb +249 -0
  192. data/lib/modern_treasury/models/party_address.rb +106 -0
  193. data/lib/modern_treasury/models/party_type5_enum.rb +36 -0
  194. data/lib/modern_treasury/models/party_type_enum.rb +36 -0
  195. data/lib/modern_treasury/models/payment_direction_enum.rb +36 -0
  196. data/lib/modern_treasury/models/payment_flow.rb +230 -0
  197. data/lib/modern_treasury/models/payment_flow_create_request.rb +103 -0
  198. data/lib/modern_treasury/models/payment_flow_update_request.rb +61 -0
  199. data/lib/modern_treasury/models/payment_method1_enum.rb +46 -0
  200. data/lib/modern_treasury/models/payment_method_enum.rb +42 -0
  201. data/lib/modern_treasury/models/payment_order.rb +820 -0
  202. data/lib/modern_treasury/models/payment_order_async_create_request.rb +536 -0
  203. data/lib/modern_treasury/models/payment_order_create_request.rb +556 -0
  204. data/lib/modern_treasury/models/payment_order_update_request.rb +543 -0
  205. data/lib/modern_treasury/models/payment_reference.rb +175 -0
  206. data/lib/modern_treasury/models/payment_reference_object.rb +156 -0
  207. data/lib/modern_treasury/models/payment_type13_enum.rb +96 -0
  208. data/lib/modern_treasury/models/payment_type1_enum.rb +97 -0
  209. data/lib/modern_treasury/models/payment_type2_enum.rb +96 -0
  210. data/lib/modern_treasury/models/payment_type4_enum.rb +96 -0
  211. data/lib/modern_treasury/models/payment_type5_enum.rb +36 -0
  212. data/lib/modern_treasury/models/payment_type6_enum.rb +97 -0
  213. data/lib/modern_treasury/models/payment_type_enum.rb +37 -0
  214. data/lib/modern_treasury/models/ping_response.rb +60 -0
  215. data/lib/modern_treasury/models/priority4_enum.rb +36 -0
  216. data/lib/modern_treasury/models/priority_enum.rb +38 -0
  217. data/lib/modern_treasury/models/reason1_enum.rb +50 -0
  218. data/lib/modern_treasury/models/reason_enum.rb +48 -0
  219. data/lib/modern_treasury/models/receiving_account.rb +304 -0
  220. data/lib/modern_treasury/models/receiving_account1.rb +219 -0
  221. data/lib/modern_treasury/models/receiving_account_type_enum.rb +36 -0
  222. data/lib/modern_treasury/models/reconciliation_method_enum.rb +38 -0
  223. data/lib/modern_treasury/models/reference_number_type1_enum.rb +248 -0
  224. data/lib/modern_treasury/models/reference_number_type_enum.rb +248 -0
  225. data/lib/modern_treasury/models/referenceable_type1_enum.rb +40 -0
  226. data/lib/modern_treasury/models/referenceable_type_enum.rb +41 -0
  227. data/lib/modern_treasury/models/return_create_request.rb +119 -0
  228. data/lib/modern_treasury/models/returnable_type1_enum.rb +48 -0
  229. data/lib/modern_treasury/models/returnable_type_enum.rb +48 -0
  230. data/lib/modern_treasury/models/reversal.rb +151 -0
  231. data/lib/modern_treasury/models/reversal_create_request.rb +86 -0
  232. data/lib/modern_treasury/models/role_enum.rb +36 -0
  233. data/lib/modern_treasury/models/routing_detail.rb +242 -0
  234. data/lib/modern_treasury/models/routing_detail1.rb +83 -0
  235. data/lib/modern_treasury/models/routing_detail_create_request.rb +87 -0
  236. data/lib/modern_treasury/models/routing_number_lookup_request.rb +124 -0
  237. data/lib/modern_treasury/models/routing_number_type1_enum.rb +68 -0
  238. data/lib/modern_treasury/models/routing_number_type7_enum.rb +55 -0
  239. data/lib/modern_treasury/models/routing_number_type8_enum.rb +68 -0
  240. data/lib/modern_treasury/models/routing_number_type_enum.rb +69 -0
  241. data/lib/modern_treasury/models/status11_enum.rb +40 -0
  242. data/lib/modern_treasury/models/status12_enum.rb +40 -0
  243. data/lib/modern_treasury/models/status15_enum.rb +41 -0
  244. data/lib/modern_treasury/models/status16_enum.rb +41 -0
  245. data/lib/modern_treasury/models/status17_enum.rb +45 -0
  246. data/lib/modern_treasury/models/status18_enum.rb +74 -0
  247. data/lib/modern_treasury/models/status19_enum.rb +52 -0
  248. data/lib/modern_treasury/models/status1_enum.rb +40 -0
  249. data/lib/modern_treasury/models/status20_enum.rb +40 -0
  250. data/lib/modern_treasury/models/status21_enum.rb +40 -0
  251. data/lib/modern_treasury/models/status22_enum.rb +40 -0
  252. data/lib/modern_treasury/models/status24_enum.rb +72 -0
  253. data/lib/modern_treasury/models/status2_enum.rb +41 -0
  254. data/lib/modern_treasury/models/status3_enum.rb +72 -0
  255. data/lib/modern_treasury/models/status4_enum.rb +52 -0
  256. data/lib/modern_treasury/models/status5_enum.rb +48 -0
  257. data/lib/modern_treasury/models/status6_enum.rb +49 -0
  258. data/lib/modern_treasury/models/status7_enum.rb +37 -0
  259. data/lib/modern_treasury/models/status8_enum.rb +37 -0
  260. data/lib/modern_treasury/models/status9_enum.rb +41 -0
  261. data/lib/modern_treasury/models/status_enum.rb +45 -0
  262. data/lib/modern_treasury/models/subtype_enum.rb +71 -0
  263. data/lib/modern_treasury/models/supported_payment_type_enum.rb +96 -0
  264. data/lib/modern_treasury/models/transactable_type_enum.rb +53 -0
  265. data/lib/modern_treasury/models/transaction.rb +311 -0
  266. data/lib/modern_treasury/models/transaction_line_item.rb +211 -0
  267. data/lib/modern_treasury/models/type10_enum.rb +64 -0
  268. data/lib/modern_treasury/models/type11_enum.rb +97 -0
  269. data/lib/modern_treasury/models/type12_enum.rb +37 -0
  270. data/lib/modern_treasury/models/type13_enum.rb +96 -0
  271. data/lib/modern_treasury/models/type14_enum.rb +64 -0
  272. data/lib/modern_treasury/models/type16_enum.rb +36 -0
  273. data/lib/modern_treasury/models/type1_enum.rb +97 -0
  274. data/lib/modern_treasury/models/type4_enum.rb +65 -0
  275. data/lib/modern_treasury/models/type5_enum.rb +97 -0
  276. data/lib/modern_treasury/models/type6_enum.rb +77 -0
  277. data/lib/modern_treasury/models/type_enum.rb +37 -0
  278. data/lib/modern_treasury/models/vendor_code_type1_enum.rb +111 -0
  279. data/lib/modern_treasury/models/vendor_code_type_enum.rb +108 -0
  280. data/lib/modern_treasury/models/verification_status1_enum.rb +44 -0
  281. data/lib/modern_treasury/models/verification_status_enum.rb +40 -0
  282. data/lib/modern_treasury/models/virtual_account.rb +247 -0
  283. data/lib/modern_treasury/models/virtual_account_create_request.rb +172 -0
  284. data/lib/modern_treasury/models/virtual_account_update_request.rb +85 -0
  285. data/lib/modern_treasury/utilities/date_time_helper.rb +11 -0
  286. data/lib/modern_treasury/utilities/file_wrapper.rb +28 -0
  287. data/lib/modern_treasury/utilities/union_type_lookup.rb +32 -0
  288. data/lib/modern_treasury.rb +316 -0
  289. data/test/controllers/controller_test_base.rb +23 -0
  290. data/test/controllers/test_account_collection_flow_controller.rb +64 -0
  291. data/test/controllers/test_connection_controller.rb +41 -0
  292. data/test/controllers/test_counterparty_controller.rb +65 -0
  293. data/test/controllers/test_document_controller.rb +41 -0
  294. data/test/controllers/test_event_controller.rb +46 -0
  295. data/test/controllers/test_expected_payment_controller.rb +71 -0
  296. data/test/controllers/test_external_account_controller.rb +63 -0
  297. data/test/controllers/test_incoming_payment_detail_controller.rb +68 -0
  298. data/test/controllers/test_internal_account_controller.rb +65 -0
  299. data/test/controllers/test_invoice_controller.rb +56 -0
  300. data/test/controllers/test_ledger_account_category_controller.rb +67 -0
  301. data/test/controllers/test_ledger_account_controller.rb +70 -0
  302. data/test/controllers/test_ledger_account_payout_controller.rb +62 -0
  303. data/test/controllers/test_ledger_account_statement_controller.rb +36 -0
  304. data/test/controllers/test_ledger_controller.rb +59 -0
  305. data/test/controllers/test_ledger_entry_controller.rb +65 -0
  306. data/test/controllers/test_ledger_event_handler_controller.rb +63 -0
  307. data/test/controllers/test_ledger_transaction_controller.rb +112 -0
  308. data/test/controllers/test_ledgerable_event_controller.rb +36 -0
  309. data/test/controllers/test_paper_item_controller.rb +43 -0
  310. data/test/controllers/test_payment_flow_controller.rb +67 -0
  311. data/test/controllers/test_payment_order_controller.rb +76 -0
  312. data/test/controllers/test_payment_reference_controller.rb +43 -0
  313. data/test/controllers/test_ping_controller.rb +31 -0
  314. data/test/controllers/test_return_controller.rb +64 -0
  315. data/test/controllers/test_transaction_controller.rb +56 -0
  316. data/test/controllers/test_virtual_account_controller.rb +63 -0
  317. data/test/http_response_catcher.rb +19 -0
  318. metadata +429 -0
@@ -0,0 +1,98 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LineItemRequest Model.
8
+ class LineItemRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
13
+ # as 1000.
14
+ # @return [Integer]
15
+ attr_accessor :amount
16
+
17
+ # Additional data represented as key-value pairs. Both the key and value
18
+ # must be strings.
19
+ # @return [Hash[String, String]]
20
+ attr_accessor :metadata
21
+
22
+ # A free-form description of the line item.
23
+ # @return [String]
24
+ attr_accessor :description
25
+
26
+ # The ID of one of your accounting categories. Note that these will only be
27
+ # accessible if your accounting system has been connected.
28
+ # @return [String]
29
+ attr_accessor :accounting_category_id
30
+
31
+ # A mapping from model property names to API property names.
32
+ def self.names
33
+ @_hash = {} if @_hash.nil?
34
+ @_hash['amount'] = 'amount'
35
+ @_hash['metadata'] = 'metadata'
36
+ @_hash['description'] = 'description'
37
+ @_hash['accounting_category_id'] = 'accounting_category_id'
38
+ @_hash
39
+ end
40
+
41
+ # An array for optional fields
42
+ def self.optionals
43
+ %w[
44
+ metadata
45
+ description
46
+ accounting_category_id
47
+ ]
48
+ end
49
+
50
+ # An array for nullable fields
51
+ def self.nullables
52
+ %w[
53
+ description
54
+ accounting_category_id
55
+ ]
56
+ end
57
+
58
+ def initialize(amount = nil, metadata = SKIP, description = SKIP,
59
+ accounting_category_id = SKIP)
60
+ @amount = amount
61
+ @metadata = metadata unless metadata == SKIP
62
+ @description = description unless description == SKIP
63
+ @accounting_category_id = accounting_category_id unless accounting_category_id == SKIP
64
+ end
65
+
66
+ # Creates an instance of the object from a hash.
67
+ def self.from_hash(hash)
68
+ return nil unless hash
69
+
70
+ # Extract variables from the hash.
71
+ amount = hash.key?('amount') ? hash['amount'] : nil
72
+ metadata = hash.key?('metadata') ? hash['metadata'] : SKIP
73
+ description = hash.key?('description') ? hash['description'] : SKIP
74
+ accounting_category_id =
75
+ hash.key?('accounting_category_id') ? hash['accounting_category_id'] : SKIP
76
+
77
+ # Create object from extracted values.
78
+ LineItemRequest.new(amount,
79
+ metadata,
80
+ description,
81
+ accounting_category_id)
82
+ end
83
+
84
+ # Provides a human-readable string representation of the object.
85
+ def to_s
86
+ class_name = self.class.name.split('::').last
87
+ "<#{class_name} amount: #{@amount}, metadata: #{@metadata}, description: #{@description},"\
88
+ " accounting_category_id: #{@accounting_category_id}>"
89
+ end
90
+
91
+ # Provides a debugging-friendly string with detailed object information.
92
+ def inspect
93
+ class_name = self.class.name.split('::').last
94
+ "<#{class_name} amount: #{@amount.inspect}, metadata: #{@metadata.inspect}, description:"\
95
+ " #{@description.inspect}, accounting_category_id: #{@accounting_category_id.inspect}>"
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,63 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LineItemUpdateRequest Model.
8
+ class LineItemUpdateRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Additional data represented as key-value pairs. Both the key and value
13
+ # must be strings.
14
+ # @return [Hash[String, String]]
15
+ attr_accessor :metadata
16
+
17
+ # A mapping from model property names to API property names.
18
+ def self.names
19
+ @_hash = {} if @_hash.nil?
20
+ @_hash['metadata'] = 'metadata'
21
+ @_hash
22
+ end
23
+
24
+ # An array for optional fields
25
+ def self.optionals
26
+ %w[
27
+ metadata
28
+ ]
29
+ end
30
+
31
+ # An array for nullable fields
32
+ def self.nullables
33
+ []
34
+ end
35
+
36
+ def initialize(metadata = SKIP)
37
+ @metadata = metadata unless metadata == SKIP
38
+ end
39
+
40
+ # Creates an instance of the object from a hash.
41
+ def self.from_hash(hash)
42
+ return nil unless hash
43
+
44
+ # Extract variables from the hash.
45
+ metadata = hash.key?('metadata') ? hash['metadata'] : SKIP
46
+
47
+ # Create object from extracted values.
48
+ LineItemUpdateRequest.new(metadata)
49
+ end
50
+
51
+ # Provides a human-readable string representation of the object.
52
+ def to_s
53
+ class_name = self.class.name.split('::').last
54
+ "<#{class_name} metadata: #{@metadata}>"
55
+ end
56
+
57
+ # Provides a debugging-friendly string with detailed object information.
58
+ def inspect
59
+ class_name = self.class.name.split('::').last
60
+ "<#{class_name} metadata: #{@metadata.inspect}>"
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,425 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module ModernTreasury
8
+ # Return Model.
9
+ class Return < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [UUID | String]
15
+ attr_accessor :id
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [String]
19
+ attr_accessor :object
20
+
21
+ # This field will be true if this object exists in the live environment or
22
+ # false if it exists in the test environment.
23
+ # @return [TrueClass | FalseClass]
24
+ attr_accessor :live_mode
25
+
26
+ # This field will be true if this object exists in the live environment or
27
+ # false if it exists in the test environment.
28
+ # @return [DateTime]
29
+ attr_accessor :created_at
30
+
31
+ # This field will be true if this object exists in the live environment or
32
+ # false if it exists in the test environment.
33
+ # @return [DateTime]
34
+ attr_accessor :updated_at
35
+
36
+ # The ID of the object being returned or `null`.
37
+ # @return [UUID | String]
38
+ attr_accessor :returnable_id
39
+
40
+ # The type of object being returned or `null`.
41
+ # @return [ReturnableTypeEnum]
42
+ attr_accessor :returnable_type
43
+
44
+ # The return code. For ACH returns, this is the required ACH return code.
45
+ # @return [Code1Enum]
46
+ attr_accessor :code
47
+
48
+ # Often the bank will provide an explanation for the return, which is a
49
+ # short human readable string.
50
+ # @return [String]
51
+ attr_accessor :reason
52
+
53
+ # If the return code is `R14` or `R15` this is the date the deceased
54
+ # counterparty passed away.
55
+ # @return [Date]
56
+ attr_accessor :date_of_death
57
+
58
+ # Some returns may include additional information from the bank. In these
59
+ # cases, this string will be present.
60
+ # @return [String]
61
+ attr_accessor :additional_information
62
+
63
+ # The current status of the return.
64
+ # @return [Status4Enum]
65
+ attr_accessor :status
66
+
67
+ # The ID of the relevant Transaction Line Item or `null`.
68
+ # @return [UUID | String]
69
+ attr_accessor :transaction_line_item_id
70
+
71
+ # The ID of the relevant Transaction or `null`.
72
+ # @return [UUID | String]
73
+ attr_accessor :transaction_id
74
+
75
+ # The ID of the relevant Internal Account.
76
+ # @return [UUID | String]
77
+ attr_accessor :internal_account_id
78
+
79
+ # The type of return. Can be one of: `ach`, `ach_noc`, `au_becs`, `bacs`,
80
+ # `eft`, `interac`, `manual`, `paper_item`, `wire`.
81
+ # @return [Type6Enum]
82
+ attr_accessor :type
83
+
84
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
85
+ # as 1000.
86
+ # @return [Integer]
87
+ attr_accessor :amount
88
+
89
+ # Three-letter ISO currency code.
90
+ # @return [CurrencyEnum]
91
+ attr_accessor :currency
92
+
93
+ # If an originating return failed to be processed by the bank, a description
94
+ # of the failure reason will be available.
95
+ # @return [String]
96
+ attr_accessor :failure_reason
97
+
98
+ # The role of the return, can be `originating` or `receiving`.
99
+ # @return [RoleEnum]
100
+ attr_accessor :role
101
+
102
+ # The role of the return, can be `originating` or `receiving`.
103
+ # @return [Return]
104
+ attr_accessor :current_return
105
+
106
+ # An array of Payment Reference objects.
107
+ # @return [Array[PaymentReference]]
108
+ attr_accessor :reference_numbers
109
+
110
+ # The ID of the ledger transaction linked to the return.
111
+ # @return [UUID | String]
112
+ attr_accessor :ledger_transaction_id
113
+
114
+ # A mapping from model property names to API property names.
115
+ def self.names
116
+ @_hash = {} if @_hash.nil?
117
+ @_hash['id'] = 'id'
118
+ @_hash['object'] = 'object'
119
+ @_hash['live_mode'] = 'live_mode'
120
+ @_hash['created_at'] = 'created_at'
121
+ @_hash['updated_at'] = 'updated_at'
122
+ @_hash['returnable_id'] = 'returnable_id'
123
+ @_hash['returnable_type'] = 'returnable_type'
124
+ @_hash['code'] = 'code'
125
+ @_hash['reason'] = 'reason'
126
+ @_hash['date_of_death'] = 'date_of_death'
127
+ @_hash['additional_information'] = 'additional_information'
128
+ @_hash['status'] = 'status'
129
+ @_hash['transaction_line_item_id'] = 'transaction_line_item_id'
130
+ @_hash['transaction_id'] = 'transaction_id'
131
+ @_hash['internal_account_id'] = 'internal_account_id'
132
+ @_hash['type'] = 'type'
133
+ @_hash['amount'] = 'amount'
134
+ @_hash['currency'] = 'currency'
135
+ @_hash['failure_reason'] = 'failure_reason'
136
+ @_hash['role'] = 'role'
137
+ @_hash['current_return'] = 'current_return'
138
+ @_hash['reference_numbers'] = 'reference_numbers'
139
+ @_hash['ledger_transaction_id'] = 'ledger_transaction_id'
140
+ @_hash
141
+ end
142
+
143
+ # An array for optional fields
144
+ def self.optionals
145
+ []
146
+ end
147
+
148
+ # An array for nullable fields
149
+ def self.nullables
150
+ %w[
151
+ returnable_id
152
+ returnable_type
153
+ code
154
+ reason
155
+ date_of_death
156
+ additional_information
157
+ transaction_line_item_id
158
+ transaction_id
159
+ internal_account_id
160
+ failure_reason
161
+ ledger_transaction_id
162
+ ]
163
+ end
164
+
165
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
166
+ updated_at = nil, returnable_id = nil, returnable_type = nil,
167
+ code = nil, reason = nil, date_of_death = nil,
168
+ additional_information = nil, status = nil,
169
+ transaction_line_item_id = nil, transaction_id = nil,
170
+ internal_account_id = nil, type = nil, amount = nil,
171
+ currency = nil, failure_reason = nil, role = nil,
172
+ current_return = nil, reference_numbers = nil,
173
+ ledger_transaction_id = nil)
174
+ @id = id
175
+ @object = object
176
+ @live_mode = live_mode
177
+ @created_at = created_at
178
+ @updated_at = updated_at
179
+ @returnable_id = returnable_id
180
+ @returnable_type = returnable_type
181
+ @code = code
182
+ @reason = reason
183
+ @date_of_death = date_of_death
184
+ @additional_information = additional_information
185
+ @status = status
186
+ @transaction_line_item_id = transaction_line_item_id
187
+ @transaction_id = transaction_id
188
+ @internal_account_id = internal_account_id
189
+ @type = type
190
+ @amount = amount
191
+ @currency = currency
192
+ @failure_reason = failure_reason
193
+ @role = role
194
+ @current_return = current_return
195
+ @reference_numbers = reference_numbers
196
+ @ledger_transaction_id = ledger_transaction_id
197
+ end
198
+
199
+ # Creates an instance of the object from a hash.
200
+ def self.from_hash(hash)
201
+ return nil unless hash
202
+
203
+ # Extract variables from the hash.
204
+ id = hash.key?('id') ? hash['id'] : nil
205
+ object = hash.key?('object') ? hash['object'] : nil
206
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
207
+ created_at = if hash.key?('created_at')
208
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
209
+ end
210
+ updated_at = if hash.key?('updated_at')
211
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
212
+ end
213
+ returnable_id = hash.key?('returnable_id') ? hash['returnable_id'] : nil
214
+ returnable_type =
215
+ hash.key?('returnable_type') ? hash['returnable_type'] : nil
216
+ code = hash.key?('code') ? hash['code'] : nil
217
+ reason = hash.key?('reason') ? hash['reason'] : nil
218
+ date_of_death = hash.key?('date_of_death') ? hash['date_of_death'] : nil
219
+ additional_information =
220
+ hash.key?('additional_information') ? hash['additional_information'] : nil
221
+ status = hash.key?('status') ? hash['status'] : nil
222
+ transaction_line_item_id =
223
+ hash.key?('transaction_line_item_id') ? hash['transaction_line_item_id'] : nil
224
+ transaction_id =
225
+ hash.key?('transaction_id') ? hash['transaction_id'] : nil
226
+ internal_account_id =
227
+ hash.key?('internal_account_id') ? hash['internal_account_id'] : nil
228
+ type = hash.key?('type') ? hash['type'] : nil
229
+ amount = hash.key?('amount') ? hash['amount'] : nil
230
+ currency = hash.key?('currency') ? hash['currency'] : nil
231
+ failure_reason =
232
+ hash.key?('failure_reason') ? hash['failure_reason'] : nil
233
+ role = hash.key?('role') ? hash['role'] : nil
234
+ current_return = Return.from_hash(hash['current_return']) if hash['current_return']
235
+ # Parameter is an array, so we need to iterate through it
236
+ reference_numbers = nil
237
+ unless hash['reference_numbers'].nil?
238
+ reference_numbers = []
239
+ hash['reference_numbers'].each do |structure|
240
+ reference_numbers << (PaymentReference.from_hash(structure) if structure)
241
+ end
242
+ end
243
+
244
+ reference_numbers = nil unless hash.key?('reference_numbers')
245
+ ledger_transaction_id =
246
+ hash.key?('ledger_transaction_id') ? hash['ledger_transaction_id'] : nil
247
+
248
+ # Create object from extracted values.
249
+ Return.new(id,
250
+ object,
251
+ live_mode,
252
+ created_at,
253
+ updated_at,
254
+ returnable_id,
255
+ returnable_type,
256
+ code,
257
+ reason,
258
+ date_of_death,
259
+ additional_information,
260
+ status,
261
+ transaction_line_item_id,
262
+ transaction_id,
263
+ internal_account_id,
264
+ type,
265
+ amount,
266
+ currency,
267
+ failure_reason,
268
+ role,
269
+ current_return,
270
+ reference_numbers,
271
+ ledger_transaction_id)
272
+ end
273
+
274
+ def to_custom_created_at
275
+ DateTimeHelper.to_rfc3339(created_at)
276
+ end
277
+
278
+ def to_custom_updated_at
279
+ DateTimeHelper.to_rfc3339(updated_at)
280
+ end
281
+
282
+ # Validates an instance of the object from a given value.
283
+ # @param [Return | Hash] The value against the validation is performed.
284
+ def self.validate(value)
285
+ if value.instance_of? self
286
+ return (
287
+ APIHelper.valid_type?(value.id,
288
+ ->(val) { val.instance_of? String }) and
289
+ APIHelper.valid_type?(value.object,
290
+ ->(val) { val.instance_of? String }) and
291
+ APIHelper.valid_type?(value.live_mode,
292
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
293
+ APIHelper.valid_type?(value.created_at,
294
+ ->(val) { val.instance_of? DateTime }) and
295
+ APIHelper.valid_type?(value.updated_at,
296
+ ->(val) { val.instance_of? DateTime }) and
297
+ APIHelper.valid_type?(value.returnable_id,
298
+ ->(val) { val.instance_of? String }) and
299
+ APIHelper.valid_type?(value.returnable_type,
300
+ ->(val) { ReturnableTypeEnum.validate(val) }) and
301
+ APIHelper.valid_type?(value.code,
302
+ ->(val) { Code1Enum.validate(val) }) and
303
+ APIHelper.valid_type?(value.reason,
304
+ ->(val) { val.instance_of? String }) and
305
+ APIHelper.valid_type?(value.date_of_death,
306
+ ->(val) { val.instance_of? String }) and
307
+ APIHelper.valid_type?(value.additional_information,
308
+ ->(val) { val.instance_of? String }) and
309
+ APIHelper.valid_type?(value.status,
310
+ ->(val) { Status4Enum.validate(val) }) and
311
+ APIHelper.valid_type?(value.transaction_line_item_id,
312
+ ->(val) { val.instance_of? String }) and
313
+ APIHelper.valid_type?(value.transaction_id,
314
+ ->(val) { val.instance_of? String }) and
315
+ APIHelper.valid_type?(value.internal_account_id,
316
+ ->(val) { val.instance_of? String }) and
317
+ APIHelper.valid_type?(value.type,
318
+ ->(val) { Type6Enum.validate(val) }) and
319
+ APIHelper.valid_type?(value.amount,
320
+ ->(val) { val.instance_of? Integer }) and
321
+ APIHelper.valid_type?(value.currency,
322
+ ->(val) { CurrencyEnum.validate(val) }) and
323
+ APIHelper.valid_type?(value.failure_reason,
324
+ ->(val) { val.instance_of? String }) and
325
+ APIHelper.valid_type?(value.role,
326
+ ->(val) { RoleEnum.validate(val) }) and
327
+ APIHelper.valid_type?(value.current_return,
328
+ ->(val) { Return.validate(val) },
329
+ is_model_hash: true) and
330
+ APIHelper.valid_type?(value.reference_numbers,
331
+ ->(val) { PaymentReference.validate(val) },
332
+ is_model_hash: true,
333
+ is_inner_model_hash: true) and
334
+ APIHelper.valid_type?(value.ledger_transaction_id,
335
+ ->(val) { val.instance_of? String })
336
+ )
337
+ end
338
+
339
+ return false unless value.instance_of? Hash
340
+
341
+ (
342
+ APIHelper.valid_type?(value['id'],
343
+ ->(val) { val.instance_of? String }) and
344
+ APIHelper.valid_type?(value['object'],
345
+ ->(val) { val.instance_of? String }) and
346
+ APIHelper.valid_type?(value['live_mode'],
347
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
348
+ APIHelper.valid_type?(value['created_at'],
349
+ ->(val) { val.instance_of? String }) and
350
+ APIHelper.valid_type?(value['updated_at'],
351
+ ->(val) { val.instance_of? String }) and
352
+ APIHelper.valid_type?(value['returnable_id'],
353
+ ->(val) { val.instance_of? String }) and
354
+ APIHelper.valid_type?(value['returnable_type'],
355
+ ->(val) { ReturnableTypeEnum.validate(val) }) and
356
+ APIHelper.valid_type?(value['code'],
357
+ ->(val) { Code1Enum.validate(val) }) and
358
+ APIHelper.valid_type?(value['reason'],
359
+ ->(val) { val.instance_of? String }) and
360
+ APIHelper.valid_type?(value['date_of_death'],
361
+ ->(val) { val.instance_of? String }) and
362
+ APIHelper.valid_type?(value['additional_information'],
363
+ ->(val) { val.instance_of? String }) and
364
+ APIHelper.valid_type?(value['status'],
365
+ ->(val) { Status4Enum.validate(val) }) and
366
+ APIHelper.valid_type?(value['transaction_line_item_id'],
367
+ ->(val) { val.instance_of? String }) and
368
+ APIHelper.valid_type?(value['transaction_id'],
369
+ ->(val) { val.instance_of? String }) and
370
+ APIHelper.valid_type?(value['internal_account_id'],
371
+ ->(val) { val.instance_of? String }) and
372
+ APIHelper.valid_type?(value['type'],
373
+ ->(val) { Type6Enum.validate(val) }) and
374
+ APIHelper.valid_type?(value['amount'],
375
+ ->(val) { val.instance_of? Integer }) and
376
+ APIHelper.valid_type?(value['currency'],
377
+ ->(val) { CurrencyEnum.validate(val) }) and
378
+ APIHelper.valid_type?(value['failure_reason'],
379
+ ->(val) { val.instance_of? String }) and
380
+ APIHelper.valid_type?(value['role'],
381
+ ->(val) { RoleEnum.validate(val) }) and
382
+ APIHelper.valid_type?(value['current_return'],
383
+ ->(val) { Return.validate(val) },
384
+ is_model_hash: true) and
385
+ APIHelper.valid_type?(value['reference_numbers'],
386
+ ->(val) { PaymentReference.validate(val) },
387
+ is_model_hash: true,
388
+ is_inner_model_hash: true) and
389
+ APIHelper.valid_type?(value['ledger_transaction_id'],
390
+ ->(val) { val.instance_of? String })
391
+ )
392
+ end
393
+
394
+ # Provides a human-readable string representation of the object.
395
+ def to_s
396
+ class_name = self.class.name.split('::').last
397
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
398
+ " #{@created_at}, updated_at: #{@updated_at}, returnable_id: #{@returnable_id},"\
399
+ " returnable_type: #{@returnable_type}, code: #{@code}, reason: #{@reason}, date_of_death:"\
400
+ " #{@date_of_death}, additional_information: #{@additional_information}, status: #{@status},"\
401
+ " transaction_line_item_id: #{@transaction_line_item_id}, transaction_id:"\
402
+ " #{@transaction_id}, internal_account_id: #{@internal_account_id}, type: #{@type}, amount:"\
403
+ " #{@amount}, currency: #{@currency}, failure_reason: #{@failure_reason}, role: #{@role},"\
404
+ " current_return: #{@current_return}, reference_numbers: #{@reference_numbers},"\
405
+ " ledger_transaction_id: #{@ledger_transaction_id}>"
406
+ end
407
+
408
+ # Provides a debugging-friendly string with detailed object information.
409
+ def inspect
410
+ class_name = self.class.name.split('::').last
411
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
412
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
413
+ " #{@updated_at.inspect}, returnable_id: #{@returnable_id.inspect}, returnable_type:"\
414
+ " #{@returnable_type.inspect}, code: #{@code.inspect}, reason: #{@reason.inspect},"\
415
+ " date_of_death: #{@date_of_death.inspect}, additional_information:"\
416
+ " #{@additional_information.inspect}, status: #{@status.inspect}, transaction_line_item_id:"\
417
+ " #{@transaction_line_item_id.inspect}, transaction_id: #{@transaction_id.inspect},"\
418
+ " internal_account_id: #{@internal_account_id.inspect}, type: #{@type.inspect}, amount:"\
419
+ " #{@amount.inspect}, currency: #{@currency.inspect}, failure_reason:"\
420
+ " #{@failure_reason.inspect}, role: #{@role.inspect}, current_return:"\
421
+ " #{@current_return.inspect}, reference_numbers: #{@reference_numbers.inspect},"\
422
+ " ledger_transaction_id: #{@ledger_transaction_id.inspect}>"
423
+ end
424
+ end
425
+ end
@@ -0,0 +1,36 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # The normal balance of the ledger account category.
8
+ class NormalBalance2Enum
9
+ NORMAL_BALANCE2_ENUM = [
10
+ # TODO: Write general description for CREDIT
11
+ CREDIT = 'credit'.freeze,
12
+
13
+ # TODO: Write general description for DEBIT
14
+ DEBIT = 'debit'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ NORMAL_BALANCE2_ENUM.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = CREDIT)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'credit' then CREDIT
30
+ when 'debit' then DEBIT
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # The normal balance of the ledger account.
8
+ class NormalBalanceEnum
9
+ NORMAL_BALANCE_ENUM = [
10
+ # TODO: Write general description for CREDIT
11
+ CREDIT = 'credit'.freeze,
12
+
13
+ # TODO: Write general description for DEBIT
14
+ DEBIT = 'debit'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ NORMAL_BALANCE_ENUM.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = CREDIT)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'credit' then CREDIT
30
+ when 'debit' then DEBIT
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end