apimatic-plaid-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 +192 -0
- data/bin/console +15 -0
- data/lib/plaid/api_helper.rb +10 -0
- data/lib/plaid/apis/accounts_api.rb +70 -0
- data/lib/plaid/apis/application_api.rb +35 -0
- data/lib/plaid/apis/asset_report_api.rb +301 -0
- data/lib/plaid/apis/auth_api.rb +43 -0
- data/lib/plaid/apis/bank_transfer_api.rb +287 -0
- data/lib/plaid/apis/base_api.rb +65 -0
- data/lib/plaid/apis/categories_api.rb +34 -0
- data/lib/plaid/apis/deposit_switch_api.rb +106 -0
- data/lib/plaid/apis/employers_api.rb +40 -0
- data/lib/plaid/apis/identity_api.rb +38 -0
- data/lib/plaid/apis/income_api.rb +220 -0
- data/lib/plaid/apis/institutions_api.rb +92 -0
- data/lib/plaid/apis/investments_api.rb +61 -0
- data/lib/plaid/apis/item_api.rb +267 -0
- data/lib/plaid/apis/liabilities_api.rb +47 -0
- data/lib/plaid/apis/link_api.rb +62 -0
- data/lib/plaid/apis/payment_initiation_api.rb +236 -0
- data/lib/plaid/apis/processor_api.rb +189 -0
- data/lib/plaid/apis/sandbox_api.rb +302 -0
- data/lib/plaid/apis/signal_api.rb +97 -0
- data/lib/plaid/apis/transactions_api.rb +111 -0
- data/lib/plaid/apis/transfer_api.rb +214 -0
- data/lib/plaid/apis/webhook_verification_key_api.rb +36 -0
- data/lib/plaid/client.rb +208 -0
- data/lib/plaid/configuration.rb +198 -0
- data/lib/plaid/exceptions/api_exception.rb +21 -0
- data/lib/plaid/exceptions/error_error_exception.rb +110 -0
- data/lib/plaid/http/api_response.rb +19 -0
- data/lib/plaid/http/auth/plaid_client_id.rb +52 -0
- data/lib/plaid/http/auth/plaid_secret.rb +52 -0
- data/lib/plaid/http/auth/plaid_version.rb +52 -0
- data/lib/plaid/http/http_call_back.rb +10 -0
- data/lib/plaid/http/http_method_enum.rb +10 -0
- data/lib/plaid/http/http_request.rb +10 -0
- data/lib/plaid/http/http_response.rb +10 -0
- data/lib/plaid/http/proxy_settings.rb +22 -0
- data/lib/plaid/logging/configuration/api_logging_configuration.rb +186 -0
- data/lib/plaid/logging/sdk_logger.rb +17 -0
- data/lib/plaid/models/account.rb +185 -0
- data/lib/plaid/models/account_access.rb +89 -0
- data/lib/plaid/models/account_assets.rb +258 -0
- data/lib/plaid/models/account_balance.rb +189 -0
- data/lib/plaid/models/account_filter.rb +107 -0
- data/lib/plaid/models/account_filters_response.rb +106 -0
- data/lib/plaid/models/account_identity.rb +206 -0
- data/lib/plaid/models/account_selection_cardinality.rb +44 -0
- data/lib/plaid/models/account_subtype.rb +319 -0
- data/lib/plaid/models/account_subtype1.rb +36 -0
- data/lib/plaid/models/account_type.rb +57 -0
- data/lib/plaid/models/accounts_balance_get_request.rb +108 -0
- data/lib/plaid/models/accounts_balance_get_request_options.rb +111 -0
- data/lib/plaid/models/accounts_get_request.rb +107 -0
- data/lib/plaid/models/accounts_get_request_options.rb +76 -0
- data/lib/plaid/models/accounts_get_response.rb +104 -0
- data/lib/plaid/models/ach_class.rb +99 -0
- data/lib/plaid/models/address.rb +84 -0
- data/lib/plaid/models/address1.rb +116 -0
- data/lib/plaid/models/address2.rb +155 -0
- data/lib/plaid/models/address_data.rb +114 -0
- data/lib/plaid/models/address_data1.rb +120 -0
- data/lib/plaid/models/address_data_nullable.rb +114 -0
- data/lib/plaid/models/address_nullable.rb +84 -0
- data/lib/plaid/models/application.rb +131 -0
- data/lib/plaid/models/application_get_request.rb +98 -0
- data/lib/plaid/models/application_get_response.rb +84 -0
- data/lib/plaid/models/apr.rb +109 -0
- data/lib/plaid/models/apr_type.rb +44 -0
- data/lib/plaid/models/asset_report.rb +145 -0
- data/lib/plaid/models/asset_report_audit_copy_create_request.rb +111 -0
- data/lib/plaid/models/asset_report_audit_copy_create_response.rb +87 -0
- data/lib/plaid/models/asset_report_audit_copy_get_request.rb +101 -0
- data/lib/plaid/models/asset_report_audit_copy_remove_request.rb +101 -0
- data/lib/plaid/models/asset_report_audit_copy_remove_response.rb +85 -0
- data/lib/plaid/models/asset_report_create_request.rb +125 -0
- data/lib/plaid/models/asset_report_create_request_options.rb +104 -0
- data/lib/plaid/models/asset_report_create_response.rb +100 -0
- data/lib/plaid/models/asset_report_filter_request.rb +111 -0
- data/lib/plaid/models/asset_report_filter_response.rb +100 -0
- data/lib/plaid/models/asset_report_get_request.rb +112 -0
- data/lib/plaid/models/asset_report_get_response.rb +103 -0
- data/lib/plaid/models/asset_report_item.rb +130 -0
- data/lib/plaid/models/asset_report_pdf_get_request.rb +101 -0
- data/lib/plaid/models/asset_report_refresh_request.rb +127 -0
- data/lib/plaid/models/asset_report_refresh_request_options.rb +104 -0
- data/lib/plaid/models/asset_report_refresh_response.rb +100 -0
- data/lib/plaid/models/asset_report_remove_request.rb +101 -0
- data/lib/plaid/models/asset_report_remove_response.rb +85 -0
- data/lib/plaid/models/asset_report_transaction.rb +296 -0
- data/lib/plaid/models/asset_report_user.rb +153 -0
- data/lib/plaid/models/assets_error_webhook.rb +107 -0
- data/lib/plaid/models/assets_product_ready_webhook.rb +97 -0
- data/lib/plaid/models/auth_get_numbers.rb +141 -0
- data/lib/plaid/models/auth_get_request.rb +107 -0
- data/lib/plaid/models/auth_get_request_options.rb +78 -0
- data/lib/plaid/models/auth_get_response.rb +116 -0
- data/lib/plaid/models/auth_metadata.rb +77 -0
- data/lib/plaid/models/auth_supported_methods.rb +94 -0
- data/lib/plaid/models/automatically_verified_webhook.rb +102 -0
- data/lib/plaid/models/available_balance.rb +39 -0
- data/lib/plaid/models/bank_initiated_return_risk.rb +96 -0
- data/lib/plaid/models/bank_transfer.rb +263 -0
- data/lib/plaid/models/bank_transfer_balance.rb +85 -0
- data/lib/plaid/models/bank_transfer_balance_get_request.rb +103 -0
- data/lib/plaid/models/bank_transfer_balance_get_response.rb +97 -0
- data/lib/plaid/models/bank_transfer_cancel_request.rb +99 -0
- data/lib/plaid/models/bank_transfer_cancel_response.rb +76 -0
- data/lib/plaid/models/bank_transfer_create_request.rb +254 -0
- data/lib/plaid/models/bank_transfer_create_response.rb +84 -0
- data/lib/plaid/models/bank_transfer_direction.rb +37 -0
- data/lib/plaid/models/bank_transfer_direction1.rb +37 -0
- data/lib/plaid/models/bank_transfer_event.rb +211 -0
- data/lib/plaid/models/bank_transfer_event_list_request.rb +229 -0
- data/lib/plaid/models/bank_transfer_event_list_response.rb +94 -0
- data/lib/plaid/models/bank_transfer_event_sync_request.rb +110 -0
- data/lib/plaid/models/bank_transfer_event_sync_response.rb +94 -0
- data/lib/plaid/models/bank_transfer_event_type.rb +63 -0
- data/lib/plaid/models/bank_transfer_failure.rb +93 -0
- data/lib/plaid/models/bank_transfer_get_request.rb +99 -0
- data/lib/plaid/models/bank_transfer_get_response.rb +84 -0
- data/lib/plaid/models/bank_transfer_list_request.rb +175 -0
- data/lib/plaid/models/bank_transfer_list_response.rb +93 -0
- data/lib/plaid/models/bank_transfer_migrate_account_request.rb +117 -0
- data/lib/plaid/models/bank_transfer_migrate_account_response.rb +93 -0
- data/lib/plaid/models/bank_transfer_network.rb +41 -0
- data/lib/plaid/models/bank_transfer_receiver_details.rb +79 -0
- data/lib/plaid/models/bank_transfer_status.rb +48 -0
- data/lib/plaid/models/bank_transfer_sweep.rb +129 -0
- data/lib/plaid/models/bank_transfer_sweep_account.rb +84 -0
- data/lib/plaid/models/bank_transfer_sweep_get_request.rb +113 -0
- data/lib/plaid/models/bank_transfer_sweep_get_response.rb +85 -0
- data/lib/plaid/models/bank_transfer_sweep_list_request.rb +164 -0
- data/lib/plaid/models/bank_transfer_sweep_list_response.rb +94 -0
- data/lib/plaid/models/bank_transfer_type.rb +38 -0
- data/lib/plaid/models/bank_transfer_type1.rb +38 -0
- data/lib/plaid/models/bank_transfer_user.rb +100 -0
- data/lib/plaid/models/bank_transfers_events_update_webhook.rb +83 -0
- data/lib/plaid/models/base_model.rb +110 -0
- data/lib/plaid/models/branch.rb +49 -0
- data/lib/plaid/models/buy_type.rb +165 -0
- data/lib/plaid/models/canonical_description.rb +92 -0
- data/lib/plaid/models/cash_type.rb +305 -0
- data/lib/plaid/models/categories_get_response.rb +93 -0
- data/lib/plaid/models/category.rb +93 -0
- data/lib/plaid/models/cause.rb +88 -0
- data/lib/plaid/models/code.rb +56 -0
- data/lib/plaid/models/confidence.rb +45 -0
- data/lib/plaid/models/connected_application.rb +177 -0
- data/lib/plaid/models/country_code.rb +56 -0
- data/lib/plaid/models/country_code1.rb +36 -0
- data/lib/plaid/models/credit.rb +80 -0
- data/lib/plaid/models/credit_account.rb +83 -0
- data/lib/plaid/models/credit_card_liability.rb +164 -0
- data/lib/plaid/models/credit_filter.rb +78 -0
- data/lib/plaid/models/currency.rb +37 -0
- data/lib/plaid/models/customer_initiated_return_risk.rb +100 -0
- data/lib/plaid/models/decision.rb +48 -0
- data/lib/plaid/models/deductions.rb +103 -0
- data/lib/plaid/models/default_update_webhook.rb +119 -0
- data/lib/plaid/models/deposit_switch_address_data.rb +110 -0
- data/lib/plaid/models/deposit_switch_alt_create_request.rb +132 -0
- data/lib/plaid/models/deposit_switch_alt_create_response.rb +87 -0
- data/lib/plaid/models/deposit_switch_create_request.rb +133 -0
- data/lib/plaid/models/deposit_switch_create_request_options.rb +99 -0
- data/lib/plaid/models/deposit_switch_create_response.rb +87 -0
- data/lib/plaid/models/deposit_switch_get_request.rb +99 -0
- data/lib/plaid/models/deposit_switch_get_response.rb +277 -0
- data/lib/plaid/models/deposit_switch_state_update_webhook.rb +116 -0
- data/lib/plaid/models/deposit_switch_target_account.rb +106 -0
- data/lib/plaid/models/deposit_switch_target_user.rb +121 -0
- data/lib/plaid/models/deposit_switch_token_create_request.rb +100 -0
- data/lib/plaid/models/deposit_switch_token_create_response.rb +101 -0
- data/lib/plaid/models/depository.rb +80 -0
- data/lib/plaid/models/depository_account.rb +147 -0
- data/lib/plaid/models/depository_filter.rb +78 -0
- data/lib/plaid/models/distribution_details.rb +126 -0
- data/lib/plaid/models/document_metadata.rb +96 -0
- data/lib/plaid/models/earnings.rb +104 -0
- data/lib/plaid/models/earnings_total.rb +133 -0
- data/lib/plaid/models/email.rb +91 -0
- data/lib/plaid/models/employee.rb +107 -0
- data/lib/plaid/models/employee2.rb +85 -0
- data/lib/plaid/models/employee_income_summary_field_string.rb +90 -0
- data/lib/plaid/models/employer.rb +102 -0
- data/lib/plaid/models/employer2.rb +86 -0
- data/lib/plaid/models/employer3.rb +74 -0
- data/lib/plaid/models/employer_income_summary_field_string.rb +90 -0
- data/lib/plaid/models/employers_search_request.rb +107 -0
- data/lib/plaid/models/employers_search_response.rb +93 -0
- data/lib/plaid/models/employment_details.rb +88 -0
- data/lib/plaid/models/error.rb +172 -0
- data/lib/plaid/models/error_type.rb +76 -0
- data/lib/plaid/models/external_payment_refund_details.rb +92 -0
- data/lib/plaid/models/external_payment_schedule_base.rb +147 -0
- data/lib/plaid/models/external_payment_schedule_get.rb +140 -0
- data/lib/plaid/models/external_payment_schedule_request.rb +144 -0
- data/lib/plaid/models/fee_type.rb +287 -0
- data/lib/plaid/models/health_incident.rb +130 -0
- data/lib/plaid/models/historical_balance.rb +118 -0
- data/lib/plaid/models/historical_update_webhook.rb +124 -0
- data/lib/plaid/models/holding.rb +169 -0
- data/lib/plaid/models/holdings_default_update_webhook.rb +129 -0
- data/lib/plaid/models/holdings_override.rb +133 -0
- data/lib/plaid/models/identity_get_request.rb +107 -0
- data/lib/plaid/models/identity_get_request_options.rb +78 -0
- data/lib/plaid/models/identity_get_response.rb +101 -0
- data/lib/plaid/models/incident_update.rb +106 -0
- data/lib/plaid/models/income_breakdown.rb +106 -0
- data/lib/plaid/models/income_override.rb +84 -0
- data/lib/plaid/models/income_summary.rb +137 -0
- data/lib/plaid/models/income_summary_field_number.rb +90 -0
- data/lib/plaid/models/income_summary_field_string.rb +90 -0
- data/lib/plaid/models/income_verification_create_request.rb +99 -0
- data/lib/plaid/models/income_verification_create_response.rb +88 -0
- data/lib/plaid/models/income_verification_documents_download_request.rb +114 -0
- data/lib/plaid/models/income_verification_documents_download_response.rb +73 -0
- data/lib/plaid/models/income_verification_paystub_get_request.rb +114 -0
- data/lib/plaid/models/income_verification_paystub_get_response.rb +100 -0
- data/lib/plaid/models/income_verification_paystubs_get_request.rb +114 -0
- data/lib/plaid/models/income_verification_paystubs_get_response.rb +133 -0
- data/lib/plaid/models/income_verification_precheck_employer.rb +88 -0
- data/lib/plaid/models/income_verification_precheck_military_info.rb +90 -0
- data/lib/plaid/models/income_verification_precheck_request.rb +141 -0
- data/lib/plaid/models/income_verification_precheck_response.rb +101 -0
- data/lib/plaid/models/income_verification_precheck_user.rb +110 -0
- data/lib/plaid/models/income_verification_refresh_request.rb +114 -0
- data/lib/plaid/models/income_verification_refresh_response.rb +90 -0
- data/lib/plaid/models/income_verification_status_webhook.rb +117 -0
- data/lib/plaid/models/income_verification_summary_get_request.rb +114 -0
- data/lib/plaid/models/income_verification_summary_get_response.rb +109 -0
- data/lib/plaid/models/income_verification_taxforms_get_request.rb +114 -0
- data/lib/plaid/models/income_verification_taxforms_get_response.rb +129 -0
- data/lib/plaid/models/income_verification_webhook_status.rb +72 -0
- data/lib/plaid/models/inflow_model.rb +136 -0
- data/lib/plaid/models/initial_update_webhook.rb +121 -0
- data/lib/plaid/models/institution.rb +213 -0
- data/lib/plaid/models/institution_status.rb +211 -0
- data/lib/plaid/models/institutions_get_by_id_request.rb +120 -0
- data/lib/plaid/models/institutions_get_by_id_request_options.rb +131 -0
- data/lib/plaid/models/institutions_get_by_id_response.rb +85 -0
- data/lib/plaid/models/institutions_get_request.rb +125 -0
- data/lib/plaid/models/institutions_get_request_options.rb +154 -0
- data/lib/plaid/models/institutions_get_response.rb +102 -0
- data/lib/plaid/models/institutions_search_account_filter.rb +105 -0
- data/lib/plaid/models/institutions_search_payment_initiation_options.rb +77 -0
- data/lib/plaid/models/institutions_search_request.rb +132 -0
- data/lib/plaid/models/institutions_search_request_options.rb +136 -0
- data/lib/plaid/models/institutions_search_response.rb +94 -0
- data/lib/plaid/models/investment.rb +80 -0
- data/lib/plaid/models/investment_account_subtype.rb +501 -0
- data/lib/plaid/models/investment_filter.rb +78 -0
- data/lib/plaid/models/investment_holdings_get_request_options.rb +78 -0
- data/lib/plaid/models/investment_transaction.rb +231 -0
- data/lib/plaid/models/investments_holdings_get_request.rb +109 -0
- data/lib/plaid/models/investments_holdings_get_response.rb +142 -0
- data/lib/plaid/models/investments_transactions_get_request.rb +130 -0
- data/lib/plaid/models/investments_transactions_get_request_options.rb +96 -0
- data/lib/plaid/models/investments_transactions_get_response.rb +156 -0
- data/lib/plaid/models/investments_transactions_override.rb +151 -0
- data/lib/plaid/models/item.rb +173 -0
- data/lib/plaid/models/item_access_token_invalidate_request.rb +98 -0
- data/lib/plaid/models/item_access_token_invalidate_response.rb +86 -0
- data/lib/plaid/models/item_application_list_request.rb +100 -0
- data/lib/plaid/models/item_application_list_response.rb +95 -0
- data/lib/plaid/models/item_application_list_user_auth.rb +93 -0
- data/lib/plaid/models/item_application_scopes_update_request.rb +143 -0
- data/lib/plaid/models/item_application_scopes_update_response.rb +77 -0
- data/lib/plaid/models/item_error_webhook.rb +105 -0
- data/lib/plaid/models/item_get_request.rb +97 -0
- data/lib/plaid/models/item_get_response.rb +95 -0
- data/lib/plaid/models/item_import_request.rb +117 -0
- data/lib/plaid/models/item_import_request_options.rb +76 -0
- data/lib/plaid/models/item_import_request_user_auth.rb +83 -0
- data/lib/plaid/models/item_import_response.rb +84 -0
- data/lib/plaid/models/item_product_ready_webhook.rb +106 -0
- data/lib/plaid/models/item_public_token_create_request.rb +98 -0
- data/lib/plaid/models/item_public_token_create_response.rb +107 -0
- data/lib/plaid/models/item_public_token_exchange_request.rb +99 -0
- data/lib/plaid/models/item_public_token_exchange_response.rb +95 -0
- data/lib/plaid/models/item_remove_request.rb +97 -0
- data/lib/plaid/models/item_remove_response.rb +76 -0
- data/lib/plaid/models/item_status.rb +99 -0
- data/lib/plaid/models/item_status_investments.rb +114 -0
- data/lib/plaid/models/item_status_last_webhook.rb +98 -0
- data/lib/plaid/models/item_status_nullable.rb +99 -0
- data/lib/plaid/models/item_status_transactions.rb +114 -0
- data/lib/plaid/models/item_webhook_update_request.rb +107 -0
- data/lib/plaid/models/item_webhook_update_response.rb +85 -0
- data/lib/plaid/models/jwk_public_key.rb +150 -0
- data/lib/plaid/models/jwt_header.rb +72 -0
- data/lib/plaid/models/liabilities_default_update_webhook.rb +135 -0
- data/lib/plaid/models/liabilities_get_request.rb +108 -0
- data/lib/plaid/models/liabilities_get_request_options.rb +79 -0
- data/lib/plaid/models/liabilities_get_response.rb +111 -0
- data/lib/plaid/models/liabilities_object.rb +121 -0
- data/lib/plaid/models/liability_override.rb +326 -0
- data/lib/plaid/models/link_token_account_filters.rb +120 -0
- data/lib/plaid/models/link_token_create_request.rb +378 -0
- data/lib/plaid/models/link_token_create_request_account_subtypes.rb +118 -0
- data/lib/plaid/models/link_token_create_request_auth.rb +77 -0
- data/lib/plaid/models/link_token_create_request_deposit_switch.rb +77 -0
- data/lib/plaid/models/link_token_create_request_income_verification.rb +94 -0
- data/lib/plaid/models/link_token_create_request_payment_initiation.rb +77 -0
- data/lib/plaid/models/link_token_create_request_update.rb +82 -0
- data/lib/plaid/models/link_token_create_request_user.rb +201 -0
- data/lib/plaid/models/link_token_create_response.rb +107 -0
- data/lib/plaid/models/link_token_eu_config.rb +75 -0
- data/lib/plaid/models/link_token_get_metadata_response.rb +140 -0
- data/lib/plaid/models/link_token_get_request.rb +97 -0
- data/lib/plaid/models/link_token_get_response.rb +132 -0
- data/lib/plaid/models/loan.rb +80 -0
- data/lib/plaid/models/loan_account.rb +173 -0
- data/lib/plaid/models/loan_filter.rb +78 -0
- data/lib/plaid/models/meta.rb +90 -0
- data/lib/plaid/models/mfa.rb +124 -0
- data/lib/plaid/models/mortgage_interest_rate.rb +86 -0
- data/lib/plaid/models/mortgage_liability.rb +295 -0
- data/lib/plaid/models/mortgage_property_address.rb +114 -0
- data/lib/plaid/models/net_pay.rb +96 -0
- data/lib/plaid/models/new_accounts_available_webhook.rb +115 -0
- data/lib/plaid/models/new_payment_status.rb +73 -0
- data/lib/plaid/models/numbers.rb +157 -0
- data/lib/plaid/models/numbers_ach.rb +113 -0
- data/lib/plaid/models/numbers_ach_nullable.rb +112 -0
- data/lib/plaid/models/numbers_bacs.rb +92 -0
- data/lib/plaid/models/numbers_bacs_nullable.rb +91 -0
- data/lib/plaid/models/numbers_eft.rb +101 -0
- data/lib/plaid/models/numbers_eft_nullable.rb +100 -0
- data/lib/plaid/models/numbers_international.rb +91 -0
- data/lib/plaid/models/numbers_international_nullable.rb +90 -0
- data/lib/plaid/models/old_payment_status.rb +73 -0
- data/lib/plaid/models/override_account_type.rb +56 -0
- data/lib/plaid/models/override_accounts.rb +230 -0
- data/lib/plaid/models/owner.rb +141 -0
- data/lib/plaid/models/owner_override.rb +131 -0
- data/lib/plaid/models/pay.rb +88 -0
- data/lib/plaid/models/pay_frequency.rb +90 -0
- data/lib/plaid/models/pay_frequency1.rb +45 -0
- data/lib/plaid/models/pay_period_details.rb +119 -0
- data/lib/plaid/models/payment_amount.rb +84 -0
- data/lib/plaid/models/payment_channel.rb +43 -0
- data/lib/plaid/models/payment_initiation_address.rb +103 -0
- data/lib/plaid/models/payment_initiation_metadata.rb +117 -0
- data/lib/plaid/models/payment_initiation_optional_restriction_bacs.rb +85 -0
- data/lib/plaid/models/payment_initiation_payment.rb +242 -0
- data/lib/plaid/models/payment_initiation_payment_create_request.rb +140 -0
- data/lib/plaid/models/payment_initiation_payment_create_response.rb +95 -0
- data/lib/plaid/models/payment_initiation_payment_get_request.rb +98 -0
- data/lib/plaid/models/payment_initiation_payment_get_response.rb +254 -0
- data/lib/plaid/models/payment_initiation_payment_list_request.rb +124 -0
- data/lib/plaid/models/payment_initiation_payment_list_response.rb +115 -0
- data/lib/plaid/models/payment_initiation_payment_reverse_request.rb +98 -0
- data/lib/plaid/models/payment_initiation_payment_reverse_response.rb +99 -0
- data/lib/plaid/models/payment_initiation_payment_token_create_request.rb +98 -0
- data/lib/plaid/models/payment_initiation_payment_token_create_response.rb +107 -0
- data/lib/plaid/models/payment_initiation_recipient.rb +131 -0
- data/lib/plaid/models/payment_initiation_recipient_create_request.rb +133 -0
- data/lib/plaid/models/payment_initiation_recipient_create_response.rb +85 -0
- data/lib/plaid/models/payment_initiation_recipient_get_request.rb +98 -0
- data/lib/plaid/models/payment_initiation_recipient_get_response.rb +144 -0
- data/lib/plaid/models/payment_initiation_recipient_list_request.rb +89 -0
- data/lib/plaid/models/payment_initiation_recipient_list_response.rb +94 -0
- data/lib/plaid/models/payment_initiation_refund.rb +116 -0
- data/lib/plaid/models/payment_initiation_standing_order_metadata.rb +108 -0
- data/lib/plaid/models/payment_meta.rb +156 -0
- data/lib/plaid/models/payment_options.rb +122 -0
- data/lib/plaid/models/payment_schedule_interval.rb +36 -0
- data/lib/plaid/models/payment_status_update_webhook.rb +234 -0
- data/lib/plaid/models/paystub.rb +186 -0
- data/lib/plaid/models/paystub_deduction.rb +95 -0
- data/lib/plaid/models/paystub_details.rb +127 -0
- data/lib/plaid/models/paystub_override.rb +116 -0
- data/lib/plaid/models/paystub_ytd_details.rb +90 -0
- data/lib/plaid/models/pending_expiration_webhook.rb +112 -0
- data/lib/plaid/models/personal_finance_category.rb +87 -0
- data/lib/plaid/models/personal_finance_category2.rb +83 -0
- data/lib/plaid/models/phone_number.rb +91 -0
- data/lib/plaid/models/processor.rb +116 -0
- data/lib/plaid/models/processor_apex_processor_token_create_request.rb +108 -0
- data/lib/plaid/models/processor_auth_get_request.rb +100 -0
- data/lib/plaid/models/processor_auth_get_response.rb +98 -0
- data/lib/plaid/models/processor_balance_get_request.rb +111 -0
- data/lib/plaid/models/processor_balance_get_request_options.rb +98 -0
- data/lib/plaid/models/processor_balance_get_response.rb +85 -0
- data/lib/plaid/models/processor_bank_transfer_create_request.rb +248 -0
- data/lib/plaid/models/processor_bank_transfer_create_response.rb +84 -0
- data/lib/plaid/models/processor_identity_get_request.rb +101 -0
- data/lib/plaid/models/processor_identity_get_response.rb +85 -0
- data/lib/plaid/models/processor_number.rb +111 -0
- data/lib/plaid/models/processor_stripe_bank_account_token_create_request.rb +108 -0
- data/lib/plaid/models/processor_stripe_bank_account_token_create_response.rb +87 -0
- data/lib/plaid/models/processor_token_create_request.rb +116 -0
- data/lib/plaid/models/processor_token_create_response.rb +87 -0
- data/lib/plaid/models/product_access.rb +112 -0
- data/lib/plaid/models/product_data_type.rb +40 -0
- data/lib/plaid/models/product_status.rb +106 -0
- data/lib/plaid/models/products.rb +86 -0
- data/lib/plaid/models/projected_income_summary_field_number.rb +90 -0
- data/lib/plaid/models/pslf_status.rb +103 -0
- data/lib/plaid/models/recaptcha_required_error.rb +143 -0
- data/lib/plaid/models/recipient_bacs.rb +87 -0
- data/lib/plaid/models/recipient_bacs_nullable.rb +85 -0
- data/lib/plaid/models/refresh_interval.rb +42 -0
- data/lib/plaid/models/requested_scopes.rb +124 -0
- data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_request.rb +97 -0
- data/lib/plaid/models/sandbox_bank_transfer_fire_webhook_response.rb +76 -0
- data/lib/plaid/models/sandbox_bank_transfer_simulate_request.rb +128 -0
- data/lib/plaid/models/sandbox_bank_transfer_simulate_response.rb +76 -0
- data/lib/plaid/models/sandbox_income_fire_webhook_request.rb +125 -0
- data/lib/plaid/models/sandbox_income_fire_webhook_response.rb +77 -0
- data/lib/plaid/models/sandbox_item_fire_webhook_request.rb +109 -0
- data/lib/plaid/models/sandbox_item_fire_webhook_response.rb +85 -0
- data/lib/plaid/models/sandbox_item_reset_login_request.rb +98 -0
- data/lib/plaid/models/sandbox_item_reset_login_response.rb +85 -0
- data/lib/plaid/models/sandbox_item_set_verification_status_request.rb +118 -0
- data/lib/plaid/models/sandbox_item_set_verification_status_response.rb +77 -0
- data/lib/plaid/models/sandbox_oauth_select_accounts_request.rb +83 -0
- data/lib/plaid/models/sandbox_processor_token_create_request.rb +111 -0
- data/lib/plaid/models/sandbox_processor_token_create_request_options.rb +92 -0
- data/lib/plaid/models/sandbox_processor_token_create_response.rb +85 -0
- data/lib/plaid/models/sandbox_public_token_create_request.rb +123 -0
- data/lib/plaid/models/sandbox_public_token_create_request_options.rb +116 -0
- data/lib/plaid/models/sandbox_public_token_create_request_options_transactions.rb +88 -0
- data/lib/plaid/models/sandbox_public_token_create_response.rb +86 -0
- data/lib/plaid/models/sandbox_transfer_simulate_request.rb +124 -0
- data/lib/plaid/models/sandbox_transfer_simulate_response.rb +76 -0
- data/lib/plaid/models/scopes.rb +109 -0
- data/lib/plaid/models/scopes_context.rb +38 -0
- data/lib/plaid/models/scopes_nullable.rb +109 -0
- data/lib/plaid/models/security.rb +252 -0
- data/lib/plaid/models/security_override.rb +131 -0
- data/lib/plaid/models/sell_type.rb +105 -0
- data/lib/plaid/models/sender_bacs_nullable.rb +85 -0
- data/lib/plaid/models/servicer_address_data.rb +117 -0
- data/lib/plaid/models/signal_decision_report_request.rb +110 -0
- data/lib/plaid/models/signal_decision_report_response.rb +77 -0
- data/lib/plaid/models/signal_evaluate_core_attributes.rb +662 -0
- data/lib/plaid/models/signal_evaluate_device.rb +90 -0
- data/lib/plaid/models/signal_evaluate_request.rb +163 -0
- data/lib/plaid/models/signal_evaluate_response.rb +99 -0
- data/lib/plaid/models/signal_evaluate_scores.rb +108 -0
- data/lib/plaid/models/signal_person_name.rb +122 -0
- data/lib/plaid/models/signal_return_report_request.rb +110 -0
- data/lib/plaid/models/signal_return_report_response.rb +77 -0
- data/lib/plaid/models/signal_user.rb +111 -0
- data/lib/plaid/models/standalone_account_type.rb +115 -0
- data/lib/plaid/models/standalone_currency_code_list.rb +86 -0
- data/lib/plaid/models/standalone_investment_transaction_type.rb +119 -0
- data/lib/plaid/models/state.rb +49 -0
- data/lib/plaid/models/status.rb +41 -0
- data/lib/plaid/models/status1.rb +48 -0
- data/lib/plaid/models/status2.rb +49 -0
- data/lib/plaid/models/status3.rb +73 -0
- data/lib/plaid/models/status_breakdown.rb +111 -0
- data/lib/plaid/models/student_loan.rb +367 -0
- data/lib/plaid/models/student_loan_repayment_model.rb +95 -0
- data/lib/plaid/models/student_loan_status.rb +86 -0
- data/lib/plaid/models/student_repayment_plan.rb +84 -0
- data/lib/plaid/models/subtype.rb +209 -0
- data/lib/plaid/models/switch_method.rb +45 -0
- data/lib/plaid/models/taxform.rb +84 -0
- data/lib/plaid/models/taxpayer_id.rb +89 -0
- data/lib/plaid/models/total.rb +110 -0
- data/lib/plaid/models/transaction.rb +426 -0
- data/lib/plaid/models/transaction_base.rb +285 -0
- data/lib/plaid/models/transaction_code.rb +87 -0
- data/lib/plaid/models/transaction_data.rb +112 -0
- data/lib/plaid/models/transaction_location.rb +143 -0
- data/lib/plaid/models/transaction_override.rb +119 -0
- data/lib/plaid/models/transaction_type.rb +48 -0
- data/lib/plaid/models/transactions_get_request.rb +128 -0
- data/lib/plaid/models/transactions_get_request_options.rb +139 -0
- data/lib/plaid/models/transactions_get_response.rb +138 -0
- data/lib/plaid/models/transactions_refresh_request.rb +98 -0
- data/lib/plaid/models/transactions_refresh_response.rb +77 -0
- data/lib/plaid/models/transactions_removed_webhook.rb +119 -0
- data/lib/plaid/models/transactions_update_investments_webhook.rb +134 -0
- data/lib/plaid/models/transfer.rb +229 -0
- data/lib/plaid/models/transfer_authorization.rb +126 -0
- data/lib/plaid/models/transfer_authorization_create_request.rb +197 -0
- data/lib/plaid/models/transfer_authorization_create_response.rb +86 -0
- data/lib/plaid/models/transfer_authorization_decision_rationale.rb +96 -0
- data/lib/plaid/models/transfer_authorization_device.rb +86 -0
- data/lib/plaid/models/transfer_authorization_proposed_transfer.rb +150 -0
- data/lib/plaid/models/transfer_cancel_request.rb +97 -0
- data/lib/plaid/models/transfer_cancel_response.rb +76 -0
- data/lib/plaid/models/transfer_create_request.rb +241 -0
- data/lib/plaid/models/transfer_create_response.rb +84 -0
- data/lib/plaid/models/transfer_event.rb +171 -0
- data/lib/plaid/models/transfer_event_list_request.rb +214 -0
- data/lib/plaid/models/transfer_event_list_response.rb +93 -0
- data/lib/plaid/models/transfer_event_sync_request.rb +110 -0
- data/lib/plaid/models/transfer_event_sync_response.rb +93 -0
- data/lib/plaid/models/transfer_event_type.rb +52 -0
- data/lib/plaid/models/transfer_failure.rb +93 -0
- data/lib/plaid/models/transfer_get_request.rb +97 -0
- data/lib/plaid/models/transfer_get_response.rb +84 -0
- data/lib/plaid/models/transfer_list_request.rb +163 -0
- data/lib/plaid/models/transfer_list_response.rb +93 -0
- data/lib/plaid/models/transfer_network.rb +37 -0
- data/lib/plaid/models/transfer_status.rb +48 -0
- data/lib/plaid/models/transfer_type.rb +146 -0
- data/lib/plaid/models/transfer_type1.rb +38 -0
- data/lib/plaid/models/transfer_type2.rb +38 -0
- data/lib/plaid/models/transfer_user_address_in_request.rb +114 -0
- data/lib/plaid/models/transfer_user_address_in_response.rb +114 -0
- data/lib/plaid/models/transfer_user_in_request.rb +105 -0
- data/lib/plaid/models/transfer_user_in_response.rb +104 -0
- data/lib/plaid/models/type.rb +52 -0
- data/lib/plaid/models/type1.rb +40 -0
- data/lib/plaid/models/type2.rb +100 -0
- data/lib/plaid/models/type3.rb +68 -0
- data/lib/plaid/models/type4.rb +60 -0
- data/lib/plaid/models/type5.rb +41 -0
- data/lib/plaid/models/unofficial_currency_code_list.rb +252 -0
- data/lib/plaid/models/update_type.rb +39 -0
- data/lib/plaid/models/user_custom_password.rb +166 -0
- data/lib/plaid/models/user_permission_revoked_webhook.rb +110 -0
- data/lib/plaid/models/value.rb +52 -0
- data/lib/plaid/models/verification_expired_webhook.rb +102 -0
- data/lib/plaid/models/verification_refresh_status.rb +29 -0
- data/lib/plaid/models/verification_status.rb +53 -0
- data/lib/plaid/models/verification_status1.rb +36 -0
- data/lib/plaid/models/verification_status3.rb +48 -0
- data/lib/plaid/models/verification_status4.rb +65 -0
- data/lib/plaid/models/w2.rb +346 -0
- data/lib/plaid/models/w2_box12.rb +88 -0
- data/lib/plaid/models/w2_state_and_local_wages.rb +152 -0
- data/lib/plaid/models/warning.rb +98 -0
- data/lib/plaid/models/webhook_update_acknowledged_webhook.rb +118 -0
- data/lib/plaid/models/webhook_verification_key_get_request.rb +98 -0
- data/lib/plaid/models/webhook_verification_key_get_response.rb +86 -0
- data/lib/plaid/models/ytd_gross_income_summary_field_number.rb +90 -0
- data/lib/plaid/models/ytd_net_income_summary_field_number.rb +90 -0
- data/lib/plaid/utilities/date_time_helper.rb +11 -0
- data/lib/plaid/utilities/file_wrapper.rb +28 -0
- data/lib/plaid.rb +565 -0
- metadata +625 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# plaid
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Plaid
|
|
7
|
+
# The status of the payment. `PAYMENT_STATUS_INPUT_NEEDED`: This is the
|
|
8
|
+
# initial state of all payments. It indicates that the payment is waiting on
|
|
9
|
+
# user input to continue processing. A payment may re-enter this state later
|
|
10
|
+
# on if further input is needed. `PAYMENT_STATUS_PROCESSING`: The payment is
|
|
11
|
+
# currently being processed. The payment will automatically exit this state
|
|
12
|
+
# when processing is complete. `PAYMENT_STATUS_INITIATED`: The payment has
|
|
13
|
+
# been successfully initiated and is considered complete.
|
|
14
|
+
# `PAYMENT_STATUS_COMPLETED`: Indicates that the standing order has been
|
|
15
|
+
# successfully established. This state is only used for standing orders.
|
|
16
|
+
# `PAYMENT_STATUS_INSUFFICIENT_FUNDS`: The payment has failed due to
|
|
17
|
+
# insufficient funds. `PAYMENT_STATUS_FAILED`: The payment has failed to be
|
|
18
|
+
# initiated. This error is retryable once the root cause is resolved.
|
|
19
|
+
# `PAYMENT_STATUS_BLOCKED`: The payment has been blocked. This is a retryable
|
|
20
|
+
# error. `PAYMENT_STATUS_UNKNOWN`: The payment status is unknown.
|
|
21
|
+
class Status3
|
|
22
|
+
STATUS3 = [
|
|
23
|
+
# TODO: Write general description for PAYMENT_STATUS_INPUT_NEEDED
|
|
24
|
+
PAYMENT_STATUS_INPUT_NEEDED = 'PAYMENT_STATUS_INPUT_NEEDED'.freeze,
|
|
25
|
+
|
|
26
|
+
# TODO: Write general description for PAYMENT_STATUS_PROCESSING
|
|
27
|
+
PAYMENT_STATUS_PROCESSING = 'PAYMENT_STATUS_PROCESSING'.freeze,
|
|
28
|
+
|
|
29
|
+
# TODO: Write general description for PAYMENT_STATUS_INITIATED
|
|
30
|
+
PAYMENT_STATUS_INITIATED = 'PAYMENT_STATUS_INITIATED'.freeze,
|
|
31
|
+
|
|
32
|
+
# TODO: Write general description for PAYMENT_STATUS_COMPLETED
|
|
33
|
+
PAYMENT_STATUS_COMPLETED = 'PAYMENT_STATUS_COMPLETED'.freeze,
|
|
34
|
+
|
|
35
|
+
# TODO: Write general description for PAYMENT_STATUS_INSUFFICIENT_FUNDS
|
|
36
|
+
PAYMENT_STATUS_INSUFFICIENT_FUNDS = 'PAYMENT_STATUS_INSUFFICIENT_FUNDS'.freeze,
|
|
37
|
+
|
|
38
|
+
# TODO: Write general description for PAYMENT_STATUS_FAILED
|
|
39
|
+
PAYMENT_STATUS_FAILED = 'PAYMENT_STATUS_FAILED'.freeze,
|
|
40
|
+
|
|
41
|
+
# TODO: Write general description for PAYMENT_STATUS_BLOCKED
|
|
42
|
+
PAYMENT_STATUS_BLOCKED = 'PAYMENT_STATUS_BLOCKED'.freeze,
|
|
43
|
+
|
|
44
|
+
# TODO: Write general description for PAYMENT_STATUS_UNKNOWN
|
|
45
|
+
PAYMENT_STATUS_UNKNOWN = 'PAYMENT_STATUS_UNKNOWN'.freeze
|
|
46
|
+
].freeze
|
|
47
|
+
|
|
48
|
+
def self.validate(value)
|
|
49
|
+
return false if value.nil?
|
|
50
|
+
|
|
51
|
+
true
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def self.from_value(value, default_value = PAYMENT_STATUS_INPUT_NEEDED)
|
|
55
|
+
return default_value if value.nil?
|
|
56
|
+
|
|
57
|
+
str = value.to_s.strip
|
|
58
|
+
|
|
59
|
+
case str.downcase
|
|
60
|
+
when 'payment_status_input_needed' then PAYMENT_STATUS_INPUT_NEEDED
|
|
61
|
+
when 'payment_status_processing' then PAYMENT_STATUS_PROCESSING
|
|
62
|
+
when 'payment_status_initiated' then PAYMENT_STATUS_INITIATED
|
|
63
|
+
when 'payment_status_completed' then PAYMENT_STATUS_COMPLETED
|
|
64
|
+
when 'payment_status_insufficient_funds' then PAYMENT_STATUS_INSUFFICIENT_FUNDS
|
|
65
|
+
when 'payment_status_failed' then PAYMENT_STATUS_FAILED
|
|
66
|
+
when 'payment_status_blocked' then PAYMENT_STATUS_BLOCKED
|
|
67
|
+
when 'payment_status_unknown' then PAYMENT_STATUS_UNKNOWN
|
|
68
|
+
else
|
|
69
|
+
default_value
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# plaid
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Plaid
|
|
7
|
+
# A detailed breakdown of the institution's performance for a request type.
|
|
8
|
+
# The values for `success`, `error_plaid`, and `error_institution` sum to 1.
|
|
9
|
+
class StatusBreakdown < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# The percentage of login attempts that are successful, expressed as a
|
|
14
|
+
# decimal.
|
|
15
|
+
# @return [Float]
|
|
16
|
+
attr_accessor :success
|
|
17
|
+
|
|
18
|
+
# The percentage of logins that are failing due to an internal Plaid issue,
|
|
19
|
+
# expressed as a decimal.
|
|
20
|
+
# @return [Float]
|
|
21
|
+
attr_accessor :error_plaid
|
|
22
|
+
|
|
23
|
+
# The percentage of logins that are failing due to an issue in the
|
|
24
|
+
# institution's system, expressed as a decimal.
|
|
25
|
+
# @return [Float]
|
|
26
|
+
attr_accessor :error_institution
|
|
27
|
+
|
|
28
|
+
# The `refresh_interval` may be `DELAYED` or `STOPPED` even when the success
|
|
29
|
+
# rate is high. This value is only returned for Transactions status
|
|
30
|
+
# breakdowns.
|
|
31
|
+
# @return [RefreshInterval]
|
|
32
|
+
attr_accessor :refresh_interval
|
|
33
|
+
|
|
34
|
+
# A mapping from model property names to API property names.
|
|
35
|
+
def self.names
|
|
36
|
+
@_hash = {} if @_hash.nil?
|
|
37
|
+
@_hash['success'] = 'success'
|
|
38
|
+
@_hash['error_plaid'] = 'error_plaid'
|
|
39
|
+
@_hash['error_institution'] = 'error_institution'
|
|
40
|
+
@_hash['refresh_interval'] = 'refresh_interval'
|
|
41
|
+
@_hash
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# An array for optional fields
|
|
45
|
+
def self.optionals
|
|
46
|
+
%w[
|
|
47
|
+
refresh_interval
|
|
48
|
+
]
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# An array for nullable fields
|
|
52
|
+
def self.nullables
|
|
53
|
+
[]
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def initialize(success:, error_plaid:, error_institution:,
|
|
57
|
+
refresh_interval: SKIP, additional_properties: nil)
|
|
58
|
+
# Add additional model properties to the instance
|
|
59
|
+
additional_properties = {} if additional_properties.nil?
|
|
60
|
+
|
|
61
|
+
@success = success
|
|
62
|
+
@error_plaid = error_plaid
|
|
63
|
+
@error_institution = error_institution
|
|
64
|
+
@refresh_interval = refresh_interval unless refresh_interval == SKIP
|
|
65
|
+
@additional_properties = additional_properties
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Creates an instance of the object from a hash.
|
|
69
|
+
def self.from_hash(hash)
|
|
70
|
+
return nil unless hash
|
|
71
|
+
|
|
72
|
+
# Extract variables from the hash.
|
|
73
|
+
success = hash.key?('success') ? hash['success'] : nil
|
|
74
|
+
error_plaid = hash.key?('error_plaid') ? hash['error_plaid'] : nil
|
|
75
|
+
error_institution =
|
|
76
|
+
hash.key?('error_institution') ? hash['error_institution'] : nil
|
|
77
|
+
refresh_interval =
|
|
78
|
+
hash.key?('refresh_interval') ? hash['refresh_interval'] : SKIP
|
|
79
|
+
|
|
80
|
+
# Create a new hash for additional properties, removing known properties.
|
|
81
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
82
|
+
|
|
83
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
84
|
+
new_hash, proc { |value| value }
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
# Create object from extracted values.
|
|
88
|
+
StatusBreakdown.new(success: success,
|
|
89
|
+
error_plaid: error_plaid,
|
|
90
|
+
error_institution: error_institution,
|
|
91
|
+
refresh_interval: refresh_interval,
|
|
92
|
+
additional_properties: additional_properties)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Provides a human-readable string representation of the object.
|
|
96
|
+
def to_s
|
|
97
|
+
class_name = self.class.name.split('::').last
|
|
98
|
+
"<#{class_name} success: #{@success}, error_plaid: #{@error_plaid}, error_institution:"\
|
|
99
|
+
" #{@error_institution}, refresh_interval: #{@refresh_interval}, additional_properties:"\
|
|
100
|
+
" #{@additional_properties}>"
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
104
|
+
def inspect
|
|
105
|
+
class_name = self.class.name.split('::').last
|
|
106
|
+
"<#{class_name} success: #{@success.inspect}, error_plaid: #{@error_plaid.inspect},"\
|
|
107
|
+
" error_institution: #{@error_institution.inspect}, refresh_interval:"\
|
|
108
|
+
" #{@refresh_interval.inspect}, additional_properties: #{@additional_properties}>"
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
# plaid
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Plaid
|
|
7
|
+
# Contains details about a student loan account
|
|
8
|
+
class StudentLoan < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The ID of the account that this liability belongs to.
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :account_id
|
|
15
|
+
|
|
16
|
+
# The account number of the loan. For some institutions, this may be a
|
|
17
|
+
# masked version of the number (e.g., the last 4 digits instead of the
|
|
18
|
+
# entire number).
|
|
19
|
+
# @return [String]
|
|
20
|
+
attr_accessor :account_number
|
|
21
|
+
|
|
22
|
+
# The dates on which loaned funds were disbursed or will be disbursed. These
|
|
23
|
+
# are often in the past. Dates are returned in an [ISO
|
|
24
|
+
# 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
|
|
25
|
+
# @return [Array[Date]]
|
|
26
|
+
attr_accessor :disbursement_dates
|
|
27
|
+
|
|
28
|
+
# The date when the student loan is expected to be paid off. Availability
|
|
29
|
+
# for this field is limited. Dates are returned in an [ISO
|
|
30
|
+
# 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
|
|
31
|
+
# @return [Date]
|
|
32
|
+
attr_accessor :expected_payoff_date
|
|
33
|
+
|
|
34
|
+
# The guarantor of the student loan.
|
|
35
|
+
# @return [String]
|
|
36
|
+
attr_accessor :guarantor
|
|
37
|
+
|
|
38
|
+
# The interest rate on the loan as a percentage.
|
|
39
|
+
# @return [Float]
|
|
40
|
+
attr_accessor :interest_rate_percentage
|
|
41
|
+
|
|
42
|
+
# `true` if a payment is currently overdue. Availability for this field is
|
|
43
|
+
# limited.
|
|
44
|
+
# @return [TrueClass | FalseClass]
|
|
45
|
+
attr_accessor :is_overdue
|
|
46
|
+
|
|
47
|
+
# The amount of the last payment.
|
|
48
|
+
# @return [Float]
|
|
49
|
+
attr_accessor :last_payment_amount
|
|
50
|
+
|
|
51
|
+
# The date of the last payment. Dates are returned in an [ISO
|
|
52
|
+
# 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
|
|
53
|
+
# @return [Date]
|
|
54
|
+
attr_accessor :last_payment_date
|
|
55
|
+
|
|
56
|
+
# The date of the last statement. Dates are returned in an [ISO
|
|
57
|
+
# 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
|
|
58
|
+
# @return [Date]
|
|
59
|
+
attr_accessor :last_statement_issue_date
|
|
60
|
+
|
|
61
|
+
# The type of loan, e.g., "Consolidation Loans".
|
|
62
|
+
# @return [String]
|
|
63
|
+
attr_accessor :loan_name
|
|
64
|
+
|
|
65
|
+
# An object representing the status of the student loan
|
|
66
|
+
# @return [StudentLoanStatus]
|
|
67
|
+
attr_accessor :loan_status
|
|
68
|
+
|
|
69
|
+
# The minimum payment due for the next billing cycle. There are some
|
|
70
|
+
# exceptions:
|
|
71
|
+
# Some institutions require a minimum payment across all loans associated
|
|
72
|
+
# with an account number. Our API presents that same minimum payment amount
|
|
73
|
+
# on each loan. The institutions that do this are: Great Lakes (
|
|
74
|
+
# `ins_116861`), Firstmark (`ins_116295`), Commonbond Firstmark Services
|
|
75
|
+
# (`ins_116950`), Nelnet (`ins_116528`), EdFinancial Services
|
|
76
|
+
# (`ins_116304`), Granite State (`ins_116308`), and Oklahoma Student Loan
|
|
77
|
+
# Authority (`ins_116945`).
|
|
78
|
+
# Firstmark (`ins_116295` ) will display as $0 if there is an autopay
|
|
79
|
+
# program in effect.
|
|
80
|
+
# @return [Float]
|
|
81
|
+
attr_accessor :minimum_payment_amount
|
|
82
|
+
|
|
83
|
+
# The due date for the next payment. The due date is `null` if a payment is
|
|
84
|
+
# not expected. A payment is not expected if `loan_status.type` is
|
|
85
|
+
# `deferment`, `in_school`, `consolidated`, `paid in full`, or
|
|
86
|
+
# `transferred`. Dates are returned in an [ISO
|
|
87
|
+
# 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
|
|
88
|
+
# @return [Date]
|
|
89
|
+
attr_accessor :next_payment_due_date
|
|
90
|
+
|
|
91
|
+
# The date on which the loan was initially lent. Dates are returned in an
|
|
92
|
+
# [ISO 8601](https://wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD).
|
|
93
|
+
# @return [Date]
|
|
94
|
+
attr_accessor :origination_date
|
|
95
|
+
|
|
96
|
+
# The original principal balance of the loan.
|
|
97
|
+
# @return [Float]
|
|
98
|
+
attr_accessor :origination_principal_amount
|
|
99
|
+
|
|
100
|
+
# The total dollar amount of the accrued interest balance. For Sallie Mae (
|
|
101
|
+
# `ins_116944`), this amount is included in the current balance of the loan,
|
|
102
|
+
# so this field will return as `null`.
|
|
103
|
+
# @return [Float]
|
|
104
|
+
attr_accessor :outstanding_interest_amount
|
|
105
|
+
|
|
106
|
+
# The relevant account number that should be used to reference this loan for
|
|
107
|
+
# payments. In the majority of cases, `payment_reference_number` will match
|
|
108
|
+
# a`ccount_number,` but in some institutions, such as Great Lakes
|
|
109
|
+
# (`ins_116861`), it will be different.
|
|
110
|
+
# @return [String]
|
|
111
|
+
attr_accessor :payment_reference_number
|
|
112
|
+
|
|
113
|
+
# Information about the student's eligibility in the Public Service Loan
|
|
114
|
+
# Forgiveness program. This is only returned if the institution is Fedloan
|
|
115
|
+
# (`ins_116527`).
|
|
116
|
+
# @return [PslfStatus]
|
|
117
|
+
attr_accessor :pslf_status
|
|
118
|
+
|
|
119
|
+
# An object representing the repayment plan for the student loan
|
|
120
|
+
# @return [StudentRepaymentPlan]
|
|
121
|
+
attr_accessor :repayment_plan
|
|
122
|
+
|
|
123
|
+
# The sequence number of the student loan. Heartland ECSI (`ins_116948`)
|
|
124
|
+
# does not make this field available.
|
|
125
|
+
# @return [String]
|
|
126
|
+
attr_accessor :sequence_number
|
|
127
|
+
|
|
128
|
+
# The address of the student loan servicer. This is generally the remittance
|
|
129
|
+
# address to which payments should be sent.
|
|
130
|
+
# @return [ServicerAddressData]
|
|
131
|
+
attr_accessor :servicer_address
|
|
132
|
+
|
|
133
|
+
# The year to date (YTD) interest paid. Availability for this field is
|
|
134
|
+
# limited.
|
|
135
|
+
# @return [Float]
|
|
136
|
+
attr_accessor :ytd_interest_paid
|
|
137
|
+
|
|
138
|
+
# The year to date (YTD) principal paid. Availability for this field is
|
|
139
|
+
# limited.
|
|
140
|
+
# @return [Float]
|
|
141
|
+
attr_accessor :ytd_principal_paid
|
|
142
|
+
|
|
143
|
+
# A mapping from model property names to API property names.
|
|
144
|
+
def self.names
|
|
145
|
+
@_hash = {} if @_hash.nil?
|
|
146
|
+
@_hash['account_id'] = 'account_id'
|
|
147
|
+
@_hash['account_number'] = 'account_number'
|
|
148
|
+
@_hash['disbursement_dates'] = 'disbursement_dates'
|
|
149
|
+
@_hash['expected_payoff_date'] = 'expected_payoff_date'
|
|
150
|
+
@_hash['guarantor'] = 'guarantor'
|
|
151
|
+
@_hash['interest_rate_percentage'] = 'interest_rate_percentage'
|
|
152
|
+
@_hash['is_overdue'] = 'is_overdue'
|
|
153
|
+
@_hash['last_payment_amount'] = 'last_payment_amount'
|
|
154
|
+
@_hash['last_payment_date'] = 'last_payment_date'
|
|
155
|
+
@_hash['last_statement_issue_date'] = 'last_statement_issue_date'
|
|
156
|
+
@_hash['loan_name'] = 'loan_name'
|
|
157
|
+
@_hash['loan_status'] = 'loan_status'
|
|
158
|
+
@_hash['minimum_payment_amount'] = 'minimum_payment_amount'
|
|
159
|
+
@_hash['next_payment_due_date'] = 'next_payment_due_date'
|
|
160
|
+
@_hash['origination_date'] = 'origination_date'
|
|
161
|
+
@_hash['origination_principal_amount'] = 'origination_principal_amount'
|
|
162
|
+
@_hash['outstanding_interest_amount'] = 'outstanding_interest_amount'
|
|
163
|
+
@_hash['payment_reference_number'] = 'payment_reference_number'
|
|
164
|
+
@_hash['pslf_status'] = 'pslf_status'
|
|
165
|
+
@_hash['repayment_plan'] = 'repayment_plan'
|
|
166
|
+
@_hash['sequence_number'] = 'sequence_number'
|
|
167
|
+
@_hash['servicer_address'] = 'servicer_address'
|
|
168
|
+
@_hash['ytd_interest_paid'] = 'ytd_interest_paid'
|
|
169
|
+
@_hash['ytd_principal_paid'] = 'ytd_principal_paid'
|
|
170
|
+
@_hash
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
# An array for optional fields
|
|
174
|
+
def self.optionals
|
|
175
|
+
[]
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# An array for nullable fields
|
|
179
|
+
def self.nullables
|
|
180
|
+
%w[
|
|
181
|
+
account_id
|
|
182
|
+
account_number
|
|
183
|
+
disbursement_dates
|
|
184
|
+
expected_payoff_date
|
|
185
|
+
guarantor
|
|
186
|
+
is_overdue
|
|
187
|
+
last_payment_amount
|
|
188
|
+
last_payment_date
|
|
189
|
+
last_statement_issue_date
|
|
190
|
+
loan_name
|
|
191
|
+
minimum_payment_amount
|
|
192
|
+
next_payment_due_date
|
|
193
|
+
origination_date
|
|
194
|
+
origination_principal_amount
|
|
195
|
+
outstanding_interest_amount
|
|
196
|
+
payment_reference_number
|
|
197
|
+
sequence_number
|
|
198
|
+
ytd_interest_paid
|
|
199
|
+
ytd_principal_paid
|
|
200
|
+
]
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
def initialize(account_id:, account_number:, disbursement_dates:,
|
|
204
|
+
expected_payoff_date:, guarantor:, interest_rate_percentage:,
|
|
205
|
+
is_overdue:, last_payment_amount:, last_payment_date:,
|
|
206
|
+
last_statement_issue_date:, loan_name:, loan_status:,
|
|
207
|
+
minimum_payment_amount:, next_payment_due_date:,
|
|
208
|
+
origination_date:, origination_principal_amount:,
|
|
209
|
+
outstanding_interest_amount:, payment_reference_number:,
|
|
210
|
+
pslf_status:, repayment_plan:, sequence_number:,
|
|
211
|
+
servicer_address:, ytd_interest_paid:, ytd_principal_paid:,
|
|
212
|
+
additional_properties: nil)
|
|
213
|
+
# Add additional model properties to the instance
|
|
214
|
+
additional_properties = {} if additional_properties.nil?
|
|
215
|
+
|
|
216
|
+
@account_id = account_id
|
|
217
|
+
@account_number = account_number
|
|
218
|
+
@disbursement_dates = disbursement_dates
|
|
219
|
+
@expected_payoff_date = expected_payoff_date
|
|
220
|
+
@guarantor = guarantor
|
|
221
|
+
@interest_rate_percentage = interest_rate_percentage
|
|
222
|
+
@is_overdue = is_overdue
|
|
223
|
+
@last_payment_amount = last_payment_amount
|
|
224
|
+
@last_payment_date = last_payment_date
|
|
225
|
+
@last_statement_issue_date = last_statement_issue_date
|
|
226
|
+
@loan_name = loan_name
|
|
227
|
+
@loan_status = loan_status
|
|
228
|
+
@minimum_payment_amount = minimum_payment_amount
|
|
229
|
+
@next_payment_due_date = next_payment_due_date
|
|
230
|
+
@origination_date = origination_date
|
|
231
|
+
@origination_principal_amount = origination_principal_amount
|
|
232
|
+
@outstanding_interest_amount = outstanding_interest_amount
|
|
233
|
+
@payment_reference_number = payment_reference_number
|
|
234
|
+
@pslf_status = pslf_status
|
|
235
|
+
@repayment_plan = repayment_plan
|
|
236
|
+
@sequence_number = sequence_number
|
|
237
|
+
@servicer_address = servicer_address
|
|
238
|
+
@ytd_interest_paid = ytd_interest_paid
|
|
239
|
+
@ytd_principal_paid = ytd_principal_paid
|
|
240
|
+
@additional_properties = additional_properties
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
# Creates an instance of the object from a hash.
|
|
244
|
+
def self.from_hash(hash)
|
|
245
|
+
return nil unless hash
|
|
246
|
+
|
|
247
|
+
# Extract variables from the hash.
|
|
248
|
+
account_id = hash.key?('account_id') ? hash['account_id'] : nil
|
|
249
|
+
account_number =
|
|
250
|
+
hash.key?('account_number') ? hash['account_number'] : nil
|
|
251
|
+
disbursement_dates =
|
|
252
|
+
hash.key?('disbursement_dates') ? hash['disbursement_dates'] : nil
|
|
253
|
+
expected_payoff_date =
|
|
254
|
+
hash.key?('expected_payoff_date') ? hash['expected_payoff_date'] : nil
|
|
255
|
+
guarantor = hash.key?('guarantor') ? hash['guarantor'] : nil
|
|
256
|
+
interest_rate_percentage =
|
|
257
|
+
hash.key?('interest_rate_percentage') ? hash['interest_rate_percentage'] : nil
|
|
258
|
+
is_overdue = hash.key?('is_overdue') ? hash['is_overdue'] : nil
|
|
259
|
+
last_payment_amount =
|
|
260
|
+
hash.key?('last_payment_amount') ? hash['last_payment_amount'] : nil
|
|
261
|
+
last_payment_date =
|
|
262
|
+
hash.key?('last_payment_date') ? hash['last_payment_date'] : nil
|
|
263
|
+
last_statement_issue_date =
|
|
264
|
+
hash.key?('last_statement_issue_date') ? hash['last_statement_issue_date'] : nil
|
|
265
|
+
loan_name = hash.key?('loan_name') ? hash['loan_name'] : nil
|
|
266
|
+
loan_status = StudentLoanStatus.from_hash(hash['loan_status']) if hash['loan_status']
|
|
267
|
+
minimum_payment_amount =
|
|
268
|
+
hash.key?('minimum_payment_amount') ? hash['minimum_payment_amount'] : nil
|
|
269
|
+
next_payment_due_date =
|
|
270
|
+
hash.key?('next_payment_due_date') ? hash['next_payment_due_date'] : nil
|
|
271
|
+
origination_date =
|
|
272
|
+
hash.key?('origination_date') ? hash['origination_date'] : nil
|
|
273
|
+
origination_principal_amount =
|
|
274
|
+
hash.key?('origination_principal_amount') ? hash['origination_principal_amount'] : nil
|
|
275
|
+
outstanding_interest_amount =
|
|
276
|
+
hash.key?('outstanding_interest_amount') ? hash['outstanding_interest_amount'] : nil
|
|
277
|
+
payment_reference_number =
|
|
278
|
+
hash.key?('payment_reference_number') ? hash['payment_reference_number'] : nil
|
|
279
|
+
pslf_status = PslfStatus.from_hash(hash['pslf_status']) if hash['pslf_status']
|
|
280
|
+
repayment_plan = StudentRepaymentPlan.from_hash(hash['repayment_plan']) if
|
|
281
|
+
hash['repayment_plan']
|
|
282
|
+
sequence_number =
|
|
283
|
+
hash.key?('sequence_number') ? hash['sequence_number'] : nil
|
|
284
|
+
servicer_address = ServicerAddressData.from_hash(hash['servicer_address']) if
|
|
285
|
+
hash['servicer_address']
|
|
286
|
+
ytd_interest_paid =
|
|
287
|
+
hash.key?('ytd_interest_paid') ? hash['ytd_interest_paid'] : nil
|
|
288
|
+
ytd_principal_paid =
|
|
289
|
+
hash.key?('ytd_principal_paid') ? hash['ytd_principal_paid'] : nil
|
|
290
|
+
|
|
291
|
+
# Create a new hash for additional properties, removing known properties.
|
|
292
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
293
|
+
|
|
294
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
295
|
+
new_hash, proc { |value| value }
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
# Create object from extracted values.
|
|
299
|
+
StudentLoan.new(account_id: account_id,
|
|
300
|
+
account_number: account_number,
|
|
301
|
+
disbursement_dates: disbursement_dates,
|
|
302
|
+
expected_payoff_date: expected_payoff_date,
|
|
303
|
+
guarantor: guarantor,
|
|
304
|
+
interest_rate_percentage: interest_rate_percentage,
|
|
305
|
+
is_overdue: is_overdue,
|
|
306
|
+
last_payment_amount: last_payment_amount,
|
|
307
|
+
last_payment_date: last_payment_date,
|
|
308
|
+
last_statement_issue_date: last_statement_issue_date,
|
|
309
|
+
loan_name: loan_name,
|
|
310
|
+
loan_status: loan_status,
|
|
311
|
+
minimum_payment_amount: minimum_payment_amount,
|
|
312
|
+
next_payment_due_date: next_payment_due_date,
|
|
313
|
+
origination_date: origination_date,
|
|
314
|
+
origination_principal_amount: origination_principal_amount,
|
|
315
|
+
outstanding_interest_amount: outstanding_interest_amount,
|
|
316
|
+
payment_reference_number: payment_reference_number,
|
|
317
|
+
pslf_status: pslf_status,
|
|
318
|
+
repayment_plan: repayment_plan,
|
|
319
|
+
sequence_number: sequence_number,
|
|
320
|
+
servicer_address: servicer_address,
|
|
321
|
+
ytd_interest_paid: ytd_interest_paid,
|
|
322
|
+
ytd_principal_paid: ytd_principal_paid,
|
|
323
|
+
additional_properties: additional_properties)
|
|
324
|
+
end
|
|
325
|
+
|
|
326
|
+
# Provides a human-readable string representation of the object.
|
|
327
|
+
def to_s
|
|
328
|
+
class_name = self.class.name.split('::').last
|
|
329
|
+
"<#{class_name} account_id: #{@account_id}, account_number: #{@account_number},"\
|
|
330
|
+
" disbursement_dates: #{@disbursement_dates}, expected_payoff_date:"\
|
|
331
|
+
" #{@expected_payoff_date}, guarantor: #{@guarantor}, interest_rate_percentage:"\
|
|
332
|
+
" #{@interest_rate_percentage}, is_overdue: #{@is_overdue}, last_payment_amount:"\
|
|
333
|
+
" #{@last_payment_amount}, last_payment_date: #{@last_payment_date},"\
|
|
334
|
+
" last_statement_issue_date: #{@last_statement_issue_date}, loan_name: #{@loan_name},"\
|
|
335
|
+
" loan_status: #{@loan_status}, minimum_payment_amount: #{@minimum_payment_amount},"\
|
|
336
|
+
" next_payment_due_date: #{@next_payment_due_date}, origination_date: #{@origination_date},"\
|
|
337
|
+
" origination_principal_amount: #{@origination_principal_amount},"\
|
|
338
|
+
" outstanding_interest_amount: #{@outstanding_interest_amount}, payment_reference_number:"\
|
|
339
|
+
" #{@payment_reference_number}, pslf_status: #{@pslf_status}, repayment_plan:"\
|
|
340
|
+
" #{@repayment_plan}, sequence_number: #{@sequence_number}, servicer_address:"\
|
|
341
|
+
" #{@servicer_address}, ytd_interest_paid: #{@ytd_interest_paid}, ytd_principal_paid:"\
|
|
342
|
+
" #{@ytd_principal_paid}, additional_properties: #{@additional_properties}>"
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
346
|
+
def inspect
|
|
347
|
+
class_name = self.class.name.split('::').last
|
|
348
|
+
"<#{class_name} account_id: #{@account_id.inspect}, account_number:"\
|
|
349
|
+
" #{@account_number.inspect}, disbursement_dates: #{@disbursement_dates.inspect},"\
|
|
350
|
+
" expected_payoff_date: #{@expected_payoff_date.inspect}, guarantor: #{@guarantor.inspect},"\
|
|
351
|
+
" interest_rate_percentage: #{@interest_rate_percentage.inspect}, is_overdue:"\
|
|
352
|
+
" #{@is_overdue.inspect}, last_payment_amount: #{@last_payment_amount.inspect},"\
|
|
353
|
+
" last_payment_date: #{@last_payment_date.inspect}, last_statement_issue_date:"\
|
|
354
|
+
" #{@last_statement_issue_date.inspect}, loan_name: #{@loan_name.inspect}, loan_status:"\
|
|
355
|
+
" #{@loan_status.inspect}, minimum_payment_amount: #{@minimum_payment_amount.inspect},"\
|
|
356
|
+
" next_payment_due_date: #{@next_payment_due_date.inspect}, origination_date:"\
|
|
357
|
+
" #{@origination_date.inspect}, origination_principal_amount:"\
|
|
358
|
+
" #{@origination_principal_amount.inspect}, outstanding_interest_amount:"\
|
|
359
|
+
" #{@outstanding_interest_amount.inspect}, payment_reference_number:"\
|
|
360
|
+
" #{@payment_reference_number.inspect}, pslf_status: #{@pslf_status.inspect},"\
|
|
361
|
+
" repayment_plan: #{@repayment_plan.inspect}, sequence_number: #{@sequence_number.inspect},"\
|
|
362
|
+
" servicer_address: #{@servicer_address.inspect}, ytd_interest_paid:"\
|
|
363
|
+
" #{@ytd_interest_paid.inspect}, ytd_principal_paid: #{@ytd_principal_paid.inspect},"\
|
|
364
|
+
" additional_properties: #{@additional_properties}>"
|
|
365
|
+
end
|
|
366
|
+
end
|
|
367
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# plaid
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module Plaid
|
|
7
|
+
# Student loan repayment information used to configure Sandbox test data for
|
|
8
|
+
# the Liabilities product
|
|
9
|
+
class StudentLoanRepaymentModel < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# The only currently supported value for this field is `standard`.
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :type
|
|
16
|
+
|
|
17
|
+
# Configures the number of months before repayment starts.
|
|
18
|
+
# @return [Float]
|
|
19
|
+
attr_accessor :non_repayment_months
|
|
20
|
+
|
|
21
|
+
# Configures the number of months of repayments before the loan is paid off.
|
|
22
|
+
# @return [Float]
|
|
23
|
+
attr_accessor :repayment_months
|
|
24
|
+
|
|
25
|
+
# A mapping from model property names to API property names.
|
|
26
|
+
def self.names
|
|
27
|
+
@_hash = {} if @_hash.nil?
|
|
28
|
+
@_hash['type'] = 'type'
|
|
29
|
+
@_hash['non_repayment_months'] = 'non_repayment_months'
|
|
30
|
+
@_hash['repayment_months'] = 'repayment_months'
|
|
31
|
+
@_hash
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# An array for optional fields
|
|
35
|
+
def self.optionals
|
|
36
|
+
[]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# An array for nullable fields
|
|
40
|
+
def self.nullables
|
|
41
|
+
[]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def initialize(type:, non_repayment_months:, repayment_months:,
|
|
45
|
+
additional_properties: nil)
|
|
46
|
+
# Add additional model properties to the instance
|
|
47
|
+
additional_properties = {} if additional_properties.nil?
|
|
48
|
+
|
|
49
|
+
@type = type
|
|
50
|
+
@non_repayment_months = non_repayment_months
|
|
51
|
+
@repayment_months = repayment_months
|
|
52
|
+
@additional_properties = additional_properties
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Creates an instance of the object from a hash.
|
|
56
|
+
def self.from_hash(hash)
|
|
57
|
+
return nil unless hash
|
|
58
|
+
|
|
59
|
+
# Extract variables from the hash.
|
|
60
|
+
type = hash.key?('type') ? hash['type'] : nil
|
|
61
|
+
non_repayment_months =
|
|
62
|
+
hash.key?('non_repayment_months') ? hash['non_repayment_months'] : nil
|
|
63
|
+
repayment_months =
|
|
64
|
+
hash.key?('repayment_months') ? hash['repayment_months'] : nil
|
|
65
|
+
|
|
66
|
+
# Create a new hash for additional properties, removing known properties.
|
|
67
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
68
|
+
|
|
69
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
70
|
+
new_hash, proc { |value| value }
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
# Create object from extracted values.
|
|
74
|
+
StudentLoanRepaymentModel.new(type: type,
|
|
75
|
+
non_repayment_months: non_repayment_months,
|
|
76
|
+
repayment_months: repayment_months,
|
|
77
|
+
additional_properties: additional_properties)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Provides a human-readable string representation of the object.
|
|
81
|
+
def to_s
|
|
82
|
+
class_name = self.class.name.split('::').last
|
|
83
|
+
"<#{class_name} type: #{@type}, non_repayment_months: #{@non_repayment_months},"\
|
|
84
|
+
" repayment_months: #{@repayment_months}, additional_properties: #{@additional_properties}>"
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
88
|
+
def inspect
|
|
89
|
+
class_name = self.class.name.split('::').last
|
|
90
|
+
"<#{class_name} type: #{@type.inspect}, non_repayment_months:"\
|
|
91
|
+
" #{@non_repayment_months.inspect}, repayment_months: #{@repayment_months.inspect},"\
|
|
92
|
+
" additional_properties: #{@additional_properties}>"
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|