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,62 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # Utility class for basic authorization.
8
+ class BasicAuth < CoreLibrary::HeaderAuth
9
+ include CoreLibrary
10
+ # Display error message on occurrence of authentication failure.
11
+ # @returns [String] The oAuth error message.
12
+ def error_message
13
+ 'BasicAuth: basic_auth_user_name or basic_auth_password is undefined.'
14
+ end
15
+
16
+ # Initialization constructor.
17
+ def initialize(basic_auth_credentials)
18
+ auth_params = {}
19
+ unless basic_auth_credentials.nil? ||
20
+ basic_auth_credentials.username.nil? ||
21
+ basic_auth_credentials.password.nil?
22
+ auth_params['Authorization'] =
23
+ "Basic #{AuthHelper.get_base64_encoded_value(basic_auth_credentials.username,
24
+ basic_auth_credentials.password)}"
25
+ end
26
+
27
+ super auth_params
28
+ end
29
+ end
30
+
31
+ # Data class for BasicAuthCredentials.
32
+ class BasicAuthCredentials
33
+ attr_reader :username, :password
34
+
35
+ def initialize(username:, password:)
36
+ raise ArgumentError, 'username cannot be nil' if username.nil?
37
+ raise ArgumentError, 'password cannot be nil' if password.nil?
38
+
39
+ @username = username
40
+ @password = password
41
+ end
42
+
43
+ def self.from_env
44
+ username = ENV['USERNAME']
45
+ password = ENV['PASSWORD']
46
+ all_nil = [
47
+ username,
48
+ password
49
+ ].all?(&:nil?)
50
+ return nil if all_nil
51
+
52
+ new(username: username, password: password)
53
+ end
54
+
55
+ def clone_with(username: nil, password: nil)
56
+ username ||= self.username
57
+ password ||= self.password
58
+
59
+ BasicAuthCredentials.new(username: username, password: password)
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,10 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # HttpCallBack allows defining callables for pre and post API calls.
8
+ class HttpCallBack < CoreLibrary::HttpCallback
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # HTTP Methods Enumeration.
8
+ class HttpMethodEnum < CoreLibrary::HttpMethod
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # Represents a single Http Request.
8
+ class HttpRequest < CoreLibrary::HttpRequest
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # Http response received.
8
+ class HttpResponse < CoreLibrary::HttpResponse
9
+ end
10
+ end
@@ -0,0 +1,22 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ ##
8
+ # ProxySettings encapsulates HTTP proxy configuration for Faraday,
9
+ # including optional basic authentication.
10
+ #
11
+ class ProxySettings < CoreLibrary::ProxySettings
12
+ def self.from_env
13
+ address = ENV['PROXY_ADDRESS']
14
+ port = ENV['PROXY_PORT']
15
+ username = ENV['PROXY_USERNAME']
16
+ password = ENV['PROXY_PASSWORD']
17
+ return nil if address.nil? || address.strip.empty?
18
+
19
+ new(address: address, port: port, username: username, password: password)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,304 @@
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
+ # Account Model.
9
+ class Account < 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
+ # Can be `checking`, `savings` or `other`.
42
+ # @return [AccountTypeEnum]
43
+ attr_accessor :account_type
44
+
45
+ # Either `individual` or `business`.
46
+ # @return [PartyTypeEnum]
47
+ attr_accessor :party_type
48
+
49
+ # Either `individual` or `business`.
50
+ # @return [Address]
51
+ attr_accessor :party_address
52
+
53
+ # A nickname for the external account. This is only for internal usage and
54
+ # won't affect any payments
55
+ # @return [String]
56
+ attr_accessor :name
57
+
58
+ # A nickname for the external account. This is only for internal usage and
59
+ # won't affect any payments
60
+ # @return [Array[AccountDetail]]
61
+ attr_accessor :account_details
62
+
63
+ # A nickname for the external account. This is only for internal usage and
64
+ # won't affect any payments
65
+ # @return [Array[RoutingDetail]]
66
+ attr_accessor :routing_details
67
+
68
+ # Additional data represented as key-value pairs. Both the key and value
69
+ # must be strings.
70
+ # @return [Hash[String, String]]
71
+ attr_accessor :metadata
72
+
73
+ # The legal name of the entity which owns the account.
74
+ # @return [String]
75
+ attr_accessor :party_name
76
+
77
+ # The legal name of the entity which owns the account.
78
+ # @return [Array[ContactDetail]]
79
+ attr_accessor :contact_details
80
+
81
+ # If the external account links to a ledger account in Modern Treasury, the
82
+ # id of the ledger account will be populated here.
83
+ # @return [UUID | String]
84
+ attr_accessor :ledger_account_id
85
+
86
+ # If the external account links to a ledger account in Modern Treasury, the
87
+ # id of the ledger account will be populated here.
88
+ # @return [VerificationStatusEnum]
89
+ attr_accessor :verification_status
90
+
91
+ # A mapping from model property names to API property names.
92
+ def self.names
93
+ @_hash = {} if @_hash.nil?
94
+ @_hash['id'] = 'id'
95
+ @_hash['object'] = 'object'
96
+ @_hash['live_mode'] = 'live_mode'
97
+ @_hash['created_at'] = 'created_at'
98
+ @_hash['updated_at'] = 'updated_at'
99
+ @_hash['discarded_at'] = 'discarded_at'
100
+ @_hash['account_type'] = 'account_type'
101
+ @_hash['party_type'] = 'party_type'
102
+ @_hash['party_address'] = 'party_address'
103
+ @_hash['name'] = 'name'
104
+ @_hash['account_details'] = 'account_details'
105
+ @_hash['routing_details'] = 'routing_details'
106
+ @_hash['metadata'] = 'metadata'
107
+ @_hash['party_name'] = 'party_name'
108
+ @_hash['contact_details'] = 'contact_details'
109
+ @_hash['ledger_account_id'] = 'ledger_account_id'
110
+ @_hash['verification_status'] = 'verification_status'
111
+ @_hash
112
+ end
113
+
114
+ # An array for optional fields
115
+ def self.optionals
116
+ %w[
117
+ id
118
+ object
119
+ live_mode
120
+ created_at
121
+ updated_at
122
+ discarded_at
123
+ account_type
124
+ party_type
125
+ party_address
126
+ name
127
+ account_details
128
+ routing_details
129
+ metadata
130
+ party_name
131
+ contact_details
132
+ ledger_account_id
133
+ verification_status
134
+ ]
135
+ end
136
+
137
+ # An array for nullable fields
138
+ def self.nullables
139
+ %w[
140
+ discarded_at
141
+ party_type
142
+ party_address
143
+ name
144
+ ledger_account_id
145
+ ]
146
+ end
147
+
148
+ def initialize(id = SKIP, object = SKIP, live_mode = SKIP,
149
+ created_at = SKIP, updated_at = SKIP, discarded_at = SKIP,
150
+ account_type = SKIP, party_type = SKIP, party_address = SKIP,
151
+ name = SKIP, account_details = SKIP, routing_details = SKIP,
152
+ metadata = SKIP, party_name = SKIP, contact_details = SKIP,
153
+ ledger_account_id = SKIP, verification_status = SKIP)
154
+ @id = id unless id == SKIP
155
+ @object = object unless object == SKIP
156
+ @live_mode = live_mode unless live_mode == SKIP
157
+ @created_at = created_at unless created_at == SKIP
158
+ @updated_at = updated_at unless updated_at == SKIP
159
+ @discarded_at = discarded_at unless discarded_at == SKIP
160
+ @account_type = account_type unless account_type == SKIP
161
+ @party_type = party_type unless party_type == SKIP
162
+ @party_address = party_address unless party_address == SKIP
163
+ @name = name unless name == SKIP
164
+ @account_details = account_details unless account_details == SKIP
165
+ @routing_details = routing_details unless routing_details == SKIP
166
+ @metadata = metadata unless metadata == SKIP
167
+ @party_name = party_name unless party_name == SKIP
168
+ @contact_details = contact_details unless contact_details == SKIP
169
+ @ledger_account_id = ledger_account_id unless ledger_account_id == SKIP
170
+ @verification_status = verification_status unless verification_status == SKIP
171
+ end
172
+
173
+ # Creates an instance of the object from a hash.
174
+ def self.from_hash(hash)
175
+ return nil unless hash
176
+
177
+ # Extract variables from the hash.
178
+ id = hash.key?('id') ? hash['id'] : SKIP
179
+ object = hash.key?('object') ? hash['object'] : SKIP
180
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : SKIP
181
+ created_at = if hash.key?('created_at')
182
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
183
+ else
184
+ SKIP
185
+ end
186
+ updated_at = if hash.key?('updated_at')
187
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
188
+ else
189
+ SKIP
190
+ end
191
+ discarded_at = if hash.key?('discarded_at')
192
+ (DateTimeHelper.from_rfc3339(hash['discarded_at']) if hash['discarded_at'])
193
+ else
194
+ SKIP
195
+ end
196
+ account_type = hash.key?('account_type') ? hash['account_type'] : SKIP
197
+ party_type = hash.key?('party_type') ? hash['party_type'] : SKIP
198
+ party_address = Address.from_hash(hash['party_address']) if hash['party_address']
199
+ name = hash.key?('name') ? hash['name'] : SKIP
200
+ # Parameter is an array, so we need to iterate through it
201
+ account_details = nil
202
+ unless hash['account_details'].nil?
203
+ account_details = []
204
+ hash['account_details'].each do |structure|
205
+ account_details << (AccountDetail.from_hash(structure) if structure)
206
+ end
207
+ end
208
+
209
+ account_details = SKIP unless hash.key?('account_details')
210
+ # Parameter is an array, so we need to iterate through it
211
+ routing_details = nil
212
+ unless hash['routing_details'].nil?
213
+ routing_details = []
214
+ hash['routing_details'].each do |structure|
215
+ routing_details << (RoutingDetail.from_hash(structure) if structure)
216
+ end
217
+ end
218
+
219
+ routing_details = SKIP unless hash.key?('routing_details')
220
+ metadata = hash.key?('metadata') ? hash['metadata'] : SKIP
221
+ party_name = hash.key?('party_name') ? hash['party_name'] : SKIP
222
+ # Parameter is an array, so we need to iterate through it
223
+ contact_details = nil
224
+ unless hash['contact_details'].nil?
225
+ contact_details = []
226
+ hash['contact_details'].each do |structure|
227
+ contact_details << (ContactDetail.from_hash(structure) if structure)
228
+ end
229
+ end
230
+
231
+ contact_details = SKIP unless hash.key?('contact_details')
232
+ ledger_account_id =
233
+ hash.key?('ledger_account_id') ? hash['ledger_account_id'] : SKIP
234
+ verification_status =
235
+ hash.key?('verification_status') ? hash['verification_status'] : SKIP
236
+
237
+ # Create object from extracted values.
238
+ Account.new(id,
239
+ object,
240
+ live_mode,
241
+ created_at,
242
+ updated_at,
243
+ discarded_at,
244
+ account_type,
245
+ party_type,
246
+ party_address,
247
+ name,
248
+ account_details,
249
+ routing_details,
250
+ metadata,
251
+ party_name,
252
+ contact_details,
253
+ ledger_account_id,
254
+ verification_status)
255
+ end
256
+
257
+ def to_custom_created_at
258
+ DateTimeHelper.to_rfc3339(created_at)
259
+ end
260
+
261
+ def to_custom_updated_at
262
+ DateTimeHelper.to_rfc3339(updated_at)
263
+ end
264
+
265
+ def to_custom_discarded_at
266
+ DateTimeHelper.to_rfc3339(discarded_at)
267
+ end
268
+
269
+ # Validates an instance of the object from a given value.
270
+ # @param [Account | Hash] The value against the validation is performed.
271
+ def self.validate(value)
272
+ return true if value.instance_of? self
273
+
274
+ return false unless value.instance_of? Hash
275
+
276
+ true
277
+ end
278
+
279
+ # Provides a human-readable string representation of the object.
280
+ def to_s
281
+ class_name = self.class.name.split('::').last
282
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
283
+ " #{@created_at}, updated_at: #{@updated_at}, discarded_at: #{@discarded_at}, account_type:"\
284
+ " #{@account_type}, party_type: #{@party_type}, party_address: #{@party_address}, name:"\
285
+ " #{@name}, account_details: #{@account_details}, routing_details: #{@routing_details},"\
286
+ " metadata: #{@metadata}, party_name: #{@party_name}, contact_details: #{@contact_details},"\
287
+ " ledger_account_id: #{@ledger_account_id}, verification_status: #{@verification_status}>"
288
+ end
289
+
290
+ # Provides a debugging-friendly string with detailed object information.
291
+ def inspect
292
+ class_name = self.class.name.split('::').last
293
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
294
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
295
+ " #{@updated_at.inspect}, discarded_at: #{@discarded_at.inspect}, account_type:"\
296
+ " #{@account_type.inspect}, party_type: #{@party_type.inspect}, party_address:"\
297
+ " #{@party_address.inspect}, name: #{@name.inspect}, account_details:"\
298
+ " #{@account_details.inspect}, routing_details: #{@routing_details.inspect}, metadata:"\
299
+ " #{@metadata.inspect}, party_name: #{@party_name.inspect}, contact_details:"\
300
+ " #{@contact_details.inspect}, ledger_account_id: #{@ledger_account_id.inspect},"\
301
+ " verification_status: #{@verification_status.inspect}>"
302
+ end
303
+ end
304
+ end
@@ -0,0 +1,217 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # Account1 Model.
8
+ class Account1 < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Can be `checking`, `savings` or `other`.
13
+ # @return [AccountTypeEnum]
14
+ attr_accessor :account_type
15
+
16
+ # Either `individual` or `business`.
17
+ # @return [PartyTypeEnum]
18
+ attr_accessor :party_type
19
+
20
+ # Either `individual` or `business`.
21
+ # @return [AddressRequest]
22
+ attr_accessor :party_address
23
+
24
+ # A nickname for the external account. This is only for internal usage and
25
+ # won't affect any payments
26
+ # @return [String]
27
+ attr_accessor :name
28
+
29
+ # A nickname for the external account. This is only for internal usage and
30
+ # won't affect any payments
31
+ # @return [Array[AccountDetail1]]
32
+ attr_accessor :account_details
33
+
34
+ # A nickname for the external account. This is only for internal usage and
35
+ # won't affect any payments
36
+ # @return [Array[RoutingDetail1]]
37
+ attr_accessor :routing_details
38
+
39
+ # Additional data represented as key-value pairs. Both the key and value
40
+ # must be strings.
41
+ # @return [Hash[String, String]]
42
+ attr_accessor :metadata
43
+
44
+ # If this value isn't provided, it will be inherited from the counterparty's
45
+ # name.
46
+ # @return [String]
47
+ attr_accessor :party_name
48
+
49
+ # If this value isn't provided, it will be inherited from the counterparty's
50
+ # name.
51
+ # @return [String]
52
+ attr_accessor :party_identifier
53
+
54
+ # If this value isn't provided, it will be inherited from the counterparty's
55
+ # name.
56
+ # @return [LedgerAccountCreateRequest]
57
+ attr_accessor :ledger_account
58
+
59
+ # If you've enabled the Modern Treasury + Plaid integration in your Plaid
60
+ # account, you can pass the processor token in this field.
61
+ # @return [String]
62
+ attr_accessor :plaid_processor_token
63
+
64
+ # If you've enabled the Modern Treasury + Plaid integration in your Plaid
65
+ # account, you can pass the processor token in this field.
66
+ # @return [Array[ContactDetailCreateRequest]]
67
+ attr_accessor :contact_details
68
+
69
+ # A mapping from model property names to API property names.
70
+ def self.names
71
+ @_hash = {} if @_hash.nil?
72
+ @_hash['account_type'] = 'account_type'
73
+ @_hash['party_type'] = 'party_type'
74
+ @_hash['party_address'] = 'party_address'
75
+ @_hash['name'] = 'name'
76
+ @_hash['account_details'] = 'account_details'
77
+ @_hash['routing_details'] = 'routing_details'
78
+ @_hash['metadata'] = 'metadata'
79
+ @_hash['party_name'] = 'party_name'
80
+ @_hash['party_identifier'] = 'party_identifier'
81
+ @_hash['ledger_account'] = 'ledger_account'
82
+ @_hash['plaid_processor_token'] = 'plaid_processor_token'
83
+ @_hash['contact_details'] = 'contact_details'
84
+ @_hash
85
+ end
86
+
87
+ # An array for optional fields
88
+ def self.optionals
89
+ %w[
90
+ account_type
91
+ party_type
92
+ party_address
93
+ name
94
+ account_details
95
+ routing_details
96
+ metadata
97
+ party_name
98
+ party_identifier
99
+ ledger_account
100
+ plaid_processor_token
101
+ contact_details
102
+ ]
103
+ end
104
+
105
+ # An array for nullable fields
106
+ def self.nullables
107
+ %w[
108
+ party_type
109
+ name
110
+ ]
111
+ end
112
+
113
+ def initialize(account_type = SKIP, party_type = SKIP, party_address = SKIP,
114
+ name = SKIP, account_details = SKIP, routing_details = SKIP,
115
+ metadata = SKIP, party_name = SKIP, party_identifier = SKIP,
116
+ ledger_account = SKIP, plaid_processor_token = SKIP,
117
+ contact_details = SKIP)
118
+ @account_type = account_type unless account_type == SKIP
119
+ @party_type = party_type unless party_type == SKIP
120
+ @party_address = party_address unless party_address == SKIP
121
+ @name = name unless name == SKIP
122
+ @account_details = account_details unless account_details == SKIP
123
+ @routing_details = routing_details unless routing_details == SKIP
124
+ @metadata = metadata unless metadata == SKIP
125
+ @party_name = party_name unless party_name == SKIP
126
+ @party_identifier = party_identifier unless party_identifier == SKIP
127
+ @ledger_account = ledger_account unless ledger_account == SKIP
128
+ @plaid_processor_token = plaid_processor_token unless plaid_processor_token == SKIP
129
+ @contact_details = contact_details unless contact_details == SKIP
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
+ account_type = hash.key?('account_type') ? hash['account_type'] : SKIP
138
+ party_type = hash.key?('party_type') ? hash['party_type'] : SKIP
139
+ party_address = AddressRequest.from_hash(hash['party_address']) if hash['party_address']
140
+ name = hash.key?('name') ? hash['name'] : SKIP
141
+ # Parameter is an array, so we need to iterate through it
142
+ account_details = nil
143
+ unless hash['account_details'].nil?
144
+ account_details = []
145
+ hash['account_details'].each do |structure|
146
+ account_details << (AccountDetail1.from_hash(structure) if structure)
147
+ end
148
+ end
149
+
150
+ account_details = SKIP unless hash.key?('account_details')
151
+ # Parameter is an array, so we need to iterate through it
152
+ routing_details = nil
153
+ unless hash['routing_details'].nil?
154
+ routing_details = []
155
+ hash['routing_details'].each do |structure|
156
+ routing_details << (RoutingDetail1.from_hash(structure) if structure)
157
+ end
158
+ end
159
+
160
+ routing_details = SKIP unless hash.key?('routing_details')
161
+ metadata = hash.key?('metadata') ? hash['metadata'] : SKIP
162
+ party_name = hash.key?('party_name') ? hash['party_name'] : SKIP
163
+ party_identifier =
164
+ hash.key?('party_identifier') ? hash['party_identifier'] : SKIP
165
+ ledger_account = LedgerAccountCreateRequest.from_hash(hash['ledger_account']) if
166
+ hash['ledger_account']
167
+ plaid_processor_token =
168
+ hash.key?('plaid_processor_token') ? hash['plaid_processor_token'] : SKIP
169
+ # Parameter is an array, so we need to iterate through it
170
+ contact_details = nil
171
+ unless hash['contact_details'].nil?
172
+ contact_details = []
173
+ hash['contact_details'].each do |structure|
174
+ contact_details << (ContactDetailCreateRequest.from_hash(structure) if structure)
175
+ end
176
+ end
177
+
178
+ contact_details = SKIP unless hash.key?('contact_details')
179
+
180
+ # Create object from extracted values.
181
+ Account1.new(account_type,
182
+ party_type,
183
+ party_address,
184
+ name,
185
+ account_details,
186
+ routing_details,
187
+ metadata,
188
+ party_name,
189
+ party_identifier,
190
+ ledger_account,
191
+ plaid_processor_token,
192
+ contact_details)
193
+ end
194
+
195
+ # Provides a human-readable string representation of the object.
196
+ def to_s
197
+ class_name = self.class.name.split('::').last
198
+ "<#{class_name} account_type: #{@account_type}, party_type: #{@party_type}, party_address:"\
199
+ " #{@party_address}, name: #{@name}, account_details: #{@account_details}, routing_details:"\
200
+ " #{@routing_details}, metadata: #{@metadata}, party_name: #{@party_name}, party_identifier:"\
201
+ " #{@party_identifier}, ledger_account: #{@ledger_account}, plaid_processor_token:"\
202
+ " #{@plaid_processor_token}, contact_details: #{@contact_details}>"
203
+ end
204
+
205
+ # Provides a debugging-friendly string with detailed object information.
206
+ def inspect
207
+ class_name = self.class.name.split('::').last
208
+ "<#{class_name} account_type: #{@account_type.inspect}, party_type: #{@party_type.inspect},"\
209
+ " party_address: #{@party_address.inspect}, name: #{@name.inspect}, account_details:"\
210
+ " #{@account_details.inspect}, routing_details: #{@routing_details.inspect}, metadata:"\
211
+ " #{@metadata.inspect}, party_name: #{@party_name.inspect}, party_identifier:"\
212
+ " #{@party_identifier.inspect}, ledger_account: #{@ledger_account.inspect},"\
213
+ " plaid_processor_token: #{@plaid_processor_token.inspect}, contact_details:"\
214
+ " #{@contact_details.inspect}>"
215
+ end
216
+ end
217
+ end