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,53 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # If a matching object exists in Modern Treasury, the type will be populated
8
+ # here, otherwise `null`.
9
+ class TransactableTypeEnum
10
+ TRANSACTABLE_TYPE_ENUM = [
11
+ # TODO: Write general description for INCOMING_PAYMENT_DETAIL
12
+ INCOMING_PAYMENT_DETAIL = 'incoming_payment_detail'.freeze,
13
+
14
+ # TODO: Write general description for PAPER_ITEM
15
+ PAPER_ITEM = 'paper_item'.freeze,
16
+
17
+ # TODO: Write general description for PAYMENT_ORDER
18
+ PAYMENT_ORDER = 'payment_order'.freeze,
19
+
20
+ # TODO: Write general description for PAYMENT_ORDER_ATTEMPT
21
+ PAYMENT_ORDER_ATTEMPT = 'payment_order_attempt'.freeze,
22
+
23
+ # TODO: Write general description for ENUM_RETURN
24
+ ENUM_RETURN = 'return'.freeze,
25
+
26
+ # TODO: Write general description for REVERSAL
27
+ REVERSAL = 'reversal'.freeze
28
+ ].freeze
29
+
30
+ def self.validate(value)
31
+ return false if value.nil?
32
+
33
+ TRANSACTABLE_TYPE_ENUM.include?(value)
34
+ end
35
+
36
+ def self.from_value(value, default_value = INCOMING_PAYMENT_DETAIL)
37
+ return default_value if value.nil?
38
+
39
+ str = value.to_s.strip
40
+
41
+ case str.downcase
42
+ when 'incoming_payment_detail' then INCOMING_PAYMENT_DETAIL
43
+ when 'paper_item' then PAPER_ITEM
44
+ when 'payment_order' then PAYMENT_ORDER
45
+ when 'payment_order_attempt' then PAYMENT_ORDER_ATTEMPT
46
+ when 'enum_return' then ENUM_RETURN
47
+ when 'reversal' then REVERSAL
48
+ else
49
+ default_value
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,311 @@
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
+ # Transaction Model.
9
+ class Transaction < 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
+ # This field will be true if this object exists in the live environment or
37
+ # false if it exists in the test environment.
38
+ # @return [DateTime]
39
+ attr_accessor :discarded_at
40
+
41
+ # Value in specified currency's smallest unit. e.g. $10 would be represented
42
+ # as 1000.
43
+ # @return [Integer]
44
+ attr_accessor :amount
45
+
46
+ # Three-letter ISO currency code.
47
+ # @return [CurrencyEnum]
48
+ attr_accessor :currency
49
+
50
+ # Either `credit` or `debit`.
51
+ # @return [String]
52
+ attr_accessor :direction
53
+
54
+ # The transaction detail text that often appears in on your bank statement
55
+ # and in your banking portal.
56
+ # @return [String]
57
+ attr_accessor :vendor_description
58
+
59
+ # When applicable, the bank-given code that determines the transaction's
60
+ # category. For most banks this is the BAI2/BTRS transaction code.
61
+ # @return [String]
62
+ attr_accessor :vendor_code
63
+
64
+ # The type of `vendor_code` being reported. Can be one of `bai2`,
65
+ # `bankprov`, `bnk_dev`, `cleartouch`, `currencycloud`, `cross_river`,
66
+ # `dc_bank`, `dwolla`, `evolve`, `goldman_sachs`, `iso20022`, `jpmc`, `mx`,
67
+ # `signet`, `silvergate`, `swift`, or `us_bank`.
68
+ # @return [VendorCodeType1Enum]
69
+ attr_accessor :vendor_code_type
70
+
71
+ # An identifier given to this transaction by the bank.
72
+ # @return [String]
73
+ attr_accessor :vendor_id
74
+
75
+ # The date on which the transaction occurred.
76
+ # @return [Date]
77
+ attr_accessor :as_of_date
78
+
79
+ # The time on which the transaction occurred. Depending on the granularity
80
+ # of the timestamp information received from the bank, it may be `null`.
81
+ # @return [DateTime]
82
+ attr_accessor :as_of_time
83
+
84
+ # The ID of the relevant Internal Account.
85
+ # @return [UUID | String]
86
+ attr_accessor :internal_account_id
87
+
88
+ # Additional data represented as key-value pairs. Both the key and value
89
+ # must be strings.
90
+ # @return [Hash[String, String]]
91
+ attr_accessor :metadata
92
+
93
+ # This field will be `true` if the transaction has posted to the account.
94
+ # @return [TrueClass | FalseClass]
95
+ attr_accessor :posted
96
+
97
+ # An identifier given to this transaction by the bank, often `null`.
98
+ # @return [String]
99
+ attr_accessor :vendor_customer_id
100
+
101
+ # This field will be `true` if a transaction is reconciled by the Modern
102
+ # Treasury system. This means that it has transaction line items that sum up
103
+ # to the transaction's amount.
104
+ # @return [TrueClass | FalseClass]
105
+ attr_accessor :reconciled
106
+
107
+ # This field contains additional information that the bank provided about
108
+ # the transaction. This is structured data. Some of the data in here might
109
+ # overlap with what is in the `vendor_description`. For example, the OBI
110
+ # could be a part of the vendor description, and it would also be included
111
+ # in here. The attributes that are passed through the details field will
112
+ # vary based on your banking partner. Currently, the following keys may be
113
+ # in the details object: `originator_name`,
114
+ # `originator_to_beneficiary_information`.
115
+ # @return [Hash[String, String]]
116
+ attr_accessor :details
117
+
118
+ # The type of the transaction. Can be one of `ach`, `wire`, `check`, `rtp`,
119
+ # `book`, or `sen`.
120
+ # @return [Type11Enum]
121
+ attr_accessor :type
122
+
123
+ # A mapping from model property names to API property names.
124
+ def self.names
125
+ @_hash = {} if @_hash.nil?
126
+ @_hash['id'] = 'id'
127
+ @_hash['object'] = 'object'
128
+ @_hash['live_mode'] = 'live_mode'
129
+ @_hash['created_at'] = 'created_at'
130
+ @_hash['updated_at'] = 'updated_at'
131
+ @_hash['discarded_at'] = 'discarded_at'
132
+ @_hash['amount'] = 'amount'
133
+ @_hash['currency'] = 'currency'
134
+ @_hash['direction'] = 'direction'
135
+ @_hash['vendor_description'] = 'vendor_description'
136
+ @_hash['vendor_code'] = 'vendor_code'
137
+ @_hash['vendor_code_type'] = 'vendor_code_type'
138
+ @_hash['vendor_id'] = 'vendor_id'
139
+ @_hash['as_of_date'] = 'as_of_date'
140
+ @_hash['as_of_time'] = 'as_of_time'
141
+ @_hash['internal_account_id'] = 'internal_account_id'
142
+ @_hash['metadata'] = 'metadata'
143
+ @_hash['posted'] = 'posted'
144
+ @_hash['vendor_customer_id'] = 'vendor_customer_id'
145
+ @_hash['reconciled'] = 'reconciled'
146
+ @_hash['details'] = 'details'
147
+ @_hash['type'] = 'type'
148
+ @_hash
149
+ end
150
+
151
+ # An array for optional fields
152
+ def self.optionals
153
+ []
154
+ end
155
+
156
+ # An array for nullable fields
157
+ def self.nullables
158
+ %w[
159
+ discarded_at
160
+ vendor_description
161
+ vendor_code
162
+ vendor_code_type
163
+ vendor_id
164
+ as_of_date
165
+ as_of_time
166
+ vendor_customer_id
167
+ ]
168
+ end
169
+
170
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
171
+ updated_at = nil, discarded_at = nil, amount = nil,
172
+ currency = nil, direction = nil, vendor_description = nil,
173
+ vendor_code = nil, vendor_code_type = nil, vendor_id = nil,
174
+ as_of_date = nil, as_of_time = nil,
175
+ internal_account_id = nil, metadata = nil, posted = nil,
176
+ vendor_customer_id = nil, reconciled = nil, details = nil,
177
+ type = nil)
178
+ @id = id
179
+ @object = object
180
+ @live_mode = live_mode
181
+ @created_at = created_at
182
+ @updated_at = updated_at
183
+ @discarded_at = discarded_at
184
+ @amount = amount
185
+ @currency = currency
186
+ @direction = direction
187
+ @vendor_description = vendor_description
188
+ @vendor_code = vendor_code
189
+ @vendor_code_type = vendor_code_type
190
+ @vendor_id = vendor_id
191
+ @as_of_date = as_of_date
192
+ @as_of_time = as_of_time
193
+ @internal_account_id = internal_account_id
194
+ @metadata = metadata
195
+ @posted = posted
196
+ @vendor_customer_id = vendor_customer_id
197
+ @reconciled = reconciled
198
+ @details = details
199
+ @type = type
200
+ end
201
+
202
+ # Creates an instance of the object from a hash.
203
+ def self.from_hash(hash)
204
+ return nil unless hash
205
+
206
+ # Extract variables from the hash.
207
+ id = hash.key?('id') ? hash['id'] : nil
208
+ object = hash.key?('object') ? hash['object'] : nil
209
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
210
+ created_at = if hash.key?('created_at')
211
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
212
+ end
213
+ updated_at = if hash.key?('updated_at')
214
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
215
+ end
216
+ discarded_at = if hash.key?('discarded_at')
217
+ (DateTimeHelper.from_rfc3339(hash['discarded_at']) if hash['discarded_at'])
218
+ end
219
+ amount = hash.key?('amount') ? hash['amount'] : nil
220
+ currency = hash.key?('currency') ? hash['currency'] : nil
221
+ direction = hash.key?('direction') ? hash['direction'] : nil
222
+ vendor_description =
223
+ hash.key?('vendor_description') ? hash['vendor_description'] : nil
224
+ vendor_code = hash.key?('vendor_code') ? hash['vendor_code'] : nil
225
+ vendor_code_type =
226
+ hash.key?('vendor_code_type') ? hash['vendor_code_type'] : nil
227
+ vendor_id = hash.key?('vendor_id') ? hash['vendor_id'] : nil
228
+ as_of_date = hash.key?('as_of_date') ? hash['as_of_date'] : nil
229
+ as_of_time = if hash.key?('as_of_time')
230
+ (DateTimeHelper.from_rfc3339(hash['as_of_time']) if hash['as_of_time'])
231
+ end
232
+ internal_account_id =
233
+ hash.key?('internal_account_id') ? hash['internal_account_id'] : nil
234
+ metadata = hash.key?('metadata') ? hash['metadata'] : nil
235
+ posted = hash.key?('posted') ? hash['posted'] : nil
236
+ vendor_customer_id =
237
+ hash.key?('vendor_customer_id') ? hash['vendor_customer_id'] : nil
238
+ reconciled = hash.key?('reconciled') ? hash['reconciled'] : nil
239
+ details = hash.key?('details') ? hash['details'] : nil
240
+ type = hash.key?('type') ? hash['type'] : nil
241
+
242
+ # Create object from extracted values.
243
+ Transaction.new(id,
244
+ object,
245
+ live_mode,
246
+ created_at,
247
+ updated_at,
248
+ discarded_at,
249
+ amount,
250
+ currency,
251
+ direction,
252
+ vendor_description,
253
+ vendor_code,
254
+ vendor_code_type,
255
+ vendor_id,
256
+ as_of_date,
257
+ as_of_time,
258
+ internal_account_id,
259
+ metadata,
260
+ posted,
261
+ vendor_customer_id,
262
+ reconciled,
263
+ details,
264
+ type)
265
+ end
266
+
267
+ def to_custom_created_at
268
+ DateTimeHelper.to_rfc3339(created_at)
269
+ end
270
+
271
+ def to_custom_updated_at
272
+ DateTimeHelper.to_rfc3339(updated_at)
273
+ end
274
+
275
+ def to_custom_discarded_at
276
+ DateTimeHelper.to_rfc3339(discarded_at)
277
+ end
278
+
279
+ def to_custom_as_of_time
280
+ DateTimeHelper.to_rfc3339(as_of_time)
281
+ end
282
+
283
+ # Provides a human-readable string representation of the object.
284
+ def to_s
285
+ class_name = self.class.name.split('::').last
286
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
287
+ " #{@created_at}, updated_at: #{@updated_at}, discarded_at: #{@discarded_at}, amount:"\
288
+ " #{@amount}, currency: #{@currency}, direction: #{@direction}, vendor_description:"\
289
+ " #{@vendor_description}, vendor_code: #{@vendor_code}, vendor_code_type:"\
290
+ " #{@vendor_code_type}, vendor_id: #{@vendor_id}, as_of_date: #{@as_of_date}, as_of_time:"\
291
+ " #{@as_of_time}, internal_account_id: #{@internal_account_id}, metadata: #{@metadata},"\
292
+ " posted: #{@posted}, vendor_customer_id: #{@vendor_customer_id}, reconciled:"\
293
+ " #{@reconciled}, details: #{@details}, type: #{@type}>"
294
+ end
295
+
296
+ # Provides a debugging-friendly string with detailed object information.
297
+ def inspect
298
+ class_name = self.class.name.split('::').last
299
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
300
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
301
+ " #{@updated_at.inspect}, discarded_at: #{@discarded_at.inspect}, amount:"\
302
+ " #{@amount.inspect}, currency: #{@currency.inspect}, direction: #{@direction.inspect},"\
303
+ " vendor_description: #{@vendor_description.inspect}, vendor_code: #{@vendor_code.inspect},"\
304
+ " vendor_code_type: #{@vendor_code_type.inspect}, vendor_id: #{@vendor_id.inspect},"\
305
+ " as_of_date: #{@as_of_date.inspect}, as_of_time: #{@as_of_time.inspect},"\
306
+ " internal_account_id: #{@internal_account_id.inspect}, metadata: #{@metadata.inspect},"\
307
+ " posted: #{@posted.inspect}, vendor_customer_id: #{@vendor_customer_id.inspect},"\
308
+ " reconciled: #{@reconciled.inspect}, details: #{@details.inspect}, type: #{@type.inspect}>"
309
+ end
310
+ end
311
+ end
@@ -0,0 +1,211 @@
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
+ # TransactionLineItem Model.
9
+ class TransactionLineItem < 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
+ # This field will be true if this object exists in the live environment, or
37
+ # false if it exists in the test environment.
38
+ # @return [DateTime]
39
+ attr_accessor :discarded_at
40
+
41
+ # Indicates whether the line item is `originating` or `receiving` (see
42
+ # https://www.moderntreasury.com/journal/beginners-guide-to-ach for more).
43
+ # @return [Type12Enum]
44
+ attr_accessor :type
45
+
46
+ # If a matching object exists in Modern Treasury, the type will be populated
47
+ # here, otherwise `null`.
48
+ # @return [TransactableTypeEnum]
49
+ attr_accessor :transactable_type
50
+
51
+ # If a matching object exists in Modern Treasury, the ID will be populated
52
+ # here, otherwise `null`.
53
+ # @return [String]
54
+ attr_accessor :transactable_id
55
+
56
+ # If a matching object exists in Modern Treasury, `amount` will be
57
+ # populated. Value in specified currency's smallest unit (taken from parent
58
+ # Transaction).
59
+ # @return [Integer]
60
+ attr_accessor :amount
61
+
62
+ # If no matching object is found, `description` will be a free-form text
63
+ # field describing the line item. This field may contain personally
64
+ # identifiable information (PII) and is not included in API responses by
65
+ # default. Learn more about changing your settings at
66
+ # https://docs.moderntreasury.com/reference/personally-identifiable-informat
67
+ # ion.
68
+ # @return [String]
69
+ attr_accessor :description
70
+
71
+ # The ID for the counterparty for this transaction line item.
72
+ # @return [String]
73
+ attr_accessor :counterparty_id
74
+
75
+ # The ID of the reconciled Expected Payment, otherwise `null`.
76
+ # @return [String]
77
+ attr_accessor :expected_payment_id
78
+
79
+ # A mapping from model property names to API property names.
80
+ def self.names
81
+ @_hash = {} if @_hash.nil?
82
+ @_hash['id'] = 'id'
83
+ @_hash['object'] = 'object'
84
+ @_hash['live_mode'] = 'live_mode'
85
+ @_hash['created_at'] = 'created_at'
86
+ @_hash['updated_at'] = 'updated_at'
87
+ @_hash['discarded_at'] = 'discarded_at'
88
+ @_hash['type'] = 'type'
89
+ @_hash['transactable_type'] = 'transactable_type'
90
+ @_hash['transactable_id'] = 'transactable_id'
91
+ @_hash['amount'] = 'amount'
92
+ @_hash['description'] = 'description'
93
+ @_hash['counterparty_id'] = 'counterparty_id'
94
+ @_hash['expected_payment_id'] = 'expected_payment_id'
95
+ @_hash
96
+ end
97
+
98
+ # An array for optional fields
99
+ def self.optionals
100
+ []
101
+ end
102
+
103
+ # An array for nullable fields
104
+ def self.nullables
105
+ %w[
106
+ discarded_at
107
+ transactable_type
108
+ transactable_id
109
+ ]
110
+ end
111
+
112
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
113
+ updated_at = nil, discarded_at = nil, type = nil,
114
+ transactable_type = nil, transactable_id = nil, amount = nil,
115
+ description = nil, counterparty_id = nil,
116
+ expected_payment_id = nil)
117
+ @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
+ @type = type
124
+ @transactable_type = transactable_type
125
+ @transactable_id = transactable_id
126
+ @amount = amount
127
+ @description = description
128
+ @counterparty_id = counterparty_id
129
+ @expected_payment_id = expected_payment_id
130
+ end
131
+
132
+ # Creates an instance of the object from a hash.
133
+ def self.from_hash(hash)
134
+ return nil unless hash
135
+
136
+ # Extract variables from the hash.
137
+ id = hash.key?('id') ? hash['id'] : nil
138
+ object = hash.key?('object') ? hash['object'] : nil
139
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
140
+ created_at = if hash.key?('created_at')
141
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
142
+ end
143
+ updated_at = if hash.key?('updated_at')
144
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
145
+ end
146
+ discarded_at = if hash.key?('discarded_at')
147
+ (DateTimeHelper.from_rfc3339(hash['discarded_at']) if hash['discarded_at'])
148
+ end
149
+ type = hash.key?('type') ? hash['type'] : nil
150
+ transactable_type =
151
+ hash.key?('transactable_type') ? hash['transactable_type'] : nil
152
+ transactable_id =
153
+ hash.key?('transactable_id') ? hash['transactable_id'] : nil
154
+ amount = hash.key?('amount') ? hash['amount'] : nil
155
+ description = hash.key?('description') ? hash['description'] : nil
156
+ counterparty_id =
157
+ hash.key?('counterparty_id') ? hash['counterparty_id'] : nil
158
+ expected_payment_id =
159
+ hash.key?('expected_payment_id') ? hash['expected_payment_id'] : nil
160
+
161
+ # Create object from extracted values.
162
+ TransactionLineItem.new(id,
163
+ object,
164
+ live_mode,
165
+ created_at,
166
+ updated_at,
167
+ discarded_at,
168
+ type,
169
+ transactable_type,
170
+ transactable_id,
171
+ amount,
172
+ description,
173
+ counterparty_id,
174
+ expected_payment_id)
175
+ end
176
+
177
+ def to_custom_created_at
178
+ DateTimeHelper.to_rfc3339(created_at)
179
+ end
180
+
181
+ def to_custom_updated_at
182
+ DateTimeHelper.to_rfc3339(updated_at)
183
+ end
184
+
185
+ def to_custom_discarded_at
186
+ DateTimeHelper.to_rfc3339(discarded_at)
187
+ end
188
+
189
+ # Provides a human-readable string representation of the object.
190
+ def to_s
191
+ class_name = self.class.name.split('::').last
192
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
193
+ " #{@created_at}, updated_at: #{@updated_at}, discarded_at: #{@discarded_at}, type:"\
194
+ " #{@type}, transactable_type: #{@transactable_type}, transactable_id: #{@transactable_id},"\
195
+ " amount: #{@amount}, description: #{@description}, counterparty_id: #{@counterparty_id},"\
196
+ " expected_payment_id: #{@expected_payment_id}>"
197
+ end
198
+
199
+ # Provides a debugging-friendly string with detailed object information.
200
+ def inspect
201
+ class_name = self.class.name.split('::').last
202
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
203
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
204
+ " #{@updated_at.inspect}, discarded_at: #{@discarded_at.inspect}, type: #{@type.inspect},"\
205
+ " transactable_type: #{@transactable_type.inspect}, transactable_id:"\
206
+ " #{@transactable_id.inspect}, amount: #{@amount.inspect}, description:"\
207
+ " #{@description.inspect}, counterparty_id: #{@counterparty_id.inspect},"\
208
+ " expected_payment_id: #{@expected_payment_id.inspect}>"
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,64 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # One of `ach`, `wire`, `check`.
8
+ class Type10Enum
9
+ TYPE10_ENUM = [
10
+ # TODO: Write general description for ACH
11
+ ACH = 'ach'.freeze,
12
+
13
+ # TODO: Write general description for BOOK
14
+ BOOK = 'book'.freeze,
15
+
16
+ # TODO: Write general description for CHECK
17
+ CHECK = 'check'.freeze,
18
+
19
+ # TODO: Write general description for EFT
20
+ EFT = 'eft'.freeze,
21
+
22
+ # TODO: Write general description for INTERAC
23
+ INTERAC = 'interac'.freeze,
24
+
25
+ # TODO: Write general description for RTP
26
+ RTP = 'rtp'.freeze,
27
+
28
+ # TODO: Write general description for SEPA
29
+ SEPA = 'sepa'.freeze,
30
+
31
+ # TODO: Write general description for SIGNET
32
+ SIGNET = 'signet'.freeze,
33
+
34
+ # TODO: Write general description for WIRE
35
+ WIRE = 'wire'.freeze
36
+ ].freeze
37
+
38
+ def self.validate(value)
39
+ return false if value.nil?
40
+
41
+ TYPE10_ENUM.include?(value)
42
+ end
43
+
44
+ def self.from_value(value, default_value = ACH)
45
+ return default_value if value.nil?
46
+
47
+ str = value.to_s.strip
48
+
49
+ case str.downcase
50
+ when 'ach' then ACH
51
+ when 'book' then BOOK
52
+ when 'check' then CHECK
53
+ when 'eft' then EFT
54
+ when 'interac' then INTERAC
55
+ when 'rtp' then RTP
56
+ when 'sepa' then SEPA
57
+ when 'signet' then SIGNET
58
+ when 'wire' then WIRE
59
+ else
60
+ default_value
61
+ end
62
+ end
63
+ end
64
+ end