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,233 @@
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
+ # LedgerAccountStatement Model.
9
+ class LedgerAccountStatement < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [UUID | String]
15
+ attr_accessor :id
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [String]
19
+ attr_accessor :object
20
+
21
+ # This field will be true if this object exists in the live environment or
22
+ # false if it exists in the test environment.
23
+ # @return [TrueClass | FalseClass]
24
+ attr_accessor :live_mode
25
+
26
+ # This field will be true if this object exists in the live environment or
27
+ # false if it exists in the test environment.
28
+ # @return [DateTime]
29
+ attr_accessor :created_at
30
+
31
+ # This field will be true if this object exists in the live environment or
32
+ # false if it exists in the test environment.
33
+ # @return [DateTime]
34
+ attr_accessor :updated_at
35
+
36
+ # The id of the ledger that this ledger account statement belongs to.
37
+ # @return [UUID | String]
38
+ attr_accessor :ledger_id
39
+
40
+ # The description of the ledger account statement.
41
+ # @return [String]
42
+ attr_accessor :description
43
+
44
+ # The id of the ledger account whose ledger entries are queried against, and
45
+ # its balances are computed as a result.
46
+ # @return [UUID | String]
47
+ attr_accessor :ledger_account_id
48
+
49
+ # Lock version of the ledger account at the time of statement generation.
50
+ # @return [Integer]
51
+ attr_accessor :ledger_account_lock_version
52
+
53
+ # The normal balance of the ledger account.
54
+ # @return [LedgerAccountNormalBalanceEnum]
55
+ attr_accessor :ledger_account_normal_balance
56
+
57
+ # The inclusive lower bound of the effective_at timestamp of the ledger
58
+ # entries to be included in the ledger account statement.
59
+ # @return [DateTime]
60
+ attr_accessor :effective_at_lower_bound
61
+
62
+ # The exclusive upper bound of the effective_at timestamp of the ledger
63
+ # entries to be included in the ledger account statement.
64
+ # @return [DateTime]
65
+ attr_accessor :effective_at_upper_bound
66
+
67
+ # The exclusive upper bound of the effective_at timestamp of the ledger
68
+ # entries to be included in the ledger account statement.
69
+ # @return [LedgerBalances]
70
+ attr_accessor :starting_balance
71
+
72
+ # The exclusive upper bound of the effective_at timestamp of the ledger
73
+ # entries to be included in the ledger account statement.
74
+ # @return [LedgerBalances]
75
+ attr_accessor :ending_balance
76
+
77
+ # Additional data represented as key-value pairs. Both the key and value
78
+ # must be strings.
79
+ # @return [Hash[String, String]]
80
+ attr_accessor :metadata
81
+
82
+ # A mapping from model property names to API property names.
83
+ def self.names
84
+ @_hash = {} if @_hash.nil?
85
+ @_hash['id'] = 'id'
86
+ @_hash['object'] = 'object'
87
+ @_hash['live_mode'] = 'live_mode'
88
+ @_hash['created_at'] = 'created_at'
89
+ @_hash['updated_at'] = 'updated_at'
90
+ @_hash['ledger_id'] = 'ledger_id'
91
+ @_hash['description'] = 'description'
92
+ @_hash['ledger_account_id'] = 'ledger_account_id'
93
+ @_hash['ledger_account_lock_version'] = 'ledger_account_lock_version'
94
+ @_hash['ledger_account_normal_balance'] =
95
+ 'ledger_account_normal_balance'
96
+ @_hash['effective_at_lower_bound'] = 'effective_at_lower_bound'
97
+ @_hash['effective_at_upper_bound'] = 'effective_at_upper_bound'
98
+ @_hash['starting_balance'] = 'starting_balance'
99
+ @_hash['ending_balance'] = 'ending_balance'
100
+ @_hash['metadata'] = 'metadata'
101
+ @_hash
102
+ end
103
+
104
+ # An array for optional fields
105
+ def self.optionals
106
+ []
107
+ end
108
+
109
+ # An array for nullable fields
110
+ def self.nullables
111
+ %w[
112
+ description
113
+ ]
114
+ end
115
+
116
+ def initialize(id = nil, object = nil, live_mode = nil, created_at = nil,
117
+ updated_at = nil, ledger_id = nil, description = nil,
118
+ ledger_account_id = nil, ledger_account_lock_version = nil,
119
+ ledger_account_normal_balance = nil,
120
+ effective_at_lower_bound = nil,
121
+ effective_at_upper_bound = nil, starting_balance = nil,
122
+ ending_balance = nil, metadata = nil)
123
+ @id = id
124
+ @object = object
125
+ @live_mode = live_mode
126
+ @created_at = created_at
127
+ @updated_at = updated_at
128
+ @ledger_id = ledger_id
129
+ @description = description
130
+ @ledger_account_id = ledger_account_id
131
+ @ledger_account_lock_version = ledger_account_lock_version
132
+ @ledger_account_normal_balance = ledger_account_normal_balance
133
+ @effective_at_lower_bound = effective_at_lower_bound
134
+ @effective_at_upper_bound = effective_at_upper_bound
135
+ @starting_balance = starting_balance
136
+ @ending_balance = ending_balance
137
+ @metadata = metadata
138
+ end
139
+
140
+ # Creates an instance of the object from a hash.
141
+ def self.from_hash(hash)
142
+ return nil unless hash
143
+
144
+ # Extract variables from the hash.
145
+ id = hash.key?('id') ? hash['id'] : nil
146
+ object = hash.key?('object') ? hash['object'] : nil
147
+ live_mode = hash.key?('live_mode') ? hash['live_mode'] : nil
148
+ created_at = if hash.key?('created_at')
149
+ (DateTimeHelper.from_rfc3339(hash['created_at']) if hash['created_at'])
150
+ end
151
+ updated_at = if hash.key?('updated_at')
152
+ (DateTimeHelper.from_rfc3339(hash['updated_at']) if hash['updated_at'])
153
+ end
154
+ ledger_id = hash.key?('ledger_id') ? hash['ledger_id'] : nil
155
+ description = hash.key?('description') ? hash['description'] : nil
156
+ ledger_account_id =
157
+ hash.key?('ledger_account_id') ? hash['ledger_account_id'] : nil
158
+ ledger_account_lock_version =
159
+ hash.key?('ledger_account_lock_version') ? hash['ledger_account_lock_version'] : nil
160
+ ledger_account_normal_balance =
161
+ hash.key?('ledger_account_normal_balance') ? hash['ledger_account_normal_balance'] : nil
162
+ effective_at_lower_bound = if hash.key?('effective_at_lower_bound')
163
+ (DateTimeHelper.from_rfc3339(hash['effective_at_lower_bound']) if hash['effective_at_lower_bound'])
164
+ end
165
+ effective_at_upper_bound = if hash.key?('effective_at_upper_bound')
166
+ (DateTimeHelper.from_rfc3339(hash['effective_at_upper_bound']) if hash['effective_at_upper_bound'])
167
+ end
168
+ starting_balance = LedgerBalances.from_hash(hash['starting_balance']) if
169
+ hash['starting_balance']
170
+ ending_balance = LedgerBalances.from_hash(hash['ending_balance']) if hash['ending_balance']
171
+ metadata = hash.key?('metadata') ? hash['metadata'] : nil
172
+
173
+ # Create object from extracted values.
174
+ LedgerAccountStatement.new(id,
175
+ object,
176
+ live_mode,
177
+ created_at,
178
+ updated_at,
179
+ ledger_id,
180
+ description,
181
+ ledger_account_id,
182
+ ledger_account_lock_version,
183
+ ledger_account_normal_balance,
184
+ effective_at_lower_bound,
185
+ effective_at_upper_bound,
186
+ starting_balance,
187
+ ending_balance,
188
+ metadata)
189
+ end
190
+
191
+ def to_custom_created_at
192
+ DateTimeHelper.to_rfc3339(created_at)
193
+ end
194
+
195
+ def to_custom_updated_at
196
+ DateTimeHelper.to_rfc3339(updated_at)
197
+ end
198
+
199
+ def to_custom_effective_at_lower_bound
200
+ DateTimeHelper.to_rfc3339(effective_at_lower_bound)
201
+ end
202
+
203
+ def to_custom_effective_at_upper_bound
204
+ DateTimeHelper.to_rfc3339(effective_at_upper_bound)
205
+ end
206
+
207
+ # Provides a human-readable string representation of the object.
208
+ def to_s
209
+ class_name = self.class.name.split('::').last
210
+ "<#{class_name} id: #{@id}, object: #{@object}, live_mode: #{@live_mode}, created_at:"\
211
+ " #{@created_at}, updated_at: #{@updated_at}, ledger_id: #{@ledger_id}, description:"\
212
+ " #{@description}, ledger_account_id: #{@ledger_account_id}, ledger_account_lock_version:"\
213
+ " #{@ledger_account_lock_version}, ledger_account_normal_balance:"\
214
+ " #{@ledger_account_normal_balance}, effective_at_lower_bound: #{@effective_at_lower_bound},"\
215
+ " effective_at_upper_bound: #{@effective_at_upper_bound}, starting_balance:"\
216
+ " #{@starting_balance}, ending_balance: #{@ending_balance}, metadata: #{@metadata}>"
217
+ end
218
+
219
+ # Provides a debugging-friendly string with detailed object information.
220
+ def inspect
221
+ class_name = self.class.name.split('::').last
222
+ "<#{class_name} id: #{@id.inspect}, object: #{@object.inspect}, live_mode:"\
223
+ " #{@live_mode.inspect}, created_at: #{@created_at.inspect}, updated_at:"\
224
+ " #{@updated_at.inspect}, ledger_id: #{@ledger_id.inspect}, description:"\
225
+ " #{@description.inspect}, ledger_account_id: #{@ledger_account_id.inspect},"\
226
+ " ledger_account_lock_version: #{@ledger_account_lock_version.inspect},"\
227
+ " ledger_account_normal_balance: #{@ledger_account_normal_balance.inspect},"\
228
+ " effective_at_lower_bound: #{@effective_at_lower_bound.inspect}, effective_at_upper_bound:"\
229
+ " #{@effective_at_upper_bound.inspect}, starting_balance: #{@starting_balance.inspect},"\
230
+ " ending_balance: #{@ending_balance.inspect}, metadata: #{@metadata.inspect}>"
231
+ end
232
+ end
233
+ end
@@ -0,0 +1,122 @@
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
+ # LedgerAccountStatementCreateRequest Model.
9
+ class LedgerAccountStatementCreateRequest < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # The description of the ledger account statement.
14
+ # @return [String]
15
+ attr_accessor :description
16
+
17
+ # The id of the ledger account whose ledger entries are queried against, and
18
+ # its balances are computed as a result.
19
+ # @return [UUID | String]
20
+ attr_accessor :ledger_account_id
21
+
22
+ # The inclusive lower bound of the effective_at timestamp of the ledger
23
+ # entries to be included in the ledger account statement.
24
+ # @return [DateTime]
25
+ attr_accessor :effective_at_lower_bound
26
+
27
+ # The exclusive upper bound of the effective_at timestamp of the ledger
28
+ # entries to be included in the ledger account statement.
29
+ # @return [DateTime]
30
+ attr_accessor :effective_at_upper_bound
31
+
32
+ # Additional data represented as key-value pairs. Both the key and value
33
+ # must be strings.
34
+ # @return [Hash[String, String]]
35
+ attr_accessor :metadata
36
+
37
+ # A mapping from model property names to API property names.
38
+ def self.names
39
+ @_hash = {} if @_hash.nil?
40
+ @_hash['description'] = 'description'
41
+ @_hash['ledger_account_id'] = 'ledger_account_id'
42
+ @_hash['effective_at_lower_bound'] = 'effective_at_lower_bound'
43
+ @_hash['effective_at_upper_bound'] = 'effective_at_upper_bound'
44
+ @_hash['metadata'] = 'metadata'
45
+ @_hash
46
+ end
47
+
48
+ # An array for optional fields
49
+ def self.optionals
50
+ %w[
51
+ description
52
+ metadata
53
+ ]
54
+ end
55
+
56
+ # An array for nullable fields
57
+ def self.nullables
58
+ %w[
59
+ description
60
+ ]
61
+ end
62
+
63
+ def initialize(ledger_account_id = nil, effective_at_lower_bound = nil,
64
+ effective_at_upper_bound = nil, description = SKIP,
65
+ metadata = SKIP)
66
+ @description = description unless description == SKIP
67
+ @ledger_account_id = ledger_account_id
68
+ @effective_at_lower_bound = effective_at_lower_bound
69
+ @effective_at_upper_bound = effective_at_upper_bound
70
+ @metadata = metadata unless metadata == SKIP
71
+ end
72
+
73
+ # Creates an instance of the object from a hash.
74
+ def self.from_hash(hash)
75
+ return nil unless hash
76
+
77
+ # Extract variables from the hash.
78
+ ledger_account_id =
79
+ hash.key?('ledger_account_id') ? hash['ledger_account_id'] : nil
80
+ effective_at_lower_bound = if hash.key?('effective_at_lower_bound')
81
+ (DateTimeHelper.from_rfc3339(hash['effective_at_lower_bound']) if hash['effective_at_lower_bound'])
82
+ end
83
+ effective_at_upper_bound = if hash.key?('effective_at_upper_bound')
84
+ (DateTimeHelper.from_rfc3339(hash['effective_at_upper_bound']) if hash['effective_at_upper_bound'])
85
+ end
86
+ description = hash.key?('description') ? hash['description'] : SKIP
87
+ metadata = hash.key?('metadata') ? hash['metadata'] : SKIP
88
+
89
+ # Create object from extracted values.
90
+ LedgerAccountStatementCreateRequest.new(ledger_account_id,
91
+ effective_at_lower_bound,
92
+ effective_at_upper_bound,
93
+ description,
94
+ metadata)
95
+ end
96
+
97
+ def to_custom_effective_at_lower_bound
98
+ DateTimeHelper.to_rfc3339(effective_at_lower_bound)
99
+ end
100
+
101
+ def to_custom_effective_at_upper_bound
102
+ DateTimeHelper.to_rfc3339(effective_at_upper_bound)
103
+ end
104
+
105
+ # Provides a human-readable string representation of the object.
106
+ def to_s
107
+ class_name = self.class.name.split('::').last
108
+ "<#{class_name} description: #{@description}, ledger_account_id: #{@ledger_account_id},"\
109
+ " effective_at_lower_bound: #{@effective_at_lower_bound}, effective_at_upper_bound:"\
110
+ " #{@effective_at_upper_bound}, metadata: #{@metadata}>"
111
+ end
112
+
113
+ # Provides a debugging-friendly string with detailed object information.
114
+ def inspect
115
+ class_name = self.class.name.split('::').last
116
+ "<#{class_name} description: #{@description.inspect}, ledger_account_id:"\
117
+ " #{@ledger_account_id.inspect}, effective_at_lower_bound:"\
118
+ " #{@effective_at_lower_bound.inspect}, effective_at_upper_bound:"\
119
+ " #{@effective_at_upper_bound.inspect}, metadata: #{@metadata.inspect}>"
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,84 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerAccountUpdateRequest Model.
8
+ class LedgerAccountUpdateRequest < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The name of the ledger account.
13
+ # @return [String]
14
+ attr_accessor :name
15
+
16
+ # The description of the ledger account.
17
+ # @return [String]
18
+ attr_accessor :description
19
+
20
+ # Additional data represented as key-value pairs. Both the key and value
21
+ # must be strings.
22
+ # @return [Hash[String, String]]
23
+ attr_accessor :metadata
24
+
25
+ # A mapping from model property names to API property names.
26
+ def self.names
27
+ @_hash = {} if @_hash.nil?
28
+ @_hash['name'] = 'name'
29
+ @_hash['description'] = 'description'
30
+ @_hash['metadata'] = 'metadata'
31
+ @_hash
32
+ end
33
+
34
+ # An array for optional fields
35
+ def self.optionals
36
+ %w[
37
+ name
38
+ description
39
+ metadata
40
+ ]
41
+ end
42
+
43
+ # An array for nullable fields
44
+ def self.nullables
45
+ %w[
46
+ description
47
+ ]
48
+ end
49
+
50
+ def initialize(name = SKIP, description = SKIP, metadata = SKIP)
51
+ @name = name unless name == SKIP
52
+ @description = description unless description == SKIP
53
+ @metadata = metadata unless metadata == SKIP
54
+ end
55
+
56
+ # Creates an instance of the object from a hash.
57
+ def self.from_hash(hash)
58
+ return nil unless hash
59
+
60
+ # Extract variables from the hash.
61
+ name = hash.key?('name') ? hash['name'] : SKIP
62
+ description = hash.key?('description') ? hash['description'] : SKIP
63
+ metadata = hash.key?('metadata') ? hash['metadata'] : SKIP
64
+
65
+ # Create object from extracted values.
66
+ LedgerAccountUpdateRequest.new(name,
67
+ description,
68
+ metadata)
69
+ end
70
+
71
+ # Provides a human-readable string representation of the object.
72
+ def to_s
73
+ class_name = self.class.name.split('::').last
74
+ "<#{class_name} name: #{@name}, description: #{@description}, metadata: #{@metadata}>"
75
+ end
76
+
77
+ # Provides a debugging-friendly string with detailed object information.
78
+ def inspect
79
+ class_name = self.class.name.split('::').last
80
+ "<#{class_name} name: #{@name.inspect}, description: #{@description.inspect}, metadata:"\
81
+ " #{@metadata.inspect}>"
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,97 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerBalance Model.
8
+ class LedgerBalance < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Integer]
14
+ attr_accessor :credits
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [Integer]
18
+ attr_accessor :debits
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [Integer]
22
+ attr_accessor :amount
23
+
24
+ # The currency of the ledger account.
25
+ # @return [String]
26
+ attr_accessor :currency
27
+
28
+ # The currency exponent of the ledger account.
29
+ # @return [Integer]
30
+ attr_accessor :currency_exponent
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['credits'] = 'credits'
36
+ @_hash['debits'] = 'debits'
37
+ @_hash['amount'] = 'amount'
38
+ @_hash['currency'] = 'currency'
39
+ @_hash['currency_exponent'] = 'currency_exponent'
40
+ @_hash
41
+ end
42
+
43
+ # An array for optional fields
44
+ def self.optionals
45
+ []
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(credits = nil, debits = nil, amount = nil, currency = nil,
54
+ currency_exponent = nil)
55
+ @credits = credits
56
+ @debits = debits
57
+ @amount = amount
58
+ @currency = currency
59
+ @currency_exponent = currency_exponent
60
+ end
61
+
62
+ # Creates an instance of the object from a hash.
63
+ def self.from_hash(hash)
64
+ return nil unless hash
65
+
66
+ # Extract variables from the hash.
67
+ credits = hash.key?('credits') ? hash['credits'] : nil
68
+ debits = hash.key?('debits') ? hash['debits'] : nil
69
+ amount = hash.key?('amount') ? hash['amount'] : nil
70
+ currency = hash.key?('currency') ? hash['currency'] : nil
71
+ currency_exponent =
72
+ hash.key?('currency_exponent') ? hash['currency_exponent'] : nil
73
+
74
+ # Create object from extracted values.
75
+ LedgerBalance.new(credits,
76
+ debits,
77
+ amount,
78
+ currency,
79
+ currency_exponent)
80
+ end
81
+
82
+ # Provides a human-readable string representation of the object.
83
+ def to_s
84
+ class_name = self.class.name.split('::').last
85
+ "<#{class_name} credits: #{@credits}, debits: #{@debits}, amount: #{@amount}, currency:"\
86
+ " #{@currency}, currency_exponent: #{@currency_exponent}>"
87
+ end
88
+
89
+ # Provides a debugging-friendly string with detailed object information.
90
+ def inspect
91
+ class_name = self.class.name.split('::').last
92
+ "<#{class_name} credits: #{@credits.inspect}, debits: #{@debits.inspect}, amount:"\
93
+ " #{@amount.inspect}, currency: #{@currency.inspect}, currency_exponent:"\
94
+ " #{@currency_exponent.inspect}>"
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,81 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerBalances Model.
8
+ class LedgerBalances < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [LedgerBalance]
14
+ attr_accessor :pending_balance
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [LedgerBalance]
18
+ attr_accessor :posted_balance
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [LedgerBalance]
22
+ attr_accessor :available_balance
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['pending_balance'] = 'pending_balance'
28
+ @_hash['posted_balance'] = 'posted_balance'
29
+ @_hash['available_balance'] = 'available_balance'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ []
36
+ end
37
+
38
+ # An array for nullable fields
39
+ def self.nullables
40
+ []
41
+ end
42
+
43
+ def initialize(pending_balance = nil, posted_balance = nil,
44
+ available_balance = nil)
45
+ @pending_balance = pending_balance
46
+ @posted_balance = posted_balance
47
+ @available_balance = available_balance
48
+ end
49
+
50
+ # Creates an instance of the object from a hash.
51
+ def self.from_hash(hash)
52
+ return nil unless hash
53
+
54
+ # Extract variables from the hash.
55
+ pending_balance = LedgerBalance.from_hash(hash['pending_balance']) if
56
+ hash['pending_balance']
57
+ posted_balance = LedgerBalance.from_hash(hash['posted_balance']) if hash['posted_balance']
58
+ available_balance = LedgerBalance.from_hash(hash['available_balance']) if
59
+ hash['available_balance']
60
+
61
+ # Create object from extracted values.
62
+ LedgerBalances.new(pending_balance,
63
+ posted_balance,
64
+ available_balance)
65
+ end
66
+
67
+ # Provides a human-readable string representation of the object.
68
+ def to_s
69
+ class_name = self.class.name.split('::').last
70
+ "<#{class_name} pending_balance: #{@pending_balance}, posted_balance: #{@posted_balance},"\
71
+ " available_balance: #{@available_balance}>"
72
+ end
73
+
74
+ # Provides a debugging-friendly string with detailed object information.
75
+ def inspect
76
+ class_name = self.class.name.split('::').last
77
+ "<#{class_name} pending_balance: #{@pending_balance.inspect}, posted_balance:"\
78
+ " #{@posted_balance.inspect}, available_balance: #{@available_balance.inspect}>"
79
+ end
80
+ end
81
+ end