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,48 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # AccountNumberType2.
8
+ class AccountNumberType2Enum
9
+ ACCOUNT_NUMBER_TYPE2_ENUM = [
10
+ # TODO: Write general description for IBAN
11
+ IBAN = 'iban'.freeze,
12
+
13
+ # TODO: Write general description for CLABE
14
+ CLABE = 'clabe'.freeze,
15
+
16
+ # TODO: Write general description for WALLET_ADDRESS
17
+ WALLET_ADDRESS = 'wallet_address'.freeze,
18
+
19
+ # TODO: Write general description for PAN
20
+ PAN = 'pan'.freeze,
21
+
22
+ # TODO: Write general description for OTHER
23
+ OTHER = 'other'.freeze
24
+ ].freeze
25
+
26
+ def self.validate(value)
27
+ return false if value.nil?
28
+
29
+ ACCOUNT_NUMBER_TYPE2_ENUM.include?(value)
30
+ end
31
+
32
+ def self.from_value(value, default_value = IBAN)
33
+ return default_value if value.nil?
34
+
35
+ str = value.to_s.strip
36
+
37
+ case str.downcase
38
+ when 'iban' then IBAN
39
+ when 'clabe' then CLABE
40
+ when 'wallet_address' then WALLET_ADDRESS
41
+ when 'pan' then PAN
42
+ when 'other' then OTHER
43
+ else
44
+ default_value
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,49 @@
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 `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the
8
+ # bank account number is in a generic format.
9
+ class AccountNumberTypeEnum
10
+ ACCOUNT_NUMBER_TYPE_ENUM = [
11
+ # TODO: Write general description for CLABE
12
+ CLABE = 'clabe'.freeze,
13
+
14
+ # TODO: Write general description for IBAN
15
+ IBAN = 'iban'.freeze,
16
+
17
+ # TODO: Write general description for OTHER
18
+ OTHER = 'other'.freeze,
19
+
20
+ # TODO: Write general description for PAN
21
+ PAN = 'pan'.freeze,
22
+
23
+ # TODO: Write general description for WALLET_ADDRESS
24
+ WALLET_ADDRESS = 'wallet_address'.freeze
25
+ ].freeze
26
+
27
+ def self.validate(value)
28
+ return false if value.nil?
29
+
30
+ ACCOUNT_NUMBER_TYPE_ENUM.include?(value)
31
+ end
32
+
33
+ def self.from_value(value, default_value = CLABE)
34
+ return default_value if value.nil?
35
+
36
+ str = value.to_s.strip
37
+
38
+ case str.downcase
39
+ when 'clabe' then CLABE
40
+ when 'iban' then IBAN
41
+ when 'other' then OTHER
42
+ when 'pan' then PAN
43
+ when 'wallet_address' then WALLET_ADDRESS
44
+ else
45
+ default_value
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,56 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # Can be checking, savings or other.
8
+ class AccountType5Enum
9
+ ACCOUNT_TYPE5_ENUM = [
10
+ # TODO: Write general description for CASH
11
+ CASH = 'cash'.freeze,
12
+
13
+ # TODO: Write general description for CHECKING
14
+ CHECKING = 'checking'.freeze,
15
+
16
+ # TODO: Write general description for LOAN
17
+ LOAN = 'loan'.freeze,
18
+
19
+ # TODO: Write general description for NON_RESIDENT
20
+ NON_RESIDENT = 'non_resident'.freeze,
21
+
22
+ # TODO: Write general description for OTHER
23
+ OTHER = 'other'.freeze,
24
+
25
+ # TODO: Write general description for OVERDRAFT
26
+ OVERDRAFT = 'overdraft'.freeze,
27
+
28
+ # TODO: Write general description for SAVINGS
29
+ SAVINGS = 'savings'.freeze
30
+ ].freeze
31
+
32
+ def self.validate(value)
33
+ return false if value.nil?
34
+
35
+ ACCOUNT_TYPE5_ENUM.include?(value)
36
+ end
37
+
38
+ def self.from_value(value, default_value = CASH)
39
+ return default_value if value.nil?
40
+
41
+ str = value.to_s.strip
42
+
43
+ case str.downcase
44
+ when 'cash' then CASH
45
+ when 'checking' then CHECKING
46
+ when 'loan' then LOAN
47
+ when 'non_resident' then NON_RESIDENT
48
+ when 'other' then OTHER
49
+ when 'overdraft' then OVERDRAFT
50
+ when 'savings' then SAVINGS
51
+ else
52
+ default_value
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,56 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # Can be `checking`, `savings` or `other`.
8
+ class AccountTypeEnum
9
+ ACCOUNT_TYPE_ENUM = [
10
+ # TODO: Write general description for CASH
11
+ CASH = 'cash'.freeze,
12
+
13
+ # TODO: Write general description for CHECKING
14
+ CHECKING = 'checking'.freeze,
15
+
16
+ # TODO: Write general description for LOAN
17
+ LOAN = 'loan'.freeze,
18
+
19
+ # TODO: Write general description for NON_RESIDENT
20
+ NON_RESIDENT = 'non_resident'.freeze,
21
+
22
+ # TODO: Write general description for OTHER
23
+ OTHER = 'other'.freeze,
24
+
25
+ # TODO: Write general description for OVERDRAFT
26
+ OVERDRAFT = 'overdraft'.freeze,
27
+
28
+ # TODO: Write general description for SAVINGS
29
+ SAVINGS = 'savings'.freeze
30
+ ].freeze
31
+
32
+ def self.validate(value)
33
+ return false if value.nil?
34
+
35
+ ACCOUNT_TYPE_ENUM.include?(value)
36
+ end
37
+
38
+ def self.from_value(value, default_value = CASH)
39
+ return default_value if value.nil?
40
+
41
+ str = value.to_s.strip
42
+
43
+ case str.downcase
44
+ when 'cash' then CASH
45
+ when 'checking' then CHECKING
46
+ when 'loan' then LOAN
47
+ when 'non_resident' then NON_RESIDENT
48
+ when 'other' then OTHER
49
+ when 'overdraft' then OVERDRAFT
50
+ when 'savings' then SAVINGS
51
+ else
52
+ default_value
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,88 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # Accounting Model.
8
+ class Accounting < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The ID of one of your accounting categories. Note that these will only be
13
+ # accessible if your accounting system has been connected.
14
+ # @return [UUID | String]
15
+ attr_accessor :account_id
16
+
17
+ # The ID of one of the class objects in your accounting system. Class
18
+ # objects track segments of your business independent of client or project.
19
+ # Note that these will only be accessible if your accounting system has been
20
+ # connected.
21
+ # @return [UUID | String]
22
+ attr_accessor :class_id
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['account_id'] = 'account_id'
28
+ @_hash['class_id'] = 'class_id'
29
+ @_hash
30
+ end
31
+
32
+ # An array for optional fields
33
+ def self.optionals
34
+ %w[
35
+ account_id
36
+ class_id
37
+ ]
38
+ end
39
+
40
+ # An array for nullable fields
41
+ def self.nullables
42
+ %w[
43
+ account_id
44
+ class_id
45
+ ]
46
+ end
47
+
48
+ def initialize(account_id = SKIP, class_id = SKIP)
49
+ @account_id = account_id unless account_id == SKIP
50
+ @class_id = class_id unless class_id == SKIP
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ account_id = hash.key?('account_id') ? hash['account_id'] : SKIP
59
+ class_id = hash.key?('class_id') ? hash['class_id'] : SKIP
60
+
61
+ # Create object from extracted values.
62
+ Accounting.new(account_id,
63
+ class_id)
64
+ end
65
+
66
+ # Validates an instance of the object from a given value.
67
+ # @param [Accounting | Hash] The value against the validation is performed.
68
+ def self.validate(value)
69
+ return true if value.instance_of? self
70
+
71
+ return false unless value.instance_of? Hash
72
+
73
+ true
74
+ end
75
+
76
+ # Provides a human-readable string representation of the object.
77
+ def to_s
78
+ class_name = self.class.name.split('::').last
79
+ "<#{class_name} account_id: #{@account_id}, class_id: #{@class_id}>"
80
+ end
81
+
82
+ # Provides a debugging-friendly string with detailed object information.
83
+ def inspect
84
+ class_name = self.class.name.split('::').last
85
+ "<#{class_name} account_id: #{@account_id.inspect}, class_id: #{@class_id.inspect}>"
86
+ end
87
+ end
88
+ 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
+ # Accounting1 Model.
8
+ class Accounting1 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # An optional type to auto-sync the counterparty to your ledger. Either
13
+ # `customer` or `vendor`.
14
+ # @return [TypeEnum]
15
+ attr_accessor :type
16
+
17
+ # A mapping from model property names to API property names.
18
+ def self.names
19
+ @_hash = {} if @_hash.nil?
20
+ @_hash['type'] = 'type'
21
+ @_hash
22
+ end
23
+
24
+ # An array for optional fields
25
+ def self.optionals
26
+ %w[
27
+ type
28
+ ]
29
+ end
30
+
31
+ # An array for nullable fields
32
+ def self.nullables
33
+ []
34
+ end
35
+
36
+ def initialize(type = SKIP)
37
+ @type = type unless type == 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
+ type = hash.key?('type') ? hash['type'] : SKIP
46
+
47
+ # Create object from extracted values.
48
+ Accounting1.new(type)
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} type: #{@type}>"
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} type: #{@type.inspect}>"
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,26 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # accounts_type1.
8
+ class AccountsType1Enum
9
+ ACCOUNTS_TYPE1_ENUM = [
10
+ # TODO: Write general description for EXTERNAL_ACCOUNTS
11
+ EXTERNAL_ACCOUNTS = 'external_accounts'.freeze
12
+ ].freeze
13
+
14
+ def self.validate(value)
15
+ return false if value.nil?
16
+
17
+ ACCOUNTS_TYPE1_ENUM.include?(value)
18
+ end
19
+
20
+ def self.from_value(value, default_value = EXTERNAL_ACCOUNTS)
21
+ return default_value if value.nil?
22
+
23
+ default_value
24
+ end
25
+ end
26
+ 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
+ # accounts_type.
8
+ class AccountsTypeEnum
9
+ ACCOUNTS_TYPE_ENUM = [
10
+ # TODO: Write general description for EXTERNAL_ACCOUNTS
11
+ EXTERNAL_ACCOUNTS = 'external_accounts'.freeze,
12
+
13
+ # TODO: Write general description for INTERNAL_ACCOUNTS
14
+ INTERNAL_ACCOUNTS = 'internal_accounts'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ ACCOUNTS_TYPE_ENUM.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = EXTERNAL_ACCOUNTS)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'external_accounts' then EXTERNAL_ACCOUNTS
30
+ when 'internal_accounts' then INTERNAL_ACCOUNTS
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,231 @@
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
+ # Address Model.
9
+ class Address < 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 [String]
39
+ attr_accessor :line1
40
+
41
+ # This field will be true if this object exists in the live environment or
42
+ # false if it exists in the test environment.
43
+ # @return [String]
44
+ attr_accessor :line2
45
+
46
+ # Locality or City.
47
+ # @return [String]
48
+ attr_accessor :locality
49
+
50
+ # Region or State.
51
+ # @return [String]
52
+ attr_accessor :region
53
+
54
+ # The postal code of the address.
55
+ # @return [String]
56
+ attr_accessor :postal_code
57
+
58
+ # Country code conforms to [ISO 3166-1 alpha-2]
59
+ # @return [String]
60
+ attr_accessor :country
61
+
62
+ # A mapping from model property names to API property names.
63
+ def self.names
64
+ @_hash = {} if @_hash.nil?
65
+ @_hash['id'] = 'id'
66
+ @_hash['object'] = 'object'
67
+ @_hash['live_mode'] = 'live_mode'
68
+ @_hash['created_at'] = 'created_at'
69
+ @_hash['updated_at'] = 'updated_at'
70
+ @_hash['line1'] = 'line1'
71
+ @_hash['line2'] = 'line2'
72
+ @_hash['locality'] = 'locality'
73
+ @_hash['region'] = 'region'
74
+ @_hash['postal_code'] = 'postal_code'
75
+ @_hash['country'] = 'country'
76
+ @_hash
77
+ end
78
+
79
+ # An array for optional fields
80
+ def self.optionals
81
+ []
82
+ end
83
+
84
+ # An array for nullable fields
85
+ def self.nullables
86
+ %w[
87
+ line1
88
+ line2
89
+ locality
90
+ region
91
+ postal_code
92
+ country
93
+ ]
94
+ end
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)
99
+ @id = id
100
+ @object = object
101
+ @live_mode = live_mode
102
+ @created_at = created_at
103
+ @updated_at = updated_at
104
+ @line1 = line1
105
+ @line2 = line2
106
+ @locality = locality
107
+ @region = region
108
+ @postal_code = postal_code
109
+ @country = country
110
+ end
111
+
112
+ # Creates an instance of the object from a hash.
113
+ def self.from_hash(hash)
114
+ return nil unless hash
115
+
116
+ # Extract variables from the hash.
117
+ id = hash.key?('id') ? hash['id'] : nil
118
+ object = hash.key?('object') ? hash['object'] : nil
119
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
120
+ created_at = if hash.key?('created_at')
121
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
122
+ end
123
+ updated_at = if hash.key?('updated_at')
124
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
125
+ end
126
+ line1 = hash.key?('line1') ? hash['line1'] : nil
127
+ line2 = hash.key?('line2') ? hash['line2'] : nil
128
+ locality = hash.key?('locality') ? hash['locality'] : nil
129
+ region = hash.key?('region') ? hash['region'] : nil
130
+ postal_code = hash.key?('postal_code') ? hash['postal_code'] : nil
131
+ country = hash.key?('country') ? hash['country'] : nil
132
+
133
+ # 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)
145
+ end
146
+
147
+ def to_custom_created_at
148
+ DateTimeHelper.to_rfc3339(created_at)
149
+ end
150
+
151
+ def to_custom_updated_at
152
+ DateTimeHelper.to_rfc3339(updated_at)
153
+ end
154
+
155
+ # Validates an instance of the object from a given value.
156
+ # @param [Address | Hash] The value against the validation is performed.
157
+ def self.validate(value)
158
+ if value.instance_of? self
159
+ return (
160
+ APIHelper.valid_type?(value.id,
161
+ ->(val) { val.instance_of? String }) and
162
+ APIHelper.valid_type?(value.object,
163
+ ->(val) { val.instance_of? String }) and
164
+ APIHelper.valid_type?(value.live_mode,
165
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
166
+ APIHelper.valid_type?(value.created_at,
167
+ ->(val) { val.instance_of? DateTime }) and
168
+ APIHelper.valid_type?(value.updated_at,
169
+ ->(val) { val.instance_of? DateTime }) and
170
+ APIHelper.valid_type?(value.line1,
171
+ ->(val) { val.instance_of? String }) and
172
+ APIHelper.valid_type?(value.line2,
173
+ ->(val) { val.instance_of? String }) and
174
+ APIHelper.valid_type?(value.locality,
175
+ ->(val) { val.instance_of? String }) and
176
+ APIHelper.valid_type?(value.region,
177
+ ->(val) { val.instance_of? String }) and
178
+ APIHelper.valid_type?(value.postal_code,
179
+ ->(val) { val.instance_of? String }) and
180
+ APIHelper.valid_type?(value.country,
181
+ ->(val) { val.instance_of? String })
182
+ )
183
+ end
184
+
185
+ return false unless value.instance_of? Hash
186
+
187
+ (
188
+ APIHelper.valid_type?(value['id'],
189
+ ->(val) { val.instance_of? String }) and
190
+ APIHelper.valid_type?(value['object'],
191
+ ->(val) { val.instance_of? String }) and
192
+ APIHelper.valid_type?(value['live_mode'],
193
+ ->(val) { val.instance_of? TrueClass or val.instance_of? FalseClass }) and
194
+ APIHelper.valid_type?(value['created_at'],
195
+ ->(val) { val.instance_of? String }) and
196
+ APIHelper.valid_type?(value['updated_at'],
197
+ ->(val) { val.instance_of? String }) and
198
+ APIHelper.valid_type?(value['line1'],
199
+ ->(val) { val.instance_of? String }) and
200
+ APIHelper.valid_type?(value['line2'],
201
+ ->(val) { val.instance_of? String }) and
202
+ APIHelper.valid_type?(value['locality'],
203
+ ->(val) { val.instance_of? String }) and
204
+ APIHelper.valid_type?(value['region'],
205
+ ->(val) { val.instance_of? String }) and
206
+ APIHelper.valid_type?(value['postal_code'],
207
+ ->(val) { val.instance_of? String }) and
208
+ APIHelper.valid_type?(value['country'],
209
+ ->(val) { val.instance_of? String })
210
+ )
211
+ end
212
+
213
+ # Provides a human-readable string representation of the object.
214
+ def to_s
215
+ class_name = self.class.name.split('::').last
216
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
217
+ " #{@created_at}, updated_at: #{@updated_at}, line1: #{@line1}, line2: #{@line2}, locality:"\
218
+ " #{@locality}, region: #{@region}, postal_code: #{@postal_code}, country: #{@country}>"
219
+ end
220
+
221
+ # Provides a debugging-friendly string with detailed object information.
222
+ def inspect
223
+ class_name = self.class.name.split('::').last
224
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
225
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
226
+ " #{@updated_at.inspect}, line1: #{@line1.inspect}, line2: #{@line2.inspect}, locality:"\
227
+ " #{@locality.inspect}, region: #{@region.inspect}, postal_code: #{@postal_code.inspect},"\
228
+ " country: #{@country.inspect}>"
229
+ end
230
+ end
231
+ end