lithic 0.1.0.pre.alpha.6 → 0.1.0.pre.alpha.8
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 +4 -4
- data/README.md +8 -1
- data/lib/lithic/client.rb +3 -3
- data/lib/lithic/internal/transport/base_client.rb +2 -2
- data/lib/lithic/internal/transport/pooled_net_requester.rb +15 -6
- data/lib/lithic/internal/type/array_of.rb +12 -2
- data/lib/lithic/internal/type/base_model.rb +23 -22
- data/lib/lithic/internal/type/boolean.rb +5 -1
- data/lib/lithic/internal/type/converter.rb +62 -39
- data/lib/lithic/internal/type/enum.rb +13 -9
- data/lib/lithic/internal/type/hash_of.rb +6 -2
- data/lib/lithic/internal/type/io_like.rb +75 -0
- data/lib/lithic/internal/type/request_parameters.rb +11 -2
- data/lib/lithic/internal/type/union.rb +7 -3
- data/lib/lithic/internal/type/unknown.rb +5 -1
- data/lib/lithic/internal/util.rb +81 -26
- data/lib/lithic/models/account.rb +37 -37
- data/lib/lithic/models/account_holder.rb +58 -55
- data/lib/lithic/models/account_holder_create_params.rb +59 -59
- data/lib/lithic/models/account_holder_create_response.rb +6 -6
- data/lib/lithic/models/account_holder_list_params.rb +10 -10
- data/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rb +2 -2
- data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +1 -1
- data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +71 -71
- data/lib/lithic/models/account_holder_update_params.rb +56 -64
- data/lib/lithic/models/account_holder_update_response.rb +75 -75
- data/lib/lithic/models/account_list_params.rb +6 -6
- data/lib/lithic/models/account_spend_limits.rb +6 -6
- data/lib/lithic/models/account_update_params.rb +14 -14
- data/lib/lithic/models/address.rb +5 -5
- data/lib/lithic/models/address_update.rb +3 -3
- data/lib/lithic/models/aggregate_balance.rb +4 -4
- data/lib/lithic/models/auth_rules/auth_rule.rb +6 -6
- data/lib/lithic/models/auth_rules/auth_rule_condition.rb +44 -44
- data/lib/lithic/models/auth_rules/conditional_attribute.rb +44 -44
- data/lib/lithic/models/auth_rules/v2/backtest_results.rb +10 -10
- data/lib/lithic/models/auth_rules/v2_apply_response.rb +2 -2
- data/lib/lithic/models/auth_rules/v2_create_response.rb +2 -2
- data/lib/lithic/models/auth_rules/v2_draft_response.rb +2 -2
- data/lib/lithic/models/auth_rules/v2_list_params.rb +2 -2
- data/lib/lithic/models/auth_rules/v2_list_response.rb +2 -2
- data/lib/lithic/models/auth_rules/v2_promote_response.rb +2 -2
- data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +2 -2
- data/lib/lithic/models/auth_rules/v2_update_params.rb +6 -6
- data/lib/lithic/models/auth_rules/v2_update_response.rb +2 -2
- data/lib/lithic/models/auth_rules/velocity_limit_params.rb +14 -14
- data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +5 -5
- data/lib/lithic/models/balance.rb +4 -4
- data/lib/lithic/models/balance_list_params.rb +1 -1
- data/lib/lithic/models/book_transfer_create_params.rb +4 -4
- data/lib/lithic/models/book_transfer_list_params.rb +7 -7
- data/lib/lithic/models/book_transfer_response.rb +14 -14
- data/lib/lithic/models/card.rb +110 -110
- data/lib/lithic/models/card_convert_physical_params.rb +22 -22
- data/lib/lithic/models/card_create_params.rb +93 -93
- data/lib/lithic/models/card_list_params.rb +6 -6
- data/lib/lithic/models/card_program.rb +1 -1
- data/lib/lithic/models/card_program_list_params.rb +2 -2
- data/lib/lithic/models/card_provision_params.rb +11 -11
- data/lib/lithic/models/card_reissue_params.rb +22 -22
- data/lib/lithic/models/card_renew_params.rb +24 -24
- data/lib/lithic/models/card_spend_limits.rb +6 -6
- data/lib/lithic/models/card_update_params.rb +33 -33
- data/lib/lithic/models/cards/aggregate_balance_list_response.rb +4 -4
- data/lib/lithic/models/cards/balance_list_params.rb +2 -2
- data/lib/lithic/models/cards/balance_list_response.rb +4 -4
- data/lib/lithic/models/cards/financial_transaction_list_params.rb +6 -6
- data/lib/lithic/models/digital_card_art_list_params.rb +2 -2
- data/lib/lithic/models/dispute.rb +88 -88
- data/lib/lithic/models/dispute_evidence.rb +11 -11
- data/lib/lithic/models/dispute_list_evidences_params.rb +6 -6
- data/lib/lithic/models/dispute_list_params.rb +6 -6
- data/lib/lithic/models/document.rb +6 -6
- data/lib/lithic/models/event.rb +51 -51
- data/lib/lithic/models/event_list_attempts_params.rb +6 -6
- data/lib/lithic/models/event_list_params.rb +6 -6
- data/lib/lithic/models/events/subscription_create_params.rb +1 -1
- data/lib/lithic/models/events/subscription_list_attempts_params.rb +6 -6
- data/lib/lithic/models/events/subscription_list_params.rb +2 -2
- data/lib/lithic/models/events/subscription_recover_params.rb +4 -4
- data/lib/lithic/models/events/subscription_replay_missing_params.rb +4 -4
- data/lib/lithic/models/events/subscription_update_params.rb +1 -1
- data/lib/lithic/models/external_bank_account_create_params.rb +4 -4
- data/lib/lithic/models/external_bank_account_create_response.rb +11 -11
- data/lib/lithic/models/external_bank_account_list_params.rb +2 -2
- data/lib/lithic/models/external_bank_account_list_response.rb +11 -11
- data/lib/lithic/models/external_bank_account_retrieve_response.rb +11 -11
- data/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rb +11 -11
- data/lib/lithic/models/external_bank_account_retry_prenote_response.rb +11 -11
- data/lib/lithic/models/external_bank_account_update_params.rb +1 -1
- data/lib/lithic/models/external_bank_account_update_response.rb +11 -11
- data/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rb +11 -11
- data/lib/lithic/models/external_payment_list_params.rb +7 -7
- data/lib/lithic/models/financial_account_create_params.rb +1 -1
- data/lib/lithic/models/financial_accounts/balance_list_params.rb +2 -2
- data/lib/lithic/models/financial_accounts/balance_list_response.rb +4 -4
- data/lib/lithic/models/financial_accounts/financial_transaction_list_params.rb +6 -6
- data/lib/lithic/models/financial_accounts/loan_tape.rb +13 -13
- data/lib/lithic/models/financial_accounts/loan_tape_list_params.rb +6 -6
- data/lib/lithic/models/financial_accounts/statement.rb +6 -6
- data/lib/lithic/models/financial_accounts/statement_list_params.rb +6 -6
- data/lib/lithic/models/financial_accounts/statements/line_item_list_params.rb +2 -2
- data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +2 -1
- data/lib/lithic/models/financial_transaction.rb +35 -34
- data/lib/lithic/models/kyb.rb +47 -47
- data/lib/lithic/models/kyb_business_entity.rb +9 -9
- data/lib/lithic/models/kyc.rb +12 -12
- data/lib/lithic/models/kyc_exempt.rb +4 -4
- data/lib/lithic/models/management_operation_list_params.rb +7 -7
- data/lib/lithic/models/management_operation_transaction.rb +36 -0
- data/lib/lithic/models/message_attempt.rb +1 -1
- data/lib/lithic/models/payment.rb +66 -54
- data/lib/lithic/models/payment_create_params.rb +1 -1
- data/lib/lithic/models/payment_list_params.rb +6 -6
- data/lib/lithic/models/reports/settlement/network_total_list_params.rb +7 -7
- data/lib/lithic/models/reports/settlement/network_total_list_response.rb +7 -7
- data/lib/lithic/models/reports/settlement/network_total_retrieve_response.rb +7 -7
- data/lib/lithic/models/reports/settlement_list_details_params.rb +2 -2
- data/lib/lithic/models/required_document.rb +2 -2
- data/lib/lithic/models/settlement_detail.rb +5 -5
- data/lib/lithic/models/settlement_report.rb +15 -15
- data/lib/lithic/models/settlement_summary_details.rb +3 -3
- data/lib/lithic/models/shipping_address.rb +9 -9
- data/lib/lithic/models/spend_limit_duration.rb +10 -10
- data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +97 -97
- data/lib/lithic/models/three_ds/authentication_simulate_otp_entry_params.rb +1 -1
- data/lib/lithic/models/three_ds/authentication_simulate_params.rb +7 -7
- data/lib/lithic/models/three_ds/authentication_simulate_response.rb +1 -1
- data/lib/lithic/models/three_ds/challenge_response.rb +3 -3
- data/lib/lithic/models/tokenization.rb +5 -5
- data/lib/lithic/models/tokenization_list_params.rb +6 -6
- data/lib/lithic/models/tokenization_resend_activation_code_params.rb +4 -4
- data/lib/lithic/models/tokenization_simulate_params.rb +3 -3
- data/lib/lithic/models/tokenization_update_digital_card_art_params.rb +3 -3
- data/lib/lithic/models/transaction.rb +95 -95
- data/lib/lithic/models/transaction_list_params.rb +8 -8
- data/lib/lithic/models/transaction_simulate_authorization_advice_params.rb +1 -1
- data/lib/lithic/models/transaction_simulate_authorization_params.rb +38 -38
- data/lib/lithic/models/transaction_simulate_authorization_response.rb +1 -1
- data/lib/lithic/models/transaction_simulate_clearing_params.rb +7 -7
- data/lib/lithic/models/transaction_simulate_credit_authorization_params.rb +4 -4
- data/lib/lithic/models/transaction_simulate_void_params.rb +7 -7
- data/lib/lithic/models/transactions/events/enhanced_data.rb +2 -2
- data/lib/lithic/models/transfer.rb +25 -24
- data/lib/lithic/models/transfer_create_params.rb +4 -4
- data/lib/lithic/request_options.rb +7 -7
- data/lib/lithic/resources/account_holders.rb +52 -52
- data/lib/lithic/resources/accounts.rb +7 -7
- data/lib/lithic/resources/aggregate_balances.rb +1 -1
- data/lib/lithic/resources/auth_rules/v2/backtests.rb +38 -38
- data/lib/lithic/resources/auth_rules/v2.rb +58 -58
- data/lib/lithic/resources/auth_stream_enrollment.rb +8 -8
- data/lib/lithic/resources/book_transfers.rb +2 -2
- data/lib/lithic/resources/cards/financial_transactions.rb +1 -1
- data/lib/lithic/resources/cards.rb +63 -63
- data/lib/lithic/resources/disputes.rb +6 -6
- data/lib/lithic/resources/events/subscriptions.rb +8 -8
- data/lib/lithic/resources/events.rb +2 -2
- data/lib/lithic/resources/external_payments.rb +1 -1
- data/lib/lithic/resources/financial_accounts/financial_transactions.rb +1 -1
- data/lib/lithic/resources/financial_accounts/loan_tapes.rb +1 -1
- data/lib/lithic/resources/financial_accounts/statements.rb +1 -1
- data/lib/lithic/resources/financial_accounts.rb +1 -1
- data/lib/lithic/resources/management_operations.rb +1 -1
- data/lib/lithic/resources/payments.rb +2 -2
- data/lib/lithic/resources/reports/settlement/network_totals.rb +1 -1
- data/lib/lithic/resources/three_ds/authentication.rb +6 -6
- data/lib/lithic/resources/three_ds/decisioning.rb +8 -8
- data/lib/lithic/resources/tokenization_decisioning.rb +7 -7
- data/lib/lithic/resources/tokenizations.rb +46 -46
- data/lib/lithic/resources/transactions/enhanced_commercial_data.rb +1 -1
- data/lib/lithic/resources/transactions/events/enhanced_commercial_data.rb +1 -1
- data/lib/lithic/resources/transactions.rb +24 -24
- data/lib/lithic/resources/transfers.rb +1 -1
- data/lib/lithic/version.rb +1 -1
- data/lib/lithic.rb +1 -0
- data/rbi/lib/lithic/client.rbi +6 -9
- data/rbi/lib/lithic/errors.rbi +3 -6
- data/rbi/lib/lithic/internal/cursor_page.rbi +1 -2
- data/rbi/lib/lithic/internal/single_page.rbi +1 -2
- data/rbi/lib/lithic/internal/transport/base_client.rbi +13 -27
- data/rbi/lib/lithic/internal/transport/pooled_net_requester.rbi +8 -14
- data/rbi/lib/lithic/internal/type/array_of.rbi +16 -22
- data/rbi/lib/lithic/internal/type/base_model.rbi +51 -66
- data/rbi/lib/lithic/internal/type/base_page.rbi +5 -10
- data/rbi/lib/lithic/internal/type/boolean.rbi +16 -10
- data/rbi/lib/lithic/internal/type/converter.rbi +42 -38
- data/rbi/lib/lithic/internal/type/enum.rbi +24 -21
- data/rbi/lib/lithic/internal/type/hash_of.rbi +13 -18
- data/rbi/lib/lithic/internal/type/io_like.rbi +49 -0
- data/rbi/lib/lithic/internal/type/request_parameters.rbi +1 -2
- data/rbi/lib/lithic/internal/type/union.rbi +17 -23
- data/rbi/lib/lithic/internal/type/unknown.rbi +12 -12
- data/rbi/lib/lithic/internal/util.rbi +67 -70
- data/rbi/lib/lithic/internal.rbi +1 -1
- data/rbi/lib/lithic/models/account.rbi +46 -56
- data/rbi/lib/lithic/models/account_financial_account_type.rbi +1 -2
- data/rbi/lib/lithic/models/account_holder.rbi +81 -99
- data/rbi/lib/lithic/models/account_holder_create_params.rbi +73 -90
- data/rbi/lib/lithic/models/account_holder_create_response.rbi +9 -12
- data/rbi/lib/lithic/models/account_holder_list_documents_params.rbi +2 -4
- data/rbi/lib/lithic/models/account_holder_list_documents_response.rbi +2 -4
- data/rbi/lib/lithic/models/account_holder_list_params.rbi +10 -13
- data/rbi/lib/lithic/models/account_holder_retrieve_document_params.rbi +2 -4
- data/rbi/lib/lithic/models/account_holder_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rbi +6 -11
- data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_params.rbi +5 -9
- data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_response.rbi +103 -123
- data/rbi/lib/lithic/models/account_holder_update_params.rbi +68 -94
- data/rbi/lib/lithic/models/account_holder_update_response.rbi +135 -140
- data/rbi/lib/lithic/models/account_holder_upload_document_params.rbi +3 -6
- data/rbi/lib/lithic/models/account_list_params.rbi +5 -6
- data/rbi/lib/lithic/models/account_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/account_retrieve_spend_limits_params.rbi +2 -4
- data/rbi/lib/lithic/models/account_spend_limits.rbi +14 -22
- data/rbi/lib/lithic/models/account_update_params.rbi +19 -25
- data/rbi/lib/lithic/models/address.rbi +7 -9
- data/rbi/lib/lithic/models/address_update.rbi +5 -7
- data/rbi/lib/lithic/models/aggregate_balance.rbi +7 -11
- data/rbi/lib/lithic/models/aggregate_balance_list_params.rbi +3 -6
- data/rbi/lib/lithic/models/api_status.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/auth_rule.rbi +9 -13
- data/rbi/lib/lithic/models/auth_rules/auth_rule_condition.rbi +48 -52
- data/rbi/lib/lithic/models/auth_rules/conditional_attribute.rbi +45 -46
- data/rbi/lib/lithic/models/auth_rules/conditional_block_parameters.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2/backtest_create_params.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2/backtest_create_response.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2/backtest_results.rbi +40 -54
- data/rbi/lib/lithic/models/auth_rules/v2/backtest_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_apply_params.rbi +1 -2
- data/rbi/lib/lithic/models/auth_rules/v2_apply_response.rbi +12 -23
- data/rbi/lib/lithic/models/auth_rules/v2_create_params.rbi +4 -9
- data/rbi/lib/lithic/models/auth_rules/v2_create_response.rbi +12 -23
- data/rbi/lib/lithic/models/auth_rules/v2_delete_params.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_draft_params.rbi +3 -6
- data/rbi/lib/lithic/models/auth_rules/v2_draft_response.rbi +12 -23
- data/rbi/lib/lithic/models/auth_rules/v2_list_params.rbi +4 -7
- data/rbi/lib/lithic/models/auth_rules/v2_list_response.rbi +12 -23
- data/rbi/lib/lithic/models/auth_rules/v2_promote_params.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_promote_response.rbi +12 -23
- data/rbi/lib/lithic/models/auth_rules/v2_report_params.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_report_response.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_retrieve_response.rbi +12 -23
- data/rbi/lib/lithic/models/auth_rules/v2_update_params.rbi +9 -13
- data/rbi/lib/lithic/models/auth_rules/v2_update_response.rbi +12 -23
- data/rbi/lib/lithic/models/auth_rules/velocity_limit_params.rbi +19 -24
- data/rbi/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +6 -7
- data/rbi/lib/lithic/models/auth_stream_enrollment_retrieve_secret_params.rbi +2 -4
- data/rbi/lib/lithic/models/auth_stream_enrollment_rotate_secret_params.rbi +2 -4
- data/rbi/lib/lithic/models/auth_stream_secret.rbi +2 -4
- data/rbi/lib/lithic/models/balance.rbi +7 -11
- data/rbi/lib/lithic/models/balance_list_params.rbi +4 -8
- data/rbi/lib/lithic/models/book_transfer_create_params.rbi +8 -13
- data/rbi/lib/lithic/models/book_transfer_list_params.rbi +10 -16
- data/rbi/lib/lithic/models/book_transfer_response.rbi +23 -33
- data/rbi/lib/lithic/models/book_transfer_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/book_transfer_reverse_params.rbi +2 -4
- data/rbi/lib/lithic/models/card.rbi +117 -127
- data/rbi/lib/lithic/models/card_convert_physical_params.rbi +24 -26
- data/rbi/lib/lithic/models/card_create_params.rbi +98 -104
- data/rbi/lib/lithic/models/card_embed_params.rbi +2 -4
- data/rbi/lib/lithic/models/card_list_params.rbi +7 -11
- data/rbi/lib/lithic/models/card_program.rbi +3 -6
- data/rbi/lib/lithic/models/card_program_list_params.rbi +4 -6
- data/rbi/lib/lithic/models/card_program_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/card_provision_params.rbi +14 -18
- data/rbi/lib/lithic/models/card_provision_response.rbi +2 -4
- data/rbi/lib/lithic/models/card_reissue_params.rbi +24 -26
- data/rbi/lib/lithic/models/card_renew_params.rbi +27 -31
- data/rbi/lib/lithic/models/card_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/card_retrieve_spend_limits_params.rbi +2 -4
- data/rbi/lib/lithic/models/card_search_by_pan_params.rbi +2 -4
- data/rbi/lib/lithic/models/card_spend_limits.rbi +14 -22
- data/rbi/lib/lithic/models/card_update_params.rbi +37 -42
- data/rbi/lib/lithic/models/cards/aggregate_balance_list_params.rbi +2 -4
- data/rbi/lib/lithic/models/cards/aggregate_balance_list_response.rbi +6 -9
- data/rbi/lib/lithic/models/cards/balance_list_params.rbi +4 -6
- data/rbi/lib/lithic/models/cards/balance_list_response.rbi +7 -11
- data/rbi/lib/lithic/models/cards/financial_transaction_list_params.rbi +9 -15
- data/rbi/lib/lithic/models/cards/financial_transaction_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/carrier.rbi +2 -4
- data/rbi/lib/lithic/models/client_api_status_params.rbi +2 -4
- data/rbi/lib/lithic/models/credit_products/extended_credit.rbi +2 -4
- data/rbi/lib/lithic/models/credit_products/extended_credit_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/credit_products/prime_rate_create_params.rbi +2 -4
- data/rbi/lib/lithic/models/credit_products/prime_rate_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/credit_products/prime_rate_retrieve_response.rbi +4 -8
- data/rbi/lib/lithic/models/digital_card_art.rbi +2 -4
- data/rbi/lib/lithic/models/digital_card_art_list_params.rbi +4 -6
- data/rbi/lib/lithic/models/digital_card_art_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/dispute.rbi +93 -99
- data/rbi/lib/lithic/models/dispute_create_params.rbi +2 -4
- data/rbi/lib/lithic/models/dispute_delete_evidence_params.rbi +2 -4
- data/rbi/lib/lithic/models/dispute_delete_params.rbi +2 -4
- data/rbi/lib/lithic/models/dispute_evidence.rbi +13 -15
- data/rbi/lib/lithic/models/dispute_initiate_evidence_upload_params.rbi +2 -4
- data/rbi/lib/lithic/models/dispute_list_evidences_params.rbi +5 -6
- data/rbi/lib/lithic/models/dispute_list_params.rbi +7 -11
- data/rbi/lib/lithic/models/dispute_retrieve_evidence_params.rbi +2 -4
- data/rbi/lib/lithic/models/dispute_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/dispute_update_params.rbi +2 -4
- data/rbi/lib/lithic/models/document.rbi +13 -21
- data/rbi/lib/lithic/models/event.rbi +58 -61
- data/rbi/lib/lithic/models/event_list_attempts_params.rbi +7 -11
- data/rbi/lib/lithic/models/event_list_params.rbi +7 -11
- data/rbi/lib/lithic/models/event_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/event_subscription.rbi +3 -6
- data/rbi/lib/lithic/models/events/event_subscription_resend_params.rbi +2 -4
- data/rbi/lib/lithic/models/events/subscription_create_params.rbi +4 -7
- data/rbi/lib/lithic/models/events/subscription_delete_params.rbi +2 -4
- data/rbi/lib/lithic/models/events/subscription_list_attempts_params.rbi +7 -11
- data/rbi/lib/lithic/models/events/subscription_list_params.rbi +4 -6
- data/rbi/lib/lithic/models/events/subscription_recover_params.rbi +4 -6
- data/rbi/lib/lithic/models/events/subscription_replay_missing_params.rbi +4 -6
- data/rbi/lib/lithic/models/events/subscription_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/events/subscription_retrieve_secret_params.rbi +2 -4
- data/rbi/lib/lithic/models/events/subscription_retrieve_secret_response.rbi +2 -4
- data/rbi/lib/lithic/models/events/subscription_rotate_secret_params.rbi +2 -4
- data/rbi/lib/lithic/models/events/subscription_send_simulated_example_params.rbi +3 -6
- data/rbi/lib/lithic/models/events/subscription_update_params.rbi +4 -7
- data/rbi/lib/lithic/models/external_bank_account_address.rbi +2 -4
- data/rbi/lib/lithic/models/external_bank_account_create_params.rbi +8 -13
- data/rbi/lib/lithic/models/external_bank_account_create_response.rbi +18 -26
- data/rbi/lib/lithic/models/external_bank_account_list_params.rbi +7 -13
- data/rbi/lib/lithic/models/external_bank_account_list_response.rbi +18 -26
- data/rbi/lib/lithic/models/external_bank_account_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/external_bank_account_retrieve_response.rbi +18 -26
- data/rbi/lib/lithic/models/external_bank_account_retry_micro_deposits_params.rbi +2 -4
- data/rbi/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rbi +18 -26
- data/rbi/lib/lithic/models/external_bank_account_retry_prenote_params.rbi +2 -4
- data/rbi/lib/lithic/models/external_bank_account_retry_prenote_response.rbi +16 -22
- data/rbi/lib/lithic/models/external_bank_account_update_params.rbi +4 -8
- data/rbi/lib/lithic/models/external_bank_account_update_response.rbi +18 -26
- data/rbi/lib/lithic/models/external_bank_accounts/micro_deposit_create_params.rbi +2 -4
- data/rbi/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rbi +18 -26
- data/rbi/lib/lithic/models/external_payment.rbi +10 -21
- data/rbi/lib/lithic/models/external_payment_cancel_params.rbi +2 -4
- data/rbi/lib/lithic/models/external_payment_create_params.rbi +5 -11
- data/rbi/lib/lithic/models/external_payment_list_params.rbi +10 -16
- data/rbi/lib/lithic/models/external_payment_release_params.rbi +2 -4
- data/rbi/lib/lithic/models/external_payment_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/external_payment_reverse_params.rbi +2 -4
- data/rbi/lib/lithic/models/external_payment_settle_params.rbi +3 -6
- data/rbi/lib/lithic/models/financial_account.rbi +9 -20
- data/rbi/lib/lithic/models/financial_account_create_params.rbi +2 -4
- data/rbi/lib/lithic/models/financial_account_list_params.rbi +3 -6
- data/rbi/lib/lithic/models/financial_account_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/financial_account_update_params.rbi +2 -4
- data/rbi/lib/lithic/models/financial_account_update_status_params.rbi +4 -8
- data/rbi/lib/lithic/models/financial_accounts/balance_list_params.rbi +4 -6
- data/rbi/lib/lithic/models/financial_accounts/balance_list_response.rbi +7 -11
- data/rbi/lib/lithic/models/financial_accounts/credit_configuration_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/financial_accounts/credit_configuration_update_params.rbi +2 -5
- data/rbi/lib/lithic/models/financial_accounts/financial_account_credit_config.rbi +4 -9
- data/rbi/lib/lithic/models/financial_accounts/financial_transaction_list_params.rbi +9 -15
- data/rbi/lib/lithic/models/financial_accounts/financial_transaction_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/financial_accounts/loan_tape.rbi +51 -91
- data/rbi/lib/lithic/models/financial_accounts/loan_tape_list_params.rbi +5 -6
- data/rbi/lib/lithic/models/financial_accounts/loan_tape_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/financial_accounts/statement.rbi +30 -56
- data/rbi/lib/lithic/models/financial_accounts/statement_list_params.rbi +6 -9
- data/rbi/lib/lithic/models/financial_accounts/statement_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/financial_accounts/statements/line_item_list_params.rbi +3 -4
- data/rbi/lib/lithic/models/financial_accounts/statements/statement_line_items.rbi +12 -14
- data/rbi/lib/lithic/models/financial_accounts/statements.rbi +2 -4
- data/rbi/lib/lithic/models/financial_transaction.rbi +44 -53
- data/rbi/lib/lithic/models/instance_financial_account_type.rbi +1 -2
- data/rbi/lib/lithic/models/kyb.rbi +58 -72
- data/rbi/lib/lithic/models/kyb_business_entity.rbi +13 -18
- data/rbi/lib/lithic/models/kyc.rbi +17 -22
- data/rbi/lib/lithic/models/kyc_exempt.rbi +8 -13
- data/rbi/lib/lithic/models/management_operation_create_params.rbi +5 -11
- data/rbi/lib/lithic/models/management_operation_list_params.rbi +9 -14
- data/rbi/lib/lithic/models/management_operation_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/management_operation_reverse_params.rbi +2 -4
- data/rbi/lib/lithic/models/management_operation_transaction.rbi +60 -20
- data/rbi/lib/lithic/models/message_attempt.rbi +3 -5
- data/rbi/lib/lithic/models/owner_type.rbi +1 -2
- data/rbi/lib/lithic/models/payment.rbi +85 -89
- data/rbi/lib/lithic/models/payment_create_params.rbi +8 -16
- data/rbi/lib/lithic/models/payment_create_response.rbi +2 -4
- data/rbi/lib/lithic/models/payment_list_params.rbi +9 -15
- data/rbi/lib/lithic/models/payment_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/payment_retry_params.rbi +2 -4
- data/rbi/lib/lithic/models/payment_retry_response.rbi +2 -4
- data/rbi/lib/lithic/models/payment_simulate_action_params.rbi +4 -8
- data/rbi/lib/lithic/models/payment_simulate_action_response.rbi +3 -6
- data/rbi/lib/lithic/models/payment_simulate_receipt_params.rbi +2 -4
- data/rbi/lib/lithic/models/payment_simulate_receipt_response.rbi +3 -6
- data/rbi/lib/lithic/models/payment_simulate_release_params.rbi +2 -4
- data/rbi/lib/lithic/models/payment_simulate_release_response.rbi +3 -6
- data/rbi/lib/lithic/models/payment_simulate_return_params.rbi +2 -4
- data/rbi/lib/lithic/models/payment_simulate_return_response.rbi +3 -6
- data/rbi/lib/lithic/models/reports/settlement/network_total_list_params.rbi +8 -12
- data/rbi/lib/lithic/models/reports/settlement/network_total_list_response.rbi +12 -18
- data/rbi/lib/lithic/models/reports/settlement/network_total_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/reports/settlement/network_total_retrieve_response.rbi +12 -18
- data/rbi/lib/lithic/models/reports/settlement_list_details_params.rbi +4 -6
- data/rbi/lib/lithic/models/reports/settlement_summary_params.rbi +2 -4
- data/rbi/lib/lithic/models/required_document.rbi +4 -6
- data/rbi/lib/lithic/models/responder_endpoint_check_status_params.rbi +3 -6
- data/rbi/lib/lithic/models/responder_endpoint_create_params.rbi +3 -6
- data/rbi/lib/lithic/models/responder_endpoint_create_response.rbi +2 -4
- data/rbi/lib/lithic/models/responder_endpoint_delete_params.rbi +3 -6
- data/rbi/lib/lithic/models/responder_endpoint_status.rbi +2 -4
- data/rbi/lib/lithic/models/settlement_detail.rbi +11 -18
- data/rbi/lib/lithic/models/settlement_report.rbi +17 -20
- data/rbi/lib/lithic/models/settlement_summary_details.rbi +6 -10
- data/rbi/lib/lithic/models/shipping_address.rbi +11 -14
- data/rbi/lib/lithic/models/spend_limit_duration.rbi +11 -12
- data/rbi/lib/lithic/models/three_ds/authentication_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/three_ds/authentication_retrieve_response.rbi +137 -176
- data/rbi/lib/lithic/models/three_ds/authentication_simulate_otp_entry_params.rbi +3 -5
- data/rbi/lib/lithic/models/three_ds/authentication_simulate_params.rbi +14 -21
- data/rbi/lib/lithic/models/three_ds/authentication_simulate_response.rbi +3 -5
- data/rbi/lib/lithic/models/three_ds/challenge_response.rbi +5 -7
- data/rbi/lib/lithic/models/three_ds/challenge_result.rbi +1 -2
- data/rbi/lib/lithic/models/three_ds/decisioning_challenge_response_params.rbi +2 -4
- data/rbi/lib/lithic/models/three_ds/decisioning_retrieve_secret_params.rbi +2 -4
- data/rbi/lib/lithic/models/three_ds/decisioning_retrieve_secret_response.rbi +2 -4
- data/rbi/lib/lithic/models/three_ds/decisioning_rotate_secret_params.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization.rbi +14 -24
- data/rbi/lib/lithic/models/tokenization_activate_params.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_deactivate_params.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_decisioning_retrieve_secret_params.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_decisioning_rotate_secret_params.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_decisioning_rotate_secret_response.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_list_params.rbi +7 -11
- data/rbi/lib/lithic/models/tokenization_pause_params.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_resend_activation_code_params.rbi +7 -10
- data/rbi/lib/lithic/models/tokenization_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_retrieve_response.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_secret.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_simulate_params.rbi +7 -12
- data/rbi/lib/lithic/models/tokenization_simulate_response.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_unpause_params.rbi +2 -4
- data/rbi/lib/lithic/models/tokenization_update_digital_card_art_params.rbi +5 -7
- data/rbi/lib/lithic/models/tokenization_update_digital_card_art_response.rbi +2 -4
- data/rbi/lib/lithic/models/transaction.rbi +168 -236
- data/rbi/lib/lithic/models/transaction_expire_authorization_params.rbi +2 -4
- data/rbi/lib/lithic/models/transaction_list_params.rbi +10 -15
- data/rbi/lib/lithic/models/transaction_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/transaction_simulate_authorization_advice_params.rbi +3 -5
- data/rbi/lib/lithic/models/transaction_simulate_authorization_advice_response.rbi +2 -4
- data/rbi/lib/lithic/models/transaction_simulate_authorization_params.rbi +41 -45
- data/rbi/lib/lithic/models/transaction_simulate_authorization_response.rbi +3 -5
- data/rbi/lib/lithic/models/transaction_simulate_clearing_params.rbi +9 -11
- data/rbi/lib/lithic/models/transaction_simulate_clearing_response.rbi +2 -4
- data/rbi/lib/lithic/models/transaction_simulate_credit_authorization_params.rbi +6 -8
- data/rbi/lib/lithic/models/transaction_simulate_credit_authorization_response.rbi +2 -4
- data/rbi/lib/lithic/models/transaction_simulate_return_params.rbi +2 -4
- data/rbi/lib/lithic/models/transaction_simulate_return_response.rbi +2 -4
- data/rbi/lib/lithic/models/transaction_simulate_return_reversal_params.rbi +2 -4
- data/rbi/lib/lithic/models/transaction_simulate_return_reversal_response.rbi +2 -4
- data/rbi/lib/lithic/models/transaction_simulate_void_params.rbi +10 -13
- data/rbi/lib/lithic/models/transaction_simulate_void_response.rbi +2 -4
- data/rbi/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_response.rbi +2 -4
- data/rbi/lib/lithic/models/transactions/events/enhanced_commercial_data_retrieve_params.rbi +2 -4
- data/rbi/lib/lithic/models/transactions/events/enhanced_data.rbi +21 -35
- data/rbi/lib/lithic/models/transfer.rbi +34 -43
- data/rbi/lib/lithic/models/transfer_create_params.rbi +6 -8
- data/rbi/lib/lithic/models/verification_method.rbi +1 -2
- data/rbi/lib/lithic/request_options.rbi +9 -11
- data/rbi/lib/lithic/resources/account_holders.rbi +118 -145
- data/rbi/lib/lithic/resources/accounts.rbi +26 -35
- data/rbi/lib/lithic/resources/aggregate_balances.rbi +3 -6
- data/rbi/lib/lithic/resources/auth_rules/v2/backtests.rbi +40 -45
- data/rbi/lib/lithic/resources/auth_rules/v2.rbi +69 -88
- data/rbi/lib/lithic/resources/auth_rules.rbi +1 -2
- data/rbi/lib/lithic/resources/auth_stream_enrollment.rbi +11 -14
- data/rbi/lib/lithic/resources/balances.rbi +3 -6
- data/rbi/lib/lithic/resources/book_transfers.rbi +15 -24
- data/rbi/lib/lithic/resources/card_programs.rbi +5 -10
- data/rbi/lib/lithic/resources/cards/aggregate_balances.rbi +2 -5
- data/rbi/lib/lithic/resources/cards/balances.rbi +4 -7
- data/rbi/lib/lithic/resources/cards/financial_transactions.rbi +7 -12
- data/rbi/lib/lithic/resources/cards.rbi +215 -236
- data/rbi/lib/lithic/resources/credit_products/extended_credit.rbi +2 -5
- data/rbi/lib/lithic/resources/credit_products/prime_rates.rbi +3 -8
- data/rbi/lib/lithic/resources/credit_products.rbi +1 -2
- data/rbi/lib/lithic/resources/digital_card_art.rbi +8 -13
- data/rbi/lib/lithic/resources/disputes.rbi +22 -37
- data/rbi/lib/lithic/resources/events/event_subscriptions.rbi +2 -4
- data/rbi/lib/lithic/resources/events/subscriptions.rbi +29 -48
- data/rbi/lib/lithic/resources/events.rbi +12 -18
- data/rbi/lib/lithic/resources/external_bank_accounts/micro_deposits.rbi +2 -4
- data/rbi/lib/lithic/resources/external_bank_accounts.rbi +18 -23
- data/rbi/lib/lithic/resources/external_payments.rbi +13 -28
- data/rbi/lib/lithic/resources/financial_accounts/balances.rbi +4 -7
- data/rbi/lib/lithic/resources/financial_accounts/credit_configuration.rbi +3 -8
- data/rbi/lib/lithic/resources/financial_accounts/financial_transactions.rbi +7 -12
- data/rbi/lib/lithic/resources/financial_accounts/loan_tapes.rbi +7 -12
- data/rbi/lib/lithic/resources/financial_accounts/statements/line_items.rbi +5 -8
- data/rbi/lib/lithic/resources/financial_accounts/statements.rbi +7 -12
- data/rbi/lib/lithic/resources/financial_accounts.rbi +7 -16
- data/rbi/lib/lithic/resources/management_operations.rbi +10 -19
- data/rbi/lib/lithic/resources/payments.rbi +14 -29
- data/rbi/lib/lithic/resources/reports/settlement/network_totals.rbi +8 -13
- data/rbi/lib/lithic/resources/reports/settlement.rbi +5 -10
- data/rbi/lib/lithic/resources/reports.rbi +1 -2
- data/rbi/lib/lithic/resources/responder_endpoints.rbi +4 -11
- data/rbi/lib/lithic/resources/three_ds/authentication.rbi +12 -19
- data/rbi/lib/lithic/resources/three_ds/decisioning.rbi +15 -20
- data/rbi/lib/lithic/resources/three_ds.rbi +1 -2
- data/rbi/lib/lithic/resources/tokenization_decisioning.rbi +10 -13
- data/rbi/lib/lithic/resources/tokenizations.rbi +66 -85
- data/rbi/lib/lithic/resources/transactions/enhanced_commercial_data.rbi +3 -6
- data/rbi/lib/lithic/resources/transactions/events/enhanced_commercial_data.rbi +3 -6
- data/rbi/lib/lithic/resources/transactions/events.rbi +1 -2
- data/rbi/lib/lithic/resources/transactions.rbi +79 -100
- data/rbi/lib/lithic/resources/transfers.rbi +7 -10
- data/sig/lithic/internal/transport/pooled_net_requester.rbs +1 -1
- data/sig/lithic/internal/type/array_of.rbs +5 -2
- data/sig/lithic/internal/type/base_model.rbs +5 -2
- data/sig/lithic/internal/type/boolean.rbs +5 -2
- data/sig/lithic/internal/type/converter.rbs +11 -5
- data/sig/lithic/internal/type/enum.rbs +5 -2
- data/sig/lithic/internal/type/hash_of.rbs +5 -2
- data/sig/lithic/internal/type/io_like.rbs +23 -0
- data/sig/lithic/internal/type/union.rbs +5 -2
- data/sig/lithic/internal/type/unknown.rbs +5 -2
- data/sig/lithic/internal/util.rbs +17 -2
- data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +2 -0
- data/sig/lithic/models/financial_transaction.rbs +2 -0
- data/sig/lithic/models/management_operation_transaction.rbs +27 -0
- data/sig/lithic/models/payment.rbs +8 -2
- data/sig/lithic/models/transfer.rbs +2 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cffcad507449a6e55f01ed7851a9c6912a40990c5b944c4f936333ae40767460
|
4
|
+
data.tar.gz: c0786e5614e6db99716bcb406919d7c7a461416595ad7265e28f95590eab3fdf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd4805426b8018a320598907b4a45c22b8b392fa1d623154ae9034252f8485aaeca6bfd6e79969538992fc0c8f679651554fdd36af8ba8a2d5abc08e64dd094f
|
7
|
+
data.tar.gz: '0861a2ac0c6b712cd745f857bc16c740ca39e4ea8317cad315446335637cafc38c77bbcbea45883fa718f8edc5d5781cdd1e0d6310feb4a8186d47b4cdeba62d'
|
data/README.md
CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
15
15
|
<!-- x-release-please-start-version -->
|
16
16
|
|
17
17
|
```ruby
|
18
|
-
gem "lithic", "~> 0.1.0.pre.alpha.
|
18
|
+
gem "lithic", "~> 0.1.0.pre.alpha.7"
|
19
19
|
```
|
20
20
|
|
21
21
|
<!-- x-release-please-end -->
|
@@ -141,6 +141,13 @@ After Solargraph is installed, **you must populate its index** either via the pr
|
|
141
141
|
bundle exec solargraph gems
|
142
142
|
```
|
143
143
|
|
144
|
+
Note: if you had installed the gem either using a `git:` or `github:` URL, or had vendored the gem using bundler, you will need to set up your [`.solargraph.yml`](https://solargraph.org/guides/configuration) to include the path to the gem's `lib` directory.
|
145
|
+
|
146
|
+
```yaml
|
147
|
+
include:
|
148
|
+
- 'vendor/bundle/ruby/*/gems/lithic-*/lib/**/*.rb'
|
149
|
+
```
|
150
|
+
|
144
151
|
Otherwise Solargraph will not be able to provide type information or auto-completion for any non-indexed libraries.
|
145
152
|
|
146
153
|
### Sorbet
|
data/lib/lithic/client.rb
CHANGED
@@ -129,10 +129,10 @@ module Lithic
|
|
129
129
|
#
|
130
130
|
# @param environment [:production, :sandbox, nil] Specifies the environment to use for the API.
|
131
131
|
#
|
132
|
-
#
|
132
|
+
# Each environment maps to a different base URL:
|
133
133
|
#
|
134
|
-
#
|
135
|
-
#
|
134
|
+
# - `production` corresponds to `https://api.lithic.com`
|
135
|
+
# - `sandbox` corresponds to `https://sandbox.lithic.com`
|
136
136
|
#
|
137
137
|
# @param base_url [String, nil] Override the default base URL for the API, e.g., `"https://api.example.com/v2/"`
|
138
138
|
#
|
@@ -380,7 +380,7 @@ module Lithic
|
|
380
380
|
in (400..) | Lithic::Errors::APIConnectionError
|
381
381
|
self.class.reap_connection!(status, stream: stream)
|
382
382
|
|
383
|
-
delay = retry_delay(response, retry_count: retry_count)
|
383
|
+
delay = retry_delay(response || {}, retry_count: retry_count)
|
384
384
|
sleep(delay)
|
385
385
|
|
386
386
|
send_request(
|
@@ -393,7 +393,7 @@ module Lithic
|
|
393
393
|
end
|
394
394
|
|
395
395
|
# Execute the request specified by `req`. This is the method that all resource
|
396
|
-
#
|
396
|
+
# methods call into.
|
397
397
|
#
|
398
398
|
# @overload request(method, path, query: {}, headers: {}, body: nil, unwrap: nil, page: nil, stream: nil, model: Lithic::Internal::Type::Unknown, options: {})
|
399
399
|
#
|
@@ -6,7 +6,7 @@ module Lithic
|
|
6
6
|
# @api private
|
7
7
|
class PooledNetRequester
|
8
8
|
# from the golang stdlib
|
9
|
-
#
|
9
|
+
# https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
|
10
10
|
KEEP_ALIVE_TIMEOUT = 30
|
11
11
|
|
12
12
|
class << self
|
@@ -54,7 +54,7 @@ module Lithic
|
|
54
54
|
# @param blk [Proc]
|
55
55
|
#
|
56
56
|
# @yieldparam [String]
|
57
|
-
# @return [Net::HTTPGenericRequest]
|
57
|
+
# @return [Array(Net::HTTPGenericRequest, Proc)]
|
58
58
|
def build_request(request, &blk)
|
59
59
|
method, url, headers, body = request.fetch_values(:method, :url, :headers, :body)
|
60
60
|
req = Net::HTTPGenericRequest.new(
|
@@ -75,12 +75,12 @@ module Lithic
|
|
75
75
|
in StringIO
|
76
76
|
req["content-length"] ||= body.size.to_s unless req["transfer-encoding"]
|
77
77
|
req.body_stream = Lithic::Internal::Util::ReadIOAdapter.new(body, &blk)
|
78
|
-
in IO | Enumerator
|
78
|
+
in Pathname | IO | Enumerator
|
79
79
|
req["transfer-encoding"] ||= "chunked" unless req["content-length"]
|
80
80
|
req.body_stream = Lithic::Internal::Util::ReadIOAdapter.new(body, &blk)
|
81
81
|
end
|
82
82
|
|
83
|
-
req
|
83
|
+
[req, req.body_stream&.method(:close)]
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
@@ -123,13 +123,17 @@ module Lithic
|
|
123
123
|
def execute(request)
|
124
124
|
url, deadline = request.fetch_values(:url, :deadline)
|
125
125
|
|
126
|
+
req = nil
|
126
127
|
eof = false
|
127
128
|
finished = false
|
129
|
+
closing = nil
|
130
|
+
|
131
|
+
# rubocop:disable Metrics/BlockLength
|
128
132
|
enum = Enumerator.new do |y|
|
129
133
|
with_pool(url, deadline: deadline) do |conn|
|
130
134
|
next if finished
|
131
135
|
|
132
|
-
req = self.class.build_request(request) do
|
136
|
+
req, closing = self.class.build_request(request) do
|
133
137
|
self.class.calibrate_socket_timeout(conn, deadline)
|
134
138
|
end
|
135
139
|
|
@@ -154,8 +158,11 @@ module Lithic
|
|
154
158
|
end
|
155
159
|
end
|
156
160
|
rescue Timeout::Error
|
157
|
-
raise Lithic::Errors::APITimeoutError
|
161
|
+
raise Lithic::Errors::APITimeoutError.new(url: url, request: req)
|
162
|
+
rescue StandardError
|
163
|
+
raise Lithic::Errors::APIConnectionError.new(url: url, request: req)
|
158
164
|
end
|
165
|
+
# rubocop:enable Metrics/BlockLength
|
159
166
|
|
160
167
|
conn, _, response = enum.next
|
161
168
|
body = Lithic::Internal::Util.fused_enum(enum, external: true) do
|
@@ -165,7 +172,9 @@ module Lithic
|
|
165
172
|
rescue StopIteration
|
166
173
|
nil
|
167
174
|
end
|
175
|
+
ensure
|
168
176
|
conn.finish if !eof && conn&.started?
|
177
|
+
closing&.call
|
169
178
|
end
|
170
179
|
[Integer(response.code), response, (response.body = body)]
|
171
180
|
end
|
@@ -79,10 +79,20 @@ module Lithic
|
|
79
79
|
#
|
80
80
|
# @param value [Array<Object>, Object]
|
81
81
|
#
|
82
|
+
# @param state [Hash{Symbol=>Object}] .
|
83
|
+
#
|
84
|
+
# @option state [Boolean] :can_retry
|
85
|
+
#
|
82
86
|
# @return [Array<Object>, Object]
|
83
|
-
def dump(value)
|
87
|
+
def dump(value, state:)
|
84
88
|
target = item_type
|
85
|
-
value.is_a?(Array)
|
89
|
+
if value.is_a?(Array)
|
90
|
+
value.map do
|
91
|
+
Lithic::Internal::Type::Converter.dump(target, _1, state: state)
|
92
|
+
end
|
93
|
+
else
|
94
|
+
super
|
95
|
+
end
|
86
96
|
end
|
87
97
|
|
88
98
|
# @api private
|
@@ -19,7 +19,7 @@ module Lithic
|
|
19
19
|
# @api private
|
20
20
|
#
|
21
21
|
# Assumes superclass fields are totally defined before fields are accessed /
|
22
|
-
#
|
22
|
+
# defined on subclasses.
|
23
23
|
#
|
24
24
|
# @return [Hash{Symbol=>Hash{Symbol=>Object}}]
|
25
25
|
def known_fields
|
@@ -143,7 +143,7 @@ module Lithic
|
|
143
143
|
# @api private
|
144
144
|
#
|
145
145
|
# `request_only` attributes not excluded from `.#coerce` when receiving responses
|
146
|
-
#
|
146
|
+
# even if well behaved servers should not send them
|
147
147
|
#
|
148
148
|
# @param blk [Proc]
|
149
149
|
private def request_only(&blk)
|
@@ -252,36 +252,37 @@ module Lithic
|
|
252
252
|
#
|
253
253
|
# @param value [Lithic::Internal::Type::BaseModel, Object]
|
254
254
|
#
|
255
|
+
# @param state [Hash{Symbol=>Object}] .
|
256
|
+
#
|
257
|
+
# @option state [Boolean] :can_retry
|
258
|
+
#
|
255
259
|
# @return [Hash{Object=>Object}, Object]
|
256
|
-
def dump(value)
|
260
|
+
def dump(value, state:)
|
257
261
|
unless (coerced = Lithic::Internal::Util.coerce_hash(value)).is_a?(Hash)
|
258
262
|
return super
|
259
263
|
end
|
260
264
|
|
261
|
-
is_param = singleton_class <= Lithic::Internal::Type::RequestParameters::Converter
|
262
265
|
acc = {}
|
263
266
|
|
264
267
|
coerced.each do |key, val|
|
265
268
|
name = key.is_a?(String) ? key.to_sym : key
|
266
269
|
case (field = known_fields[name])
|
267
270
|
in nil
|
268
|
-
acc.store(name, super(val))
|
271
|
+
acc.store(name, super(val, state: state))
|
269
272
|
else
|
270
|
-
mode, type_fn = field.fetch_values(:mode, :type_fn)
|
273
|
+
api_name, mode, type_fn = field.fetch_values(:api_name, :mode, :type_fn)
|
271
274
|
case mode
|
272
275
|
in :coerce
|
273
276
|
next
|
274
277
|
else
|
275
278
|
target = type_fn.call
|
276
|
-
api_name
|
277
|
-
acc.store(api_name, Lithic::Internal::Type::Converter.dump(target, val))
|
279
|
+
acc.store(api_name, Lithic::Internal::Type::Converter.dump(target, val, state: state))
|
278
280
|
end
|
279
281
|
end
|
280
282
|
end
|
281
283
|
|
282
|
-
known_fields.
|
283
|
-
mode, const = field.fetch_values(:mode, :const)
|
284
|
-
api_name = is_param ? name : field.fetch(:api_name)
|
284
|
+
known_fields.each_value do |field|
|
285
|
+
api_name, mode, const = field.fetch_values(:api_name, :mode, :const)
|
285
286
|
next if mode == :coerce || acc.key?(api_name) || const == Lithic::Internal::OMIT
|
286
287
|
acc.store(api_name, const)
|
287
288
|
end
|
@@ -291,11 +292,11 @@ module Lithic
|
|
291
292
|
end
|
292
293
|
|
293
294
|
# Returns the raw value associated with the given key, if found. Otherwise, nil is
|
294
|
-
#
|
295
|
+
# returned.
|
295
296
|
#
|
296
|
-
#
|
297
|
-
#
|
298
|
-
#
|
297
|
+
# It is valid to lookup keys that are not in the API spec, for example to access
|
298
|
+
# undocumented features. This method does not parse response data into
|
299
|
+
# higher-level types. Lookup by anything other than a Symbol is an ArgumentError.
|
299
300
|
#
|
300
301
|
# @param key [Symbol]
|
301
302
|
#
|
@@ -310,12 +311,12 @@ module Lithic
|
|
310
311
|
|
311
312
|
# Returns a Hash of the data underlying this object. O(1)
|
312
313
|
#
|
313
|
-
#
|
314
|
-
#
|
315
|
-
#
|
314
|
+
# Keys are Symbols and values are the raw values from the response. The return
|
315
|
+
# value indicates which values were ever set on the object. i.e. there will be a
|
316
|
+
# key in this hash if they ever were, even if the set value was nil.
|
316
317
|
#
|
317
|
-
#
|
318
|
-
#
|
318
|
+
# This method is not recursive. The returned value is shared by the object, so it
|
319
|
+
# should not be mutated.
|
319
320
|
#
|
320
321
|
# @return [Hash{Symbol=>Object}]
|
321
322
|
def to_h = @data
|
@@ -340,12 +341,12 @@ module Lithic
|
|
340
341
|
# @param a [Object]
|
341
342
|
#
|
342
343
|
# @return [String]
|
343
|
-
def to_json(*a) =
|
344
|
+
def to_json(*a) = Lithic::Internal::Type::Converter.dump(self.class, self).to_json(*a)
|
344
345
|
|
345
346
|
# @param a [Object]
|
346
347
|
#
|
347
348
|
# @return [String]
|
348
|
-
def to_yaml(*a) =
|
349
|
+
def to_yaml(*a) = Lithic::Internal::Type::Converter.dump(self.class, self).to_yaml(*a)
|
349
350
|
|
350
351
|
# Create a new instance of a model.
|
351
352
|
#
|
@@ -45,8 +45,12 @@ module Lithic
|
|
45
45
|
# #
|
46
46
|
# # @param value [Boolean, Object]
|
47
47
|
# #
|
48
|
+
# # @param state [Hash{Symbol=>Object}] .
|
49
|
+
# #
|
50
|
+
# # @option state [Boolean] :can_retry
|
51
|
+
# #
|
48
52
|
# # @return [Boolean, Object]
|
49
|
-
# def dump(value) = super
|
53
|
+
# def dump(value, state:) = super
|
50
54
|
end
|
51
55
|
end
|
52
56
|
end
|
@@ -3,7 +3,6 @@
|
|
3
3
|
module Lithic
|
4
4
|
module Internal
|
5
5
|
module Type
|
6
|
-
# rubocop:disable Metrics/ModuleLength
|
7
6
|
# @api private
|
8
7
|
module Converter
|
9
8
|
# rubocop:disable Lint/UnusedMethodArgument
|
@@ -27,15 +26,24 @@ module Lithic
|
|
27
26
|
#
|
28
27
|
# @param value [Object]
|
29
28
|
#
|
29
|
+
# @param state [Hash{Symbol=>Object}] .
|
30
|
+
#
|
31
|
+
# @option state [Boolean] :can_retry
|
32
|
+
#
|
30
33
|
# @return [Object]
|
31
|
-
def dump(value)
|
34
|
+
def dump(value, state:)
|
32
35
|
case value
|
33
36
|
in Array
|
34
|
-
value.map { Lithic::Internal::Type::Unknown.dump(_1) }
|
37
|
+
value.map { Lithic::Internal::Type::Unknown.dump(_1, state: state) }
|
35
38
|
in Hash
|
36
|
-
value.transform_values { Lithic::Internal::Type::Unknown.dump(_1) }
|
39
|
+
value.transform_values { Lithic::Internal::Type::Unknown.dump(_1, state: state) }
|
37
40
|
in Lithic::Internal::Type::BaseModel
|
38
|
-
value.class.dump(value)
|
41
|
+
value.class.dump(value, state: state)
|
42
|
+
in StringIO
|
43
|
+
value.string
|
44
|
+
in Pathname | IO
|
45
|
+
state[:can_retry] = false if value.is_a?(IO)
|
46
|
+
Lithic::Internal::Util::SerializationAdapter.new(value)
|
39
47
|
else
|
40
48
|
value
|
41
49
|
end
|
@@ -76,37 +84,37 @@ module Lithic
|
|
76
84
|
#
|
77
85
|
# Based on `target`, transform `value` into `target`, to the extent possible:
|
78
86
|
#
|
79
|
-
#
|
80
|
-
#
|
81
|
-
#
|
82
|
-
#
|
87
|
+
# 1. if the given `value` conforms to `target` already, return the given `value`
|
88
|
+
# 2. if it's possible and safe to convert the given `value` to `target`, then the
|
89
|
+
# converted value
|
90
|
+
# 3. otherwise, the given `value` unaltered
|
83
91
|
#
|
84
|
-
#
|
85
|
-
#
|
92
|
+
# The coercion process is subject to improvement between minor release versions.
|
93
|
+
# See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
|
86
94
|
#
|
87
95
|
# @param target [Lithic::Internal::Type::Converter, Class]
|
88
96
|
#
|
89
97
|
# @param value [Object]
|
90
98
|
#
|
91
99
|
# @param state [Hash{Symbol=>Object}] The `strictness` is one of `true`, `false`, or `:strong`. This informs the
|
92
|
-
#
|
93
|
-
#
|
100
|
+
# coercion strategy when we have to decide between multiple possible conversion
|
101
|
+
# targets:
|
94
102
|
#
|
95
|
-
#
|
96
|
-
#
|
97
|
-
#
|
98
|
-
#
|
103
|
+
# - `true`: the conversion must be exact, with minimum coercion.
|
104
|
+
# - `false`: the conversion can be approximate, with some coercion.
|
105
|
+
# - `:strong`: the conversion must be exact, with no coercion, and raise an error
|
106
|
+
# if not possible.
|
99
107
|
#
|
100
|
-
#
|
101
|
-
#
|
102
|
-
#
|
108
|
+
# The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
|
109
|
+
# any given conversion attempt, the exactness will be updated based on how closely
|
110
|
+
# the value recursively matches the target type:
|
103
111
|
#
|
104
|
-
#
|
105
|
-
#
|
106
|
-
#
|
107
|
-
#
|
112
|
+
# - `yes`: the value can be converted to the target type with minimum coercion.
|
113
|
+
# - `maybe`: the value can be converted to the target type with some reasonable
|
114
|
+
# coercion.
|
115
|
+
# - `no`: the value cannot be converted to the target type.
|
108
116
|
#
|
109
|
-
#
|
117
|
+
# See implementation below for more details.
|
110
118
|
#
|
111
119
|
# @option state [Boolean, :strong] :strictness
|
112
120
|
#
|
@@ -141,9 +149,9 @@ module Lithic
|
|
141
149
|
if value.is_a?(Integer)
|
142
150
|
exactness[:yes] += 1
|
143
151
|
return value
|
144
|
-
elsif strictness == :strong
|
152
|
+
elsif strictness == :strong && Integer(value, exception: false) != value
|
145
153
|
message = "no implicit conversion of #{value.class} into #{target.inspect}"
|
146
|
-
raise TypeError.new(message)
|
154
|
+
raise value.is_a?(Numeric) ? ArgumentError.new(message) : TypeError.new(message)
|
147
155
|
else
|
148
156
|
Kernel.then do
|
149
157
|
return Integer(value).tap { exactness[:maybe] += 1 }
|
@@ -183,18 +191,26 @@ module Lithic
|
|
183
191
|
rescue ArgumentError, TypeError => e
|
184
192
|
raise e if strictness == :strong
|
185
193
|
end
|
186
|
-
in -> { _1 <=
|
194
|
+
in -> { _1 <= StringIO } if value.is_a?(String)
|
187
195
|
exactness[:yes] += 1
|
188
196
|
return StringIO.new(value.b)
|
189
197
|
else
|
190
198
|
end
|
191
199
|
in Symbol
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
200
|
+
case value
|
201
|
+
in Symbol | String
|
202
|
+
if value.to_sym == target
|
203
|
+
exactness[:yes] += 1
|
204
|
+
return target
|
205
|
+
else
|
206
|
+
exactness[:maybe] += 1
|
207
|
+
return value
|
208
|
+
end
|
209
|
+
else
|
210
|
+
if strictness == :strong
|
211
|
+
message = "cannot convert non-matching #{value.class} into #{target.inspect}"
|
212
|
+
raise ArgumentError.new(message)
|
213
|
+
end
|
198
214
|
end
|
199
215
|
else
|
200
216
|
end
|
@@ -208,17 +224,24 @@ module Lithic
|
|
208
224
|
# @api private
|
209
225
|
#
|
210
226
|
# @param target [Lithic::Internal::Type::Converter, Class]
|
227
|
+
#
|
211
228
|
# @param value [Object]
|
212
229
|
#
|
230
|
+
# @param state [Hash{Symbol=>Object}] .
|
231
|
+
#
|
232
|
+
# @option state [Boolean] :can_retry
|
233
|
+
#
|
213
234
|
# @return [Object]
|
214
|
-
def dump(target, value)
|
215
|
-
|
216
|
-
|
217
|
-
|
235
|
+
def dump(target, value, state: {can_retry: true})
|
236
|
+
case target
|
237
|
+
in Lithic::Internal::Type::Converter
|
238
|
+
target.dump(value, state: state)
|
239
|
+
else
|
240
|
+
Lithic::Internal::Type::Unknown.dump(value, state: state)
|
241
|
+
end
|
218
242
|
end
|
219
243
|
end
|
220
244
|
end
|
221
|
-
# rubocop:enable Metrics/ModuleLength
|
222
245
|
end
|
223
246
|
end
|
224
247
|
end
|
@@ -6,15 +6,15 @@ module Lithic
|
|
6
6
|
# @api private
|
7
7
|
#
|
8
8
|
# A value from among a specified list of options. OpenAPI enum values map to Ruby
|
9
|
-
#
|
9
|
+
# values in the SDK as follows:
|
10
10
|
#
|
11
|
-
#
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
11
|
+
# 1. boolean => true | false
|
12
|
+
# 2. integer => Integer
|
13
|
+
# 3. float => Float
|
14
|
+
# 4. string => Symbol
|
15
15
|
#
|
16
|
-
#
|
17
|
-
#
|
16
|
+
# We can therefore convert string values to Symbols, but can't convert other
|
17
|
+
# values safely.
|
18
18
|
#
|
19
19
|
# @example
|
20
20
|
# # `account_financial_account_type` is a `Lithic::Models::AccountFinancialAccountType`
|
@@ -66,7 +66,7 @@ module Lithic
|
|
66
66
|
# @api private
|
67
67
|
#
|
68
68
|
# Unlike with primitives, `Enum` additionally validates that the value is a member
|
69
|
-
#
|
69
|
+
# of the enum.
|
70
70
|
#
|
71
71
|
# @param value [String, Symbol, Object]
|
72
72
|
#
|
@@ -97,8 +97,12 @@ module Lithic
|
|
97
97
|
# #
|
98
98
|
# # @param value [Symbol, Object]
|
99
99
|
# #
|
100
|
+
# # @param state [Hash{Symbol=>Object}] .
|
101
|
+
# #
|
102
|
+
# # @option state [Boolean] :can_retry
|
103
|
+
# #
|
100
104
|
# # @return [Symbol, Object]
|
101
|
-
# def dump(value) = super
|
105
|
+
# def dump(value, state:) = super
|
102
106
|
end
|
103
107
|
end
|
104
108
|
end
|
@@ -99,12 +99,16 @@ module Lithic
|
|
99
99
|
#
|
100
100
|
# @param value [Hash{Object=>Object}, Object]
|
101
101
|
#
|
102
|
+
# @param state [Hash{Symbol=>Object}] .
|
103
|
+
#
|
104
|
+
# @option state [Boolean] :can_retry
|
105
|
+
#
|
102
106
|
# @return [Hash{Symbol=>Object}, Object]
|
103
|
-
def dump(value)
|
107
|
+
def dump(value, state:)
|
104
108
|
target = item_type
|
105
109
|
if value.is_a?(Hash)
|
106
110
|
value.transform_values do
|
107
|
-
Lithic::Internal::Type::Converter.dump(target, _1)
|
111
|
+
Lithic::Internal::Type::Converter.dump(target, _1, state: state)
|
108
112
|
end
|
109
113
|
else
|
110
114
|
super
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Lithic
|
4
|
+
module Internal
|
5
|
+
module Type
|
6
|
+
# @api private
|
7
|
+
#
|
8
|
+
# @abstract
|
9
|
+
#
|
10
|
+
# Either `Pathname` or `StringIO`.
|
11
|
+
class IOLike
|
12
|
+
extend Lithic::Internal::Type::Converter
|
13
|
+
|
14
|
+
# @param other [Object]
|
15
|
+
#
|
16
|
+
# @return [Boolean]
|
17
|
+
def self.===(other)
|
18
|
+
case other
|
19
|
+
in StringIO | Pathname | IO
|
20
|
+
true
|
21
|
+
else
|
22
|
+
false
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# @param other [Object]
|
27
|
+
#
|
28
|
+
# @return [Boolean]
|
29
|
+
def self.==(other) = other.is_a?(Class) && other <= Lithic::Internal::Type::IOLike
|
30
|
+
|
31
|
+
class << self
|
32
|
+
# @api private
|
33
|
+
#
|
34
|
+
# @param value [StringIO, String, Object]
|
35
|
+
#
|
36
|
+
# @param state [Hash{Symbol=>Object}] .
|
37
|
+
#
|
38
|
+
# @option state [Boolean, :strong] :strictness
|
39
|
+
#
|
40
|
+
# @option state [Hash{Symbol=>Object}] :exactness
|
41
|
+
#
|
42
|
+
# @option state [Integer] :branched
|
43
|
+
#
|
44
|
+
# @return [StringIO, Object]
|
45
|
+
def coerce(value, state:)
|
46
|
+
exactness = state.fetch(:exactness)
|
47
|
+
case value
|
48
|
+
in String
|
49
|
+
exactness[:yes] += 1
|
50
|
+
StringIO.new(value)
|
51
|
+
in StringIO
|
52
|
+
exactness[:yes] += 1
|
53
|
+
value
|
54
|
+
else
|
55
|
+
exactness[:no] += 1
|
56
|
+
value
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
# @!parse
|
61
|
+
# # @api private
|
62
|
+
# #
|
63
|
+
# # @param value [Pathname, StringIO, IO, String, Object]
|
64
|
+
# #
|
65
|
+
# # @param state [Hash{Symbol=>Object}] .
|
66
|
+
# #
|
67
|
+
# # @option state [Boolean] :can_retry
|
68
|
+
# #
|
69
|
+
# # @return [Pathname, StringIO, IO, String, Object]
|
70
|
+
# def dump(value, state:) = super
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -26,9 +26,18 @@ module Lithic
|
|
26
26
|
#
|
27
27
|
# @return [Array(Object, Hash{Symbol=>Object})]
|
28
28
|
def dump_request(params)
|
29
|
-
|
29
|
+
state = {can_retry: true}
|
30
|
+
case (dumped = dump(params, state: state))
|
30
31
|
in Hash
|
31
|
-
|
32
|
+
options = Lithic::Internal::Util.coerce_hash(dumped[:request_options])
|
33
|
+
request_options =
|
34
|
+
case [options, state.fetch(:can_retry)]
|
35
|
+
in [Hash | nil, false]
|
36
|
+
{**options.to_h, max_retries: 0}
|
37
|
+
else
|
38
|
+
options
|
39
|
+
end
|
40
|
+
[dumped.except(:request_options), request_options]
|
32
41
|
else
|
33
42
|
[dumped, nil]
|
34
43
|
end
|
@@ -176,15 +176,19 @@ module Lithic
|
|
176
176
|
#
|
177
177
|
# @param value [Object]
|
178
178
|
#
|
179
|
+
# @param state [Hash{Symbol=>Object}] .
|
180
|
+
#
|
181
|
+
# @option state [Boolean] :can_retry
|
182
|
+
#
|
179
183
|
# @return [Object]
|
180
|
-
def dump(value)
|
184
|
+
def dump(value, state:)
|
181
185
|
if (target = resolve_variant(value))
|
182
|
-
return Lithic::Internal::Type::Converter.dump(target, value)
|
186
|
+
return Lithic::Internal::Type::Converter.dump(target, value, state: state)
|
183
187
|
end
|
184
188
|
|
185
189
|
known_variants.each do
|
186
190
|
target = _2.call
|
187
|
-
return Lithic::Internal::Type::Converter.dump(target, value) if target === value
|
191
|
+
return Lithic::Internal::Type::Converter.dump(target, value, state: state) if target === value
|
188
192
|
end
|
189
193
|
|
190
194
|
super
|
@@ -47,8 +47,12 @@ module Lithic
|
|
47
47
|
# #
|
48
48
|
# # @param value [Object]
|
49
49
|
# #
|
50
|
+
# # @param state [Hash{Symbol=>Object}] .
|
51
|
+
# #
|
52
|
+
# # @option state [Boolean] :can_retry
|
53
|
+
# #
|
50
54
|
# # @return [Object]
|
51
|
-
# def dump(value) = super
|
55
|
+
# def dump(value, state:) = super
|
52
56
|
end
|
53
57
|
|
54
58
|
# rubocop:enable Lint/UnusedMethodArgument
|