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,202 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerAccountController
8
+ class LedgerAccountController < BaseController
9
+ # Get a list of ledger accounts.
10
+ # @param [Integer] per_page Optional parameter: TODO: type description
11
+ # here
12
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
13
+ # you want to query for records with metadata key `Type` and value `Loan`,
14
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
15
+ # parameters.
16
+ # @param [String] id Optional parameter: TODO: type description here
17
+ # @param [String] name Optional parameter: TODO: type description here
18
+ # @param [String] ledger_id Optional parameter: TODO: type description
19
+ # here
20
+ # @param [String] currency Optional parameter: TODO: type description here
21
+ # @param [Balances2] balances Optional parameter: Use
22
+ # `balances[effective_at_lower_bound]` and
23
+ # `balances[effective_at_upper_bound]` to get the balances change between
24
+ # the two timestamps. The lower bound is inclusive while the upper bound is
25
+ # exclusive of the provided timestamps. If no value is supplied the balances
26
+ # will be retrieved not including that bound.
27
+ # @param [Hash[String, DateTime]] created_at Optional parameter: Use `gt`
28
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the
29
+ # created at timestamp. For example, for all times after Jan 1 2000 12:00
30
+ # UTC, use created_at%5Bgt%5D=2000-01-01T12:00:00Z.
31
+ # @param [Hash[String, DateTime]] updated_at Optional parameter: Use `gt`
32
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the
33
+ # updated at timestamp. For example, for all times after Jan 1 2000 12:00
34
+ # UTC, use updated_at%5Bgt%5D=2000-01-01T12:00:00Z.
35
+ # @param [String] ledger_account_category_id Optional parameter: TODO: type
36
+ # description here
37
+ # @param [String] after_cursor Optional parameter: TODO: type description
38
+ # here
39
+ # @return [Array[LedgerAccount]] Response from the API call.
40
+ def list_ledger_accounts(per_page: nil,
41
+ metadata: nil,
42
+ id: nil,
43
+ name: nil,
44
+ ledger_id: nil,
45
+ currency: nil,
46
+ balances: nil,
47
+ created_at: nil,
48
+ updated_at: nil,
49
+ ledger_account_category_id: nil,
50
+ after_cursor: nil)
51
+ @api_call
52
+ .request(new_request_builder(HttpMethodEnum::GET,
53
+ '/api/ledger_accounts',
54
+ Server::DEFAULT)
55
+ .query_param(new_parameter(per_page, key: 'per_page'))
56
+ .query_param(new_parameter(metadata, key: 'metadata'))
57
+ .query_param(new_parameter(id, key: 'id'))
58
+ .query_param(new_parameter(name, key: 'name'))
59
+ .query_param(new_parameter(ledger_id, key: 'ledger_id'))
60
+ .query_param(new_parameter(currency, key: 'currency'))
61
+ .query_param(new_parameter(balances, key: 'balances'))
62
+ .query_param(new_parameter(created_at, key: 'created_at'))
63
+ .query_param(new_parameter(updated_at, key: 'updated_at'))
64
+ .query_param(new_parameter(ledger_account_category_id, key: 'ledger_account_category_id'))
65
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
66
+ .header_param(new_parameter('application/json', key: 'accept'))
67
+ .auth(Single.new('basic_auth')))
68
+ .response(new_response_handler
69
+ .deserializer(APIHelper.method(:custom_type_deserializer))
70
+ .deserialize_into(LedgerAccount.method(:from_hash))
71
+ .is_response_array(true)
72
+ .local_error('422',
73
+ 'unsuccessful',
74
+ ErrorMessageException))
75
+ .execute
76
+ end
77
+
78
+ # Create a ledger account.
79
+ # @param [String] idempotency_key Optional parameter: This key should be
80
+ # something unique, preferably something like an UUID.
81
+ # @param [LedgerAccountCreateRequest] body Optional parameter: TODO: type
82
+ # description here
83
+ # @return [LedgerAccount] Response from the API call.
84
+ def create_ledger_account(idempotency_key: nil,
85
+ body: nil)
86
+ @api_call
87
+ .request(new_request_builder(HttpMethodEnum::POST,
88
+ '/api/ledger_accounts',
89
+ Server::DEFAULT)
90
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
91
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
92
+ .body_param(new_parameter(body))
93
+ .header_param(new_parameter('application/json', key: 'accept'))
94
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
95
+ .auth(Single.new('basic_auth')))
96
+ .response(new_response_handler
97
+ .deserializer(APIHelper.method(:custom_type_deserializer))
98
+ .deserialize_into(LedgerAccount.method(:from_hash))
99
+ .local_error('403',
100
+ 'forbidden',
101
+ ErrorMessageException)
102
+ .local_error('422',
103
+ 'unsuccessful',
104
+ ErrorMessageException))
105
+ .execute
106
+ end
107
+
108
+ # Get details on a single ledger account.
109
+ # @param [String] id Required parameter: id
110
+ # @param [Balances3] balances Optional parameter: Use
111
+ # `balances[effective_at_lower_bound]` and
112
+ # `balances[effective_at_upper_bound]` to get the balances change between
113
+ # the two timestamps. The lower bound is inclusive while the upper bound is
114
+ # exclusive of the provided timestamps. If no value is supplied the balances
115
+ # will be retrieved not including that bound. Use
116
+ # `balances[as_of_lock_version]` to retrieve a balance as of a specific
117
+ # Ledger Account `lock_version`.
118
+ # @return [LedgerAccount] Response from the API call.
119
+ def get_ledger_account(id,
120
+ balances: nil)
121
+ @api_call
122
+ .request(new_request_builder(HttpMethodEnum::GET,
123
+ '/api/ledger_accounts/{id}',
124
+ Server::DEFAULT)
125
+ .template_param(new_parameter(id, key: 'id')
126
+ .should_encode(true))
127
+ .query_param(new_parameter(balances, key: 'balances'))
128
+ .header_param(new_parameter('application/json', key: 'accept'))
129
+ .auth(Single.new('basic_auth')))
130
+ .response(new_response_handler
131
+ .deserializer(APIHelper.method(:custom_type_deserializer))
132
+ .deserialize_into(LedgerAccount.method(:from_hash))
133
+ .local_error('404',
134
+ 'not found',
135
+ ErrorMessageException)
136
+ .local_error('422',
137
+ 'unsuccessful',
138
+ ErrorMessageException))
139
+ .execute
140
+ end
141
+
142
+ # Update the details of a ledger account.
143
+ # @param [String] id Required parameter: id
144
+ # @param [LedgerAccountUpdateRequest] body Optional parameter: TODO: type
145
+ # description here
146
+ # @return [LedgerAccount] Response from the API call.
147
+ def update_ledger_account(id,
148
+ body: nil)
149
+ @api_call
150
+ .request(new_request_builder(HttpMethodEnum::PATCH,
151
+ '/api/ledger_accounts/{id}',
152
+ Server::DEFAULT)
153
+ .template_param(new_parameter(id, key: 'id')
154
+ .should_encode(true))
155
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
156
+ .body_param(new_parameter(body))
157
+ .header_param(new_parameter('application/json', key: 'accept'))
158
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
159
+ .auth(Single.new('basic_auth')))
160
+ .response(new_response_handler
161
+ .deserializer(APIHelper.method(:custom_type_deserializer))
162
+ .deserialize_into(LedgerAccount.method(:from_hash))
163
+ .local_error('403',
164
+ 'forbidden',
165
+ ErrorMessageException)
166
+ .local_error('404',
167
+ 'not found',
168
+ ErrorMessageException)
169
+ .local_error('422',
170
+ 'unsuccessful',
171
+ ErrorMessageException))
172
+ .execute
173
+ end
174
+
175
+ # Delete a ledger account.
176
+ # @param [String] id Required parameter: id
177
+ # @return [LedgerAccount] Response from the API call.
178
+ def delete_ledger_account(id)
179
+ @api_call
180
+ .request(new_request_builder(HttpMethodEnum::DELETE,
181
+ '/api/ledger_accounts/{id}',
182
+ Server::DEFAULT)
183
+ .template_param(new_parameter(id, key: 'id')
184
+ .should_encode(true))
185
+ .header_param(new_parameter('application/json', key: 'accept'))
186
+ .auth(Single.new('basic_auth')))
187
+ .response(new_response_handler
188
+ .deserializer(APIHelper.method(:custom_type_deserializer))
189
+ .deserialize_into(LedgerAccount.method(:from_hash))
190
+ .local_error('403',
191
+ 'forbidden',
192
+ ErrorMessageException)
193
+ .local_error('404',
194
+ 'not found',
195
+ ErrorMessageException)
196
+ .local_error('422',
197
+ 'unsuccessful',
198
+ ErrorMessageException))
199
+ .execute
200
+ end
201
+ end
202
+ end
@@ -0,0 +1,126 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerAccountPayoutController
8
+ class LedgerAccountPayoutController < BaseController
9
+ # Create a ledger account payout.
10
+ # @param [String] idempotency_key Optional parameter: This key should be
11
+ # something unique, preferably something like an UUID.
12
+ # @param [LedgerAccountPayoutCreateRequest] body Optional parameter: TODO:
13
+ # type description here
14
+ # @return [LedgerAccountPayout] Response from the API call.
15
+ def create_ledger_account_payout(idempotency_key: nil,
16
+ body: nil)
17
+ @api_call
18
+ .request(new_request_builder(HttpMethodEnum::POST,
19
+ '/api/ledger_account_payouts',
20
+ Server::DEFAULT)
21
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
22
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
23
+ .body_param(new_parameter(body))
24
+ .header_param(new_parameter('application/json', key: 'accept'))
25
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
26
+ .auth(Single.new('basic_auth')))
27
+ .response(new_response_handler
28
+ .deserializer(APIHelper.method(:custom_type_deserializer))
29
+ .deserialize_into(LedgerAccountPayout.method(:from_hash))
30
+ .local_error('403',
31
+ 'forbidden',
32
+ ErrorMessageException)
33
+ .local_error('422',
34
+ 'unsuccessful',
35
+ ErrorMessageException))
36
+ .execute
37
+ end
38
+
39
+ # Get a list of ledger account payouts.
40
+ # @param [Integer] per_page Optional parameter: TODO: type description
41
+ # here
42
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
43
+ # you want to query for records with metadata key `Type` and value `Loan`,
44
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
45
+ # parameters.
46
+ # @param [String] payout_ledger_account_id Optional parameter: TODO: type
47
+ # description here
48
+ # @param [String] after_cursor Optional parameter: TODO: type description
49
+ # here
50
+ # @return [Array[LedgerAccountPayout]] Response from the API call.
51
+ def list_ledger_account_payouts(per_page: nil,
52
+ metadata: nil,
53
+ payout_ledger_account_id: nil,
54
+ after_cursor: nil)
55
+ @api_call
56
+ .request(new_request_builder(HttpMethodEnum::GET,
57
+ '/api/ledger_account_payouts',
58
+ Server::DEFAULT)
59
+ .query_param(new_parameter(per_page, key: 'per_page'))
60
+ .query_param(new_parameter(metadata, key: 'metadata'))
61
+ .query_param(new_parameter(payout_ledger_account_id, key: 'payout_ledger_account_id'))
62
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
63
+ .header_param(new_parameter('application/json', key: 'accept'))
64
+ .auth(Single.new('basic_auth')))
65
+ .response(new_response_handler
66
+ .deserializer(APIHelper.method(:custom_type_deserializer))
67
+ .deserialize_into(LedgerAccountPayout.method(:from_hash))
68
+ .is_response_array(true))
69
+ .execute
70
+ end
71
+
72
+ # Get details on a single ledger account payout.
73
+ # @param [String] id Required parameter: id
74
+ # @return [LedgerAccountPayout] Response from the API call.
75
+ def get_ledger_account_payout(id)
76
+ @api_call
77
+ .request(new_request_builder(HttpMethodEnum::GET,
78
+ '/api/ledger_account_payouts/{id}',
79
+ Server::DEFAULT)
80
+ .template_param(new_parameter(id, key: 'id')
81
+ .should_encode(true))
82
+ .header_param(new_parameter('application/json', key: 'accept'))
83
+ .auth(Single.new('basic_auth')))
84
+ .response(new_response_handler
85
+ .deserializer(APIHelper.method(:custom_type_deserializer))
86
+ .deserialize_into(LedgerAccountPayout.method(:from_hash))
87
+ .local_error('404',
88
+ 'not found',
89
+ ErrorMessageException))
90
+ .execute
91
+ end
92
+
93
+ # Update the details of a ledger account payout.
94
+ # @param [String] id Required parameter: id
95
+ # @param [LedgerAccountPayoutUpdateRequest] body Optional parameter: TODO:
96
+ # type description here
97
+ # @return [LedgerAccountPayout] Response from the API call.
98
+ def update_ledger_account_payout(id,
99
+ body: nil)
100
+ @api_call
101
+ .request(new_request_builder(HttpMethodEnum::PATCH,
102
+ '/api/ledger_account_payouts/{id}',
103
+ Server::DEFAULT)
104
+ .template_param(new_parameter(id, key: 'id')
105
+ .should_encode(true))
106
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
107
+ .body_param(new_parameter(body))
108
+ .header_param(new_parameter('application/json', key: 'accept'))
109
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
110
+ .auth(Single.new('basic_auth')))
111
+ .response(new_response_handler
112
+ .deserializer(APIHelper.method(:custom_type_deserializer))
113
+ .deserialize_into(LedgerAccountPayout.method(:from_hash))
114
+ .local_error('403',
115
+ 'forbidden',
116
+ ErrorMessageException)
117
+ .local_error('404',
118
+ 'not found',
119
+ ErrorMessageException)
120
+ .local_error('422',
121
+ 'unsuccessful',
122
+ ErrorMessageException))
123
+ .execute
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,60 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerAccountStatementController
8
+ class LedgerAccountStatementController < BaseController
9
+ # Create a ledger account statement.
10
+ # @param [String] idempotency_key Optional parameter: This key should be
11
+ # something unique, preferably something like an UUID.
12
+ # @param [LedgerAccountStatementCreateRequest] body Optional parameter:
13
+ # TODO: type description here
14
+ # @return [LedgerAccountStatement] Response from the API call.
15
+ def create_ledger_account_statement(idempotency_key: nil,
16
+ body: nil)
17
+ @api_call
18
+ .request(new_request_builder(HttpMethodEnum::POST,
19
+ '/api/ledger_account_statements',
20
+ Server::DEFAULT)
21
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
22
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
23
+ .body_param(new_parameter(body))
24
+ .header_param(new_parameter('application/json', key: 'accept'))
25
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
26
+ .auth(Single.new('basic_auth')))
27
+ .response(new_response_handler
28
+ .deserializer(APIHelper.method(:custom_type_deserializer))
29
+ .deserialize_into(LedgerAccountStatement.method(:from_hash))
30
+ .local_error('403',
31
+ 'forbidden',
32
+ ErrorMessageException)
33
+ .local_error('422',
34
+ 'unsuccessful',
35
+ ErrorMessageException))
36
+ .execute
37
+ end
38
+
39
+ # Get details on a single ledger account statement.
40
+ # @param [String] id Required parameter: id
41
+ # @return [LedgerAccountStatement] Response from the API call.
42
+ def get_ledger_account_statement(id)
43
+ @api_call
44
+ .request(new_request_builder(HttpMethodEnum::GET,
45
+ '/api/ledger_account_statements/{id}',
46
+ Server::DEFAULT)
47
+ .template_param(new_parameter(id, key: 'id')
48
+ .should_encode(true))
49
+ .header_param(new_parameter('application/json', key: 'accept'))
50
+ .auth(Single.new('basic_auth')))
51
+ .response(new_response_handler
52
+ .deserializer(APIHelper.method(:custom_type_deserializer))
53
+ .deserialize_into(LedgerAccountStatement.method(:from_hash))
54
+ .local_error('404',
55
+ 'not found',
56
+ ErrorMessageException))
57
+ .execute
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,152 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerController
8
+ class LedgerController < BaseController
9
+ # Get a list of ledgers.
10
+ # @param [Integer] per_page Optional parameter: TODO: type description
11
+ # here
12
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
13
+ # you want to query for records with metadata key `Type` and value `Loan`,
14
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
15
+ # parameters.
16
+ # @param [Hash[String, DateTime]] updated_at Optional parameter: Use `gt`
17
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the posted
18
+ # at timestamp. For example, for all times after Jan 1 2000 12:00 UTC, use
19
+ # updated_at%5Bgt%5D=2000-01-01T12:00:00Z.
20
+ # @param [String] after_cursor Optional parameter: TODO: type description
21
+ # here
22
+ # @return [Array[Ledger]] Response from the API call.
23
+ def list_ledgers(per_page: nil,
24
+ metadata: nil,
25
+ updated_at: nil,
26
+ after_cursor: nil)
27
+ @api_call
28
+ .request(new_request_builder(HttpMethodEnum::GET,
29
+ '/api/ledgers',
30
+ Server::DEFAULT)
31
+ .query_param(new_parameter(per_page, key: 'per_page'))
32
+ .query_param(new_parameter(metadata, key: 'metadata'))
33
+ .query_param(new_parameter(updated_at, key: 'updated_at'))
34
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
35
+ .header_param(new_parameter('application/json', key: 'accept'))
36
+ .auth(Single.new('basic_auth')))
37
+ .response(new_response_handler
38
+ .deserializer(APIHelper.method(:custom_type_deserializer))
39
+ .deserialize_into(Ledger.method(:from_hash))
40
+ .is_response_array(true))
41
+ .execute
42
+ end
43
+
44
+ # Create a ledger.
45
+ # @param [String] idempotency_key Optional parameter: This key should be
46
+ # something unique, preferably something like an UUID.
47
+ # @param [LedgerCreateRequest] body Optional parameter: TODO: type
48
+ # description here
49
+ # @return [Ledger] Response from the API call.
50
+ def create_ledger(idempotency_key: nil,
51
+ body: nil)
52
+ @api_call
53
+ .request(new_request_builder(HttpMethodEnum::POST,
54
+ '/api/ledgers',
55
+ Server::DEFAULT)
56
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
57
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
58
+ .body_param(new_parameter(body))
59
+ .header_param(new_parameter('application/json', key: 'accept'))
60
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
61
+ .auth(Single.new('basic_auth')))
62
+ .response(new_response_handler
63
+ .deserializer(APIHelper.method(:custom_type_deserializer))
64
+ .deserialize_into(Ledger.method(:from_hash))
65
+ .local_error('403',
66
+ 'forbidden',
67
+ ErrorMessageException)
68
+ .local_error('422',
69
+ 'unsuccessful',
70
+ ErrorMessageException))
71
+ .execute
72
+ end
73
+
74
+ # Get details on a single ledger.
75
+ # @param [String] id Required parameter: id
76
+ # @return [Ledger] Response from the API call.
77
+ def get_ledger(id)
78
+ @api_call
79
+ .request(new_request_builder(HttpMethodEnum::GET,
80
+ '/api/ledgers/{id}',
81
+ Server::DEFAULT)
82
+ .template_param(new_parameter(id, key: 'id')
83
+ .should_encode(true))
84
+ .header_param(new_parameter('application/json', key: 'accept'))
85
+ .auth(Single.new('basic_auth')))
86
+ .response(new_response_handler
87
+ .deserializer(APIHelper.method(:custom_type_deserializer))
88
+ .deserialize_into(Ledger.method(:from_hash))
89
+ .local_error('404',
90
+ 'not found',
91
+ ErrorMessageException))
92
+ .execute
93
+ end
94
+
95
+ # Update the details of a ledger.
96
+ # @param [String] id Required parameter: id
97
+ # @param [LedgerUpdateRequest] body Optional parameter: TODO: type
98
+ # description here
99
+ # @return [Ledger] Response from the API call.
100
+ def update_ledger(id,
101
+ body: nil)
102
+ @api_call
103
+ .request(new_request_builder(HttpMethodEnum::PATCH,
104
+ '/api/ledgers/{id}',
105
+ Server::DEFAULT)
106
+ .template_param(new_parameter(id, key: 'id')
107
+ .should_encode(true))
108
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
109
+ .body_param(new_parameter(body))
110
+ .header_param(new_parameter('application/json', key: 'accept'))
111
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
112
+ .auth(Single.new('basic_auth')))
113
+ .response(new_response_handler
114
+ .deserializer(APIHelper.method(:custom_type_deserializer))
115
+ .deserialize_into(Ledger.method(:from_hash))
116
+ .local_error('403',
117
+ 'forbidden',
118
+ ErrorMessageException)
119
+ .local_error('404',
120
+ 'not found',
121
+ ErrorMessageException)
122
+ .local_error('422',
123
+ 'unsuccessful',
124
+ ErrorMessageException))
125
+ .execute
126
+ end
127
+
128
+ # Delete a ledger.
129
+ # @param [String] id Required parameter: id
130
+ # @return [Ledger] Response from the API call.
131
+ def delete_ledger(id)
132
+ @api_call
133
+ .request(new_request_builder(HttpMethodEnum::DELETE,
134
+ '/api/ledgers/{id}',
135
+ Server::DEFAULT)
136
+ .template_param(new_parameter(id, key: 'id')
137
+ .should_encode(true))
138
+ .header_param(new_parameter('application/json', key: 'accept'))
139
+ .auth(Single.new('basic_auth')))
140
+ .response(new_response_handler
141
+ .deserializer(APIHelper.method(:custom_type_deserializer))
142
+ .deserialize_into(Ledger.method(:from_hash))
143
+ .local_error('403',
144
+ 'forbidden',
145
+ ErrorMessageException)
146
+ .local_error('404',
147
+ 'not found',
148
+ ErrorMessageException))
149
+ .execute
150
+ end
151
+ end
152
+ end