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.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +188 -0
- data/bin/console +15 -0
- data/lib/modern_treasury/api_helper.rb +10 -0
- data/lib/modern_treasury/client.rb +275 -0
- data/lib/modern_treasury/configuration.rb +206 -0
- data/lib/modern_treasury/controllers/account_collection_flow_controller.rb +130 -0
- data/lib/modern_treasury/controllers/account_detail_controller.rb +131 -0
- data/lib/modern_treasury/controllers/balance_report_controller.rb +76 -0
- data/lib/modern_treasury/controllers/base_controller.rb +60 -0
- data/lib/modern_treasury/controllers/connection_controller.rb +40 -0
- data/lib/modern_treasury/controllers/counterparty_controller.rb +188 -0
- data/lib/modern_treasury/controllers/document_controller.rb +285 -0
- data/lib/modern_treasury/controllers/event_controller.rb +72 -0
- data/lib/modern_treasury/controllers/expected_payment_controller.rb +162 -0
- data/lib/modern_treasury/controllers/external_account_controller.rb +202 -0
- data/lib/modern_treasury/controllers/incoming_payment_detail_controller.rb +150 -0
- data/lib/modern_treasury/controllers/internal_account_controller.rb +134 -0
- data/lib/modern_treasury/controllers/invoice_controller.rb +98 -0
- data/lib/modern_treasury/controllers/invoice_line_item_controller.rb +136 -0
- data/lib/modern_treasury/controllers/ledger_account_category_controller.rb +292 -0
- data/lib/modern_treasury/controllers/ledger_account_controller.rb +202 -0
- data/lib/modern_treasury/controllers/ledger_account_payout_controller.rb +126 -0
- data/lib/modern_treasury/controllers/ledger_account_statement_controller.rb +60 -0
- data/lib/modern_treasury/controllers/ledger_controller.rb +152 -0
- data/lib/modern_treasury/controllers/ledger_entry_controller.rb +148 -0
- data/lib/modern_treasury/controllers/ledger_event_handler_controller.rb +119 -0
- data/lib/modern_treasury/controllers/ledger_transaction_controller.rb +328 -0
- data/lib/modern_treasury/controllers/ledgerable_event_controller.rb +61 -0
- data/lib/modern_treasury/controllers/line_item_controller.rb +107 -0
- data/lib/modern_treasury/controllers/paper_item_controller.rb +69 -0
- data/lib/modern_treasury/controllers/payment_flow_controller.rb +138 -0
- data/lib/modern_treasury/controllers/payment_order_controller.rb +368 -0
- data/lib/modern_treasury/controllers/payment_reference_controller.rb +64 -0
- data/lib/modern_treasury/controllers/ping_controller.rb +34 -0
- data/lib/modern_treasury/controllers/return_controller.rb +105 -0
- data/lib/modern_treasury/controllers/reversal_controller.rb +99 -0
- data/lib/modern_treasury/controllers/routing_detail_controller.rb +131 -0
- data/lib/modern_treasury/controllers/transaction_controller.rb +133 -0
- data/lib/modern_treasury/controllers/transaction_line_item_controller.rb +39 -0
- data/lib/modern_treasury/controllers/validation_controller.rb +41 -0
- data/lib/modern_treasury/controllers/virtual_account_controller.rb +142 -0
- data/lib/modern_treasury/exceptions/api_exception.rb +21 -0
- data/lib/modern_treasury/exceptions/error_message_exception.rb +46 -0
- data/lib/modern_treasury/http/auth/basic_auth.rb +62 -0
- data/lib/modern_treasury/http/http_call_back.rb +10 -0
- data/lib/modern_treasury/http/http_method_enum.rb +10 -0
- data/lib/modern_treasury/http/http_request.rb +10 -0
- data/lib/modern_treasury/http/http_response.rb +10 -0
- data/lib/modern_treasury/http/proxy_settings.rb +22 -0
- data/lib/modern_treasury/models/account.rb +304 -0
- data/lib/modern_treasury/models/account1.rb +217 -0
- data/lib/modern_treasury/models/account_collection_flow.rb +178 -0
- data/lib/modern_treasury/models/account_collection_flow_create_request.rb +70 -0
- data/lib/modern_treasury/models/account_collection_flow_update_request.rb +61 -0
- data/lib/modern_treasury/models/account_detail.rb +211 -0
- data/lib/modern_treasury/models/account_detail1.rb +74 -0
- data/lib/modern_treasury/models/account_detail_create_request.rb +75 -0
- data/lib/modern_treasury/models/account_number_type2_enum.rb +48 -0
- data/lib/modern_treasury/models/account_number_type_enum.rb +49 -0
- data/lib/modern_treasury/models/account_type5_enum.rb +56 -0
- data/lib/modern_treasury/models/account_type_enum.rb +56 -0
- data/lib/modern_treasury/models/accounting.rb +88 -0
- data/lib/modern_treasury/models/accounting1.rb +63 -0
- data/lib/modern_treasury/models/accounts_type1_enum.rb +26 -0
- data/lib/modern_treasury/models/accounts_type_enum.rb +36 -0
- data/lib/modern_treasury/models/address.rb +231 -0
- data/lib/modern_treasury/models/address_request.rb +118 -0
- data/lib/modern_treasury/models/async_response.rb +68 -0
- data/lib/modern_treasury/models/balance.rb +164 -0
- data/lib/modern_treasury/models/balance_report.rb +178 -0
- data/lib/modern_treasury/models/balance_report_type1_enum.rb +44 -0
- data/lib/modern_treasury/models/balance_report_type_enum.rb +45 -0
- data/lib/modern_treasury/models/balance_type_enum.rb +63 -0
- data/lib/modern_treasury/models/balances.rb +71 -0
- data/lib/modern_treasury/models/balances1.rb +81 -0
- data/lib/modern_treasury/models/balances2.rb +120 -0
- data/lib/modern_treasury/models/balances3.rb +130 -0
- data/lib/modern_treasury/models/base_model.rb +110 -0
- data/lib/modern_treasury/models/charge_bearer_enum.rb +42 -0
- data/lib/modern_treasury/models/code1_enum.rb +200 -0
- data/lib/modern_treasury/models/code_enum.rb +68 -0
- data/lib/modern_treasury/models/connection.rb +209 -0
- data/lib/modern_treasury/models/contact_detail.rb +200 -0
- data/lib/modern_treasury/models/contact_detail_create_request.rb +75 -0
- data/lib/modern_treasury/models/contact_identifier_type_enum.rb +40 -0
- data/lib/modern_treasury/models/content_type_enum.rb +36 -0
- data/lib/modern_treasury/models/counterparty.rb +200 -0
- data/lib/modern_treasury/models/counterparty_billing_address.rb +106 -0
- data/lib/modern_treasury/models/counterparty_collect_account_request.rb +104 -0
- data/lib/modern_treasury/models/counterparty_collect_account_response.rb +82 -0
- data/lib/modern_treasury/models/counterparty_create_request.rb +161 -0
- data/lib/modern_treasury/models/counterparty_shipping_address.rb +107 -0
- data/lib/modern_treasury/models/counterparty_update_request.rb +107 -0
- data/lib/modern_treasury/models/created_at_enum.rb +36 -0
- data/lib/modern_treasury/models/currency1_enum.rb +37 -0
- data/lib/modern_treasury/models/currency_enum.rb +784 -0
- data/lib/modern_treasury/models/direction10_enum.rb +38 -0
- data/lib/modern_treasury/models/direction14_enum.rb +36 -0
- data/lib/modern_treasury/models/direction15_enum.rb +36 -0
- data/lib/modern_treasury/models/direction1_enum.rb +37 -0
- data/lib/modern_treasury/models/direction4_enum.rb +36 -0
- data/lib/modern_treasury/models/direction5_enum.rb +39 -0
- data/lib/modern_treasury/models/direction9_enum.rb +37 -0
- data/lib/modern_treasury/models/direction_enum.rb +38 -0
- data/lib/modern_treasury/models/document.rb +207 -0
- data/lib/modern_treasury/models/document_create_request.rb +92 -0
- data/lib/modern_treasury/models/document_detail.rb +154 -0
- data/lib/modern_treasury/models/documentable_type1_enum.rb +72 -0
- data/lib/modern_treasury/models/documentable_type2_enum.rb +72 -0
- data/lib/modern_treasury/models/documentable_type_enum.rb +75 -0
- data/lib/modern_treasury/models/effective_at_enum.rb +36 -0
- data/lib/modern_treasury/models/errors.rb +81 -0
- data/lib/modern_treasury/models/event.rb +162 -0
- data/lib/modern_treasury/models/expected_payment.rb +343 -0
- data/lib/modern_treasury/models/expected_payment_create_request.rb +254 -0
- data/lib/modern_treasury/models/expected_payment_update_request.rb +239 -0
- data/lib/modern_treasury/models/external_account.rb +283 -0
- data/lib/modern_treasury/models/external_account_complete_verification_request.rb +62 -0
- data/lib/modern_treasury/models/external_account_create_request.rb +230 -0
- data/lib/modern_treasury/models/external_account_update_request.rb +132 -0
- data/lib/modern_treasury/models/external_account_verify_request.rb +83 -0
- data/lib/modern_treasury/models/fallback_type_enum.rb +28 -0
- data/lib/modern_treasury/models/field_enum.rb +112 -0
- data/lib/modern_treasury/models/file.rb +81 -0
- data/lib/modern_treasury/models/foreign_exchange_indicator_enum.rb +38 -0
- data/lib/modern_treasury/models/incoming_payment_detail.rb +348 -0
- data/lib/modern_treasury/models/incoming_payment_detail_create_request.rb +141 -0
- data/lib/modern_treasury/models/incoming_payment_detail_update_request.rb +63 -0
- data/lib/modern_treasury/models/internal_account.rb +361 -0
- data/lib/modern_treasury/models/internal_account_create_request.rb +135 -0
- data/lib/modern_treasury/models/internal_account_update_request.rb +95 -0
- data/lib/modern_treasury/models/invoice.rb +342 -0
- data/lib/modern_treasury/models/invoice_create_request.rb +235 -0
- data/lib/modern_treasury/models/invoice_line_item.rb +171 -0
- data/lib/modern_treasury/models/invoice_line_item_create_request.rb +104 -0
- data/lib/modern_treasury/models/invoice_line_item_update_request.rb +240 -0
- data/lib/modern_treasury/models/invoice_update_request.rb +251 -0
- data/lib/modern_treasury/models/invoicer_address.rb +106 -0
- data/lib/modern_treasury/models/itemizable_type1_enum.rb +36 -0
- data/lib/modern_treasury/models/itemizable_type_enum.rb +36 -0
- data/lib/modern_treasury/models/ledger.rb +158 -0
- data/lib/modern_treasury/models/ledger_account.rb +220 -0
- data/lib/modern_treasury/models/ledger_account_category.rb +187 -0
- data/lib/modern_treasury/models/ledger_account_category_create_request.rb +125 -0
- data/lib/modern_treasury/models/ledger_account_category_update_request.rb +84 -0
- data/lib/modern_treasury/models/ledger_account_create_request.rb +150 -0
- data/lib/modern_treasury/models/ledger_account_normal_balance_enum.rb +36 -0
- data/lib/modern_treasury/models/ledger_account_payout.rb +238 -0
- data/lib/modern_treasury/models/ledger_account_payout_create_request.rb +152 -0
- data/lib/modern_treasury/models/ledger_account_payout_update_request.rb +85 -0
- data/lib/modern_treasury/models/ledger_account_statement.rb +233 -0
- data/lib/modern_treasury/models/ledger_account_statement_create_request.rb +122 -0
- data/lib/modern_treasury/models/ledger_account_update_request.rb +84 -0
- data/lib/modern_treasury/models/ledger_balance.rb +97 -0
- data/lib/modern_treasury/models/ledger_balances.rb +81 -0
- data/lib/modern_treasury/models/ledger_balances_with_effective_at.rb +123 -0
- data/lib/modern_treasury/models/ledger_create_request.rb +83 -0
- data/lib/modern_treasury/models/ledger_entry.rb +247 -0
- data/lib/modern_treasury/models/ledger_entry_create_request.rb +177 -0
- data/lib/modern_treasury/models/ledger_entry_of_transaction_version.rb +214 -0
- data/lib/modern_treasury/models/ledger_event_handler.rb +182 -0
- data/lib/modern_treasury/models/ledger_event_handler_conditions.rb +78 -0
- data/lib/modern_treasury/models/ledger_event_handler_create_request.rb +119 -0
- data/lib/modern_treasury/models/ledger_event_handler_ledger_entries.rb +80 -0
- data/lib/modern_treasury/models/ledger_event_handler_ledger_transaction_template.rb +103 -0
- data/lib/modern_treasury/models/ledger_transaction.rb +259 -0
- data/lib/modern_treasury/models/ledger_transaction_create_request.rb +164 -0
- data/lib/modern_treasury/models/ledger_transaction_reversal_create_request.rb +142 -0
- data/lib/modern_treasury/models/ledger_transaction_update_request.rb +115 -0
- data/lib/modern_treasury/models/ledger_transaction_version.rb +254 -0
- data/lib/modern_treasury/models/ledger_type_enum.rb +37 -0
- data/lib/modern_treasury/models/ledger_update_request.rb +84 -0
- data/lib/modern_treasury/models/ledgerable_event.rb +206 -0
- data/lib/modern_treasury/models/ledgerable_event_create_request.rb +140 -0
- data/lib/modern_treasury/models/ledgerable_type2_enum.rb +71 -0
- data/lib/modern_treasury/models/ledgerable_type5_enum.rb +69 -0
- data/lib/modern_treasury/models/ledgerable_type6_enum.rb +68 -0
- data/lib/modern_treasury/models/ledgerable_type_enum.rb +38 -0
- data/lib/modern_treasury/models/legacy_document_create_request.rb +70 -0
- data/lib/modern_treasury/models/line_item.rb +200 -0
- data/lib/modern_treasury/models/line_item_request.rb +98 -0
- data/lib/modern_treasury/models/line_item_update_request.rb +63 -0
- data/lib/modern_treasury/models/mreturn.rb +425 -0
- data/lib/modern_treasury/models/normal_balance2_enum.rb +36 -0
- data/lib/modern_treasury/models/normal_balance_enum.rb +36 -0
- data/lib/modern_treasury/models/order_by.rb +72 -0
- data/lib/modern_treasury/models/originating_account_number_type_enum.rb +48 -0
- data/lib/modern_treasury/models/originating_routing_number_type_enum.rb +68 -0
- data/lib/modern_treasury/models/paper_item.rb +249 -0
- data/lib/modern_treasury/models/party_address.rb +106 -0
- data/lib/modern_treasury/models/party_type5_enum.rb +36 -0
- data/lib/modern_treasury/models/party_type_enum.rb +36 -0
- data/lib/modern_treasury/models/payment_direction_enum.rb +36 -0
- data/lib/modern_treasury/models/payment_flow.rb +230 -0
- data/lib/modern_treasury/models/payment_flow_create_request.rb +103 -0
- data/lib/modern_treasury/models/payment_flow_update_request.rb +61 -0
- data/lib/modern_treasury/models/payment_method1_enum.rb +46 -0
- data/lib/modern_treasury/models/payment_method_enum.rb +42 -0
- data/lib/modern_treasury/models/payment_order.rb +820 -0
- data/lib/modern_treasury/models/payment_order_async_create_request.rb +536 -0
- data/lib/modern_treasury/models/payment_order_create_request.rb +556 -0
- data/lib/modern_treasury/models/payment_order_update_request.rb +543 -0
- data/lib/modern_treasury/models/payment_reference.rb +175 -0
- data/lib/modern_treasury/models/payment_reference_object.rb +156 -0
- data/lib/modern_treasury/models/payment_type13_enum.rb +96 -0
- data/lib/modern_treasury/models/payment_type1_enum.rb +97 -0
- data/lib/modern_treasury/models/payment_type2_enum.rb +96 -0
- data/lib/modern_treasury/models/payment_type4_enum.rb +96 -0
- data/lib/modern_treasury/models/payment_type5_enum.rb +36 -0
- data/lib/modern_treasury/models/payment_type6_enum.rb +97 -0
- data/lib/modern_treasury/models/payment_type_enum.rb +37 -0
- data/lib/modern_treasury/models/ping_response.rb +60 -0
- data/lib/modern_treasury/models/priority4_enum.rb +36 -0
- data/lib/modern_treasury/models/priority_enum.rb +38 -0
- data/lib/modern_treasury/models/reason1_enum.rb +50 -0
- data/lib/modern_treasury/models/reason_enum.rb +48 -0
- data/lib/modern_treasury/models/receiving_account.rb +304 -0
- data/lib/modern_treasury/models/receiving_account1.rb +219 -0
- data/lib/modern_treasury/models/receiving_account_type_enum.rb +36 -0
- data/lib/modern_treasury/models/reconciliation_method_enum.rb +38 -0
- data/lib/modern_treasury/models/reference_number_type1_enum.rb +248 -0
- data/lib/modern_treasury/models/reference_number_type_enum.rb +248 -0
- data/lib/modern_treasury/models/referenceable_type1_enum.rb +40 -0
- data/lib/modern_treasury/models/referenceable_type_enum.rb +41 -0
- data/lib/modern_treasury/models/return_create_request.rb +119 -0
- data/lib/modern_treasury/models/returnable_type1_enum.rb +48 -0
- data/lib/modern_treasury/models/returnable_type_enum.rb +48 -0
- data/lib/modern_treasury/models/reversal.rb +151 -0
- data/lib/modern_treasury/models/reversal_create_request.rb +86 -0
- data/lib/modern_treasury/models/role_enum.rb +36 -0
- data/lib/modern_treasury/models/routing_detail.rb +242 -0
- data/lib/modern_treasury/models/routing_detail1.rb +83 -0
- data/lib/modern_treasury/models/routing_detail_create_request.rb +87 -0
- data/lib/modern_treasury/models/routing_number_lookup_request.rb +124 -0
- data/lib/modern_treasury/models/routing_number_type1_enum.rb +68 -0
- data/lib/modern_treasury/models/routing_number_type7_enum.rb +55 -0
- data/lib/modern_treasury/models/routing_number_type8_enum.rb +68 -0
- data/lib/modern_treasury/models/routing_number_type_enum.rb +69 -0
- data/lib/modern_treasury/models/status11_enum.rb +40 -0
- data/lib/modern_treasury/models/status12_enum.rb +40 -0
- data/lib/modern_treasury/models/status15_enum.rb +41 -0
- data/lib/modern_treasury/models/status16_enum.rb +41 -0
- data/lib/modern_treasury/models/status17_enum.rb +45 -0
- data/lib/modern_treasury/models/status18_enum.rb +74 -0
- data/lib/modern_treasury/models/status19_enum.rb +52 -0
- data/lib/modern_treasury/models/status1_enum.rb +40 -0
- data/lib/modern_treasury/models/status20_enum.rb +40 -0
- data/lib/modern_treasury/models/status21_enum.rb +40 -0
- data/lib/modern_treasury/models/status22_enum.rb +40 -0
- data/lib/modern_treasury/models/status24_enum.rb +72 -0
- data/lib/modern_treasury/models/status2_enum.rb +41 -0
- data/lib/modern_treasury/models/status3_enum.rb +72 -0
- data/lib/modern_treasury/models/status4_enum.rb +52 -0
- data/lib/modern_treasury/models/status5_enum.rb +48 -0
- data/lib/modern_treasury/models/status6_enum.rb +49 -0
- data/lib/modern_treasury/models/status7_enum.rb +37 -0
- data/lib/modern_treasury/models/status8_enum.rb +37 -0
- data/lib/modern_treasury/models/status9_enum.rb +41 -0
- data/lib/modern_treasury/models/status_enum.rb +45 -0
- data/lib/modern_treasury/models/subtype_enum.rb +71 -0
- data/lib/modern_treasury/models/supported_payment_type_enum.rb +96 -0
- data/lib/modern_treasury/models/transactable_type_enum.rb +53 -0
- data/lib/modern_treasury/models/transaction.rb +311 -0
- data/lib/modern_treasury/models/transaction_line_item.rb +211 -0
- data/lib/modern_treasury/models/type10_enum.rb +64 -0
- data/lib/modern_treasury/models/type11_enum.rb +97 -0
- data/lib/modern_treasury/models/type12_enum.rb +37 -0
- data/lib/modern_treasury/models/type13_enum.rb +96 -0
- data/lib/modern_treasury/models/type14_enum.rb +64 -0
- data/lib/modern_treasury/models/type16_enum.rb +36 -0
- data/lib/modern_treasury/models/type1_enum.rb +97 -0
- data/lib/modern_treasury/models/type4_enum.rb +65 -0
- data/lib/modern_treasury/models/type5_enum.rb +97 -0
- data/lib/modern_treasury/models/type6_enum.rb +77 -0
- data/lib/modern_treasury/models/type_enum.rb +37 -0
- data/lib/modern_treasury/models/vendor_code_type1_enum.rb +111 -0
- data/lib/modern_treasury/models/vendor_code_type_enum.rb +108 -0
- data/lib/modern_treasury/models/verification_status1_enum.rb +44 -0
- data/lib/modern_treasury/models/verification_status_enum.rb +40 -0
- data/lib/modern_treasury/models/virtual_account.rb +247 -0
- data/lib/modern_treasury/models/virtual_account_create_request.rb +172 -0
- data/lib/modern_treasury/models/virtual_account_update_request.rb +85 -0
- data/lib/modern_treasury/utilities/date_time_helper.rb +11 -0
- data/lib/modern_treasury/utilities/file_wrapper.rb +28 -0
- data/lib/modern_treasury/utilities/union_type_lookup.rb +32 -0
- data/lib/modern_treasury.rb +316 -0
- data/test/controllers/controller_test_base.rb +23 -0
- data/test/controllers/test_account_collection_flow_controller.rb +64 -0
- data/test/controllers/test_connection_controller.rb +41 -0
- data/test/controllers/test_counterparty_controller.rb +65 -0
- data/test/controllers/test_document_controller.rb +41 -0
- data/test/controllers/test_event_controller.rb +46 -0
- data/test/controllers/test_expected_payment_controller.rb +71 -0
- data/test/controllers/test_external_account_controller.rb +63 -0
- data/test/controllers/test_incoming_payment_detail_controller.rb +68 -0
- data/test/controllers/test_internal_account_controller.rb +65 -0
- data/test/controllers/test_invoice_controller.rb +56 -0
- data/test/controllers/test_ledger_account_category_controller.rb +67 -0
- data/test/controllers/test_ledger_account_controller.rb +70 -0
- data/test/controllers/test_ledger_account_payout_controller.rb +62 -0
- data/test/controllers/test_ledger_account_statement_controller.rb +36 -0
- data/test/controllers/test_ledger_controller.rb +59 -0
- data/test/controllers/test_ledger_entry_controller.rb +65 -0
- data/test/controllers/test_ledger_event_handler_controller.rb +63 -0
- data/test/controllers/test_ledger_transaction_controller.rb +112 -0
- data/test/controllers/test_ledgerable_event_controller.rb +36 -0
- data/test/controllers/test_paper_item_controller.rb +43 -0
- data/test/controllers/test_payment_flow_controller.rb +67 -0
- data/test/controllers/test_payment_order_controller.rb +76 -0
- data/test/controllers/test_payment_reference_controller.rb +43 -0
- data/test/controllers/test_ping_controller.rb +31 -0
- data/test/controllers/test_return_controller.rb +64 -0
- data/test/controllers/test_transaction_controller.rb +56 -0
- data/test/controllers/test_virtual_account_controller.rb +63 -0
- data/test/http_response_catcher.rb +19 -0
- 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,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
|