lithic 0.1.0.pre.alpha.17 → 0.1.0.pre.alpha.18
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/CHANGELOG.md +26 -0
- data/README.md +7 -7
- data/lib/lithic/file_part.rb +55 -0
- data/lib/lithic/internal/cursor_page.rb +1 -1
- data/lib/lithic/internal/single_page.rb +1 -1
- data/lib/lithic/internal/transport/base_client.rb +7 -7
- data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -1
- data/lib/lithic/internal/type/array_of.rb +2 -0
- data/lib/lithic/internal/type/base_model.rb +1 -1
- data/lib/lithic/internal/type/base_page.rb +1 -1
- data/lib/lithic/internal/type/converter.rb +1 -1
- data/lib/lithic/internal/type/{io_like.rb → file_input.rb} +8 -4
- data/lib/lithic/internal/type/hash_of.rb +2 -0
- data/lib/lithic/internal/util.rb +69 -61
- data/lib/lithic/models/account.rb +50 -19
- data/lib/lithic/models/account_holder.rb +139 -59
- data/lib/lithic/models/account_holder_create_params.rb +144 -52
- data/lib/lithic/models/account_holder_create_response.rb +18 -7
- data/lib/lithic/models/account_holder_list_params.rb +33 -11
- data/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rb +13 -4
- data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +10 -3
- data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +169 -60
- data/lib/lithic/models/account_holder_update_params.rb +147 -53
- data/lib/lithic/models/account_holder_update_response.rb +202 -74
- data/lib/lithic/models/account_holder_upload_document_params.rb +4 -2
- data/lib/lithic/models/account_list_params.rb +17 -5
- data/lib/lithic/models/account_spend_limits.rb +27 -9
- data/lib/lithic/models/account_update_params.rb +17 -5
- data/lib/lithic/models/address.rb +17 -6
- data/lib/lithic/models/address_update.rb +17 -6
- data/lib/lithic/models/aggregate_balance.rb +26 -10
- data/lib/lithic/models/aggregate_balance_list_params.rb +2 -1
- data/lib/lithic/models/auth_rules/auth_rule.rb +24 -9
- data/lib/lithic/models/auth_rules/auth_rule_condition.rb +8 -3
- data/lib/lithic/models/auth_rules/v2/backtest_create_params.rb +4 -2
- data/lib/lithic/models/auth_rules/v2/backtest_create_response.rb +1 -1
- data/lib/lithic/models/auth_rules/v2/backtest_results.rb +46 -18
- data/lib/lithic/models/auth_rules/v2_apply_params.rb +8 -4
- data/lib/lithic/models/auth_rules/v2_apply_response.rb +31 -12
- data/lib/lithic/models/auth_rules/v2_create_params.rb +14 -7
- data/lib/lithic/models/auth_rules/v2_create_response.rb +31 -12
- data/lib/lithic/models/auth_rules/v2_draft_params.rb +2 -1
- data/lib/lithic/models/auth_rules/v2_draft_response.rb +31 -12
- data/lib/lithic/models/auth_rules/v2_list_params.rb +15 -5
- data/lib/lithic/models/auth_rules/v2_list_response.rb +31 -12
- data/lib/lithic/models/auth_rules/v2_promote_response.rb +31 -12
- data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +32 -12
- data/lib/lithic/models/auth_rules/v2_update_params.rb +15 -6
- data/lib/lithic/models/auth_rules/v2_update_response.rb +31 -12
- data/lib/lithic/models/auth_rules/velocity_limit_params.rb +27 -7
- data/lib/lithic/models/auth_stream_secret.rb +1 -1
- data/lib/lithic/models/balance.rb +26 -10
- data/lib/lithic/models/balance_list_params.rb +12 -4
- data/lib/lithic/models/book_transfer_create_params.rb +23 -8
- data/lib/lithic/models/book_transfer_list_params.rb +28 -9
- data/lib/lithic/models/book_transfer_response.rb +54 -20
- data/lib/lithic/models/book_transfer_reverse_params.rb +2 -1
- data/lib/lithic/models/card.rb +7 -2
- data/lib/lithic/models/card_convert_physical_params.rb +12 -4
- data/lib/lithic/models/card_create_params.rb +45 -15
- data/lib/lithic/models/card_embed_params.rb +4 -2
- data/lib/lithic/models/card_list_params.rb +21 -7
- data/lib/lithic/models/card_program.rb +17 -7
- data/lib/lithic/models/card_program_list_params.rb +11 -3
- data/lib/lithic/models/card_provision_params.rb +20 -6
- data/lib/lithic/models/card_reissue_params.rb +12 -4
- data/lib/lithic/models/card_renew_params.rb +18 -6
- data/lib/lithic/models/card_search_by_pan_params.rb +2 -1
- data/lib/lithic/models/card_spend_limits.rb +27 -9
- data/lib/lithic/models/card_update_params.rb +21 -7
- data/lib/lithic/models/cards/aggregate_balance_list_params.rb +4 -2
- data/lib/lithic/models/cards/aggregate_balance_list_response.rb +24 -9
- data/lib/lithic/models/cards/balance_list_params.rb +7 -2
- data/lib/lithic/models/cards/balance_list_response.rb +26 -10
- data/lib/lithic/models/cards/financial_transaction_list_params.rb +21 -7
- data/lib/lithic/models/carrier.rb +1 -1
- data/lib/lithic/models/credit_products/prime_rate_create_params.rb +4 -2
- data/lib/lithic/models/credit_products/prime_rate_retrieve_params.rb +4 -2
- data/lib/lithic/models/credit_products/prime_rate_retrieve_response.rb +6 -4
- data/lib/lithic/models/digital_card_art.rb +13 -7
- data/lib/lithic/models/digital_card_art_list_params.rb +11 -3
- data/lib/lithic/models/dispute.rb +40 -18
- data/lib/lithic/models/dispute_create_params.rb +10 -5
- data/lib/lithic/models/dispute_evidence.rb +17 -7
- data/lib/lithic/models/dispute_initiate_evidence_upload_params.rb +2 -1
- data/lib/lithic/models/dispute_list_evidences_params.rb +17 -5
- data/lib/lithic/models/dispute_list_params.rb +21 -7
- data/lib/lithic/models/dispute_update_params.rb +8 -4
- data/lib/lithic/models/document.rb +31 -14
- data/lib/lithic/models/event.rb +9 -3
- data/lib/lithic/models/event_list_attempts_params.rb +18 -5
- data/lib/lithic/models/event_list_params.rb +21 -7
- data/lib/lithic/models/event_subscription.rb +7 -3
- data/lib/lithic/models/events/subscription_create_params.rb +12 -4
- data/lib/lithic/models/events/subscription_list_attempts_params.rb +18 -5
- data/lib/lithic/models/events/subscription_list_params.rb +11 -3
- data/lib/lithic/models/events/subscription_recover_params.rb +9 -2
- data/lib/lithic/models/events/subscription_replay_missing_params.rb +9 -2
- data/lib/lithic/models/events/subscription_retrieve_secret_response.rb +1 -1
- data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +2 -1
- data/lib/lithic/models/events/subscription_update_params.rb +12 -4
- data/lib/lithic/models/external_bank_account_create_params.rb +40 -16
- data/lib/lithic/models/external_bank_account_create_response.rb +53 -22
- data/lib/lithic/models/external_bank_account_list_params.rb +17 -3
- data/lib/lithic/models/external_bank_account_list_response.rb +53 -22
- data/lib/lithic/models/external_bank_account_retrieve_response.rb +53 -22
- data/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rb +54 -22
- data/lib/lithic/models/external_bank_account_retry_prenote_response.rb +53 -22
- data/lib/lithic/models/external_bank_account_update_params.rb +21 -8
- data/lib/lithic/models/external_bank_account_update_response.rb +53 -22
- data/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rb +54 -22
- data/lib/lithic/models/external_payment_list_params.rb +27 -9
- data/lib/lithic/models/financial_account.rb +25 -8
- data/lib/lithic/models/financial_account_list_params.rb +6 -3
- data/lib/lithic/models/financial_account_update_status_params.rb +4 -2
- data/lib/lithic/models/financial_accounts/balance_list_params.rb +7 -2
- data/lib/lithic/models/financial_accounts/balance_list_response.rb +26 -10
- data/lib/lithic/models/financial_accounts/credit_configuration_update_params.rb +6 -2
- data/lib/lithic/models/financial_accounts/financial_account_credit_config.rb +12 -5
- data/lib/lithic/models/financial_accounts/financial_transaction_list_params.rb +22 -7
- data/lib/lithic/models/financial_accounts/loan_tape.rb +119 -47
- data/lib/lithic/models/financial_accounts/loan_tape_list_params.rb +17 -5
- data/lib/lithic/models/financial_accounts/loan_tape_retrieve_params.rb +2 -1
- data/lib/lithic/models/financial_accounts/statement.rb +97 -40
- data/lib/lithic/models/financial_accounts/statement_list_params.rb +19 -6
- data/lib/lithic/models/financial_accounts/statement_retrieve_params.rb +2 -1
- data/lib/lithic/models/financial_accounts/statements/line_item_list_params.rb +14 -4
- data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +25 -9
- data/lib/lithic/models/financial_transaction.rb +42 -15
- data/lib/lithic/models/kyb.rb +101 -36
- data/lib/lithic/models/kyb_business_entity.rb +35 -12
- data/lib/lithic/models/kyc.rb +34 -12
- data/lib/lithic/models/kyc_exempt.rb +23 -9
- data/lib/lithic/models/management_operation_list_params.rb +25 -8
- data/lib/lithic/models/message_attempt.rb +17 -7
- data/lib/lithic/models/non_pci_card.rb +73 -28
- data/lib/lithic/models/payment.rb +52 -18
- data/lib/lithic/models/payment_create_params.rb +14 -1
- data/lib/lithic/models/payment_create_response.rb +1 -1
- data/lib/lithic/models/payment_list_params.rb +23 -5
- data/lib/lithic/models/payment_retry_response.rb +1 -1
- data/lib/lithic/models/payment_simulate_action_params.rb +6 -3
- data/lib/lithic/models/payment_simulate_action_response.rb +5 -3
- data/lib/lithic/models/payment_simulate_receipt_params.rb +14 -5
- data/lib/lithic/models/payment_simulate_receipt_response.rb +5 -3
- data/lib/lithic/models/payment_simulate_release_params.rb +2 -1
- data/lib/lithic/models/payment_simulate_release_response.rb +5 -3
- data/lib/lithic/models/payment_simulate_return_params.rb +4 -2
- data/lib/lithic/models/payment_simulate_return_response.rb +5 -3
- data/lib/lithic/models/reports/settlement/network_total_list_params.rb +30 -11
- data/lib/lithic/models/reports/settlement/network_total_list_response.rb +39 -14
- data/lib/lithic/models/reports/settlement/network_total_retrieve_response.rb +39 -14
- data/lib/lithic/models/reports/settlement_list_details_params.rb +11 -3
- data/lib/lithic/models/required_document.rb +10 -3
- data/lib/lithic/models/responder_endpoint_check_status_params.rb +2 -1
- data/lib/lithic/models/responder_endpoint_create_params.rb +4 -2
- data/lib/lithic/models/responder_endpoint_create_response.rb +1 -1
- data/lib/lithic/models/responder_endpoint_delete_params.rb +2 -1
- data/lib/lithic/models/responder_endpoint_status.rb +3 -2
- data/lib/lithic/models/settlement_detail.rb +50 -21
- data/lib/lithic/models/settlement_report.rb +29 -10
- data/lib/lithic/models/settlement_summary_details.rb +21 -8
- data/lib/lithic/models/shipping_address.rb +31 -11
- data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +215 -71
- data/lib/lithic/models/three_ds/authentication_simulate_otp_entry_params.rb +9 -2
- data/lib/lithic/models/three_ds/authentication_simulate_params.rb +28 -8
- data/lib/lithic/models/three_ds/authentication_simulate_response.rb +5 -1
- data/lib/lithic/models/three_ds/challenge_response.rb +7 -2
- data/lib/lithic/models/three_ds/decisioning_retrieve_secret_response.rb +1 -1
- data/lib/lithic/models/tokenization.rb +37 -17
- data/lib/lithic/models/tokenization_decisioning_rotate_secret_response.rb +1 -1
- data/lib/lithic/models/tokenization_list_params.rb +22 -8
- data/lib/lithic/models/tokenization_resend_activation_code_params.rb +6 -1
- data/lib/lithic/models/tokenization_secret.rb +1 -1
- data/lib/lithic/models/tokenization_simulate_params.rb +22 -8
- data/lib/lithic/models/tokenization_update_digital_card_art_params.rb +6 -1
- data/lib/lithic/models/transaction.rb +248 -89
- data/lib/lithic/models/transaction_list_params.rb +26 -9
- data/lib/lithic/models/transaction_simulate_authorization_advice_params.rb +8 -2
- data/lib/lithic/models/transaction_simulate_authorization_advice_response.rb +3 -2
- data/lib/lithic/models/transaction_simulate_authorization_params.rb +27 -10
- data/lib/lithic/models/transaction_simulate_authorization_response.rb +7 -2
- data/lib/lithic/models/transaction_simulate_clearing_params.rb +8 -2
- data/lib/lithic/models/transaction_simulate_clearing_response.rb +1 -1
- data/lib/lithic/models/transaction_simulate_credit_authorization_params.rb +15 -5
- data/lib/lithic/models/transaction_simulate_credit_authorization_response.rb +3 -2
- data/lib/lithic/models/transaction_simulate_return_params.rb +6 -3
- data/lib/lithic/models/transaction_simulate_return_response.rb +3 -2
- data/lib/lithic/models/transaction_simulate_return_reversal_params.rb +2 -1
- data/lib/lithic/models/transaction_simulate_return_reversal_response.rb +1 -1
- data/lib/lithic/models/transaction_simulate_void_params.rb +10 -3
- data/lib/lithic/models/transaction_simulate_void_response.rb +1 -1
- data/lib/lithic/models/transactions/events/enhanced_data.rb +52 -24
- data/lib/lithic/models/transfer.rb +46 -17
- data/lib/lithic/models/transfer_create_params.rb +17 -5
- data/lib/lithic/resources/account_holders.rb +166 -60
- data/lib/lithic/resources/accounts.rb +40 -13
- data/lib/lithic/resources/aggregate_balances.rb +2 -1
- data/lib/lithic/resources/auth_rules/v2/backtests.rb +10 -5
- data/lib/lithic/resources/auth_rules/v2.rb +68 -30
- data/lib/lithic/resources/balances.rb +12 -4
- data/lib/lithic/resources/book_transfers.rb +57 -20
- data/lib/lithic/resources/card_programs.rb +13 -4
- data/lib/lithic/resources/cards/aggregate_balances.rb +4 -2
- data/lib/lithic/resources/cards/balances.rb +8 -2
- data/lib/lithic/resources/cards/financial_transactions.rb +25 -8
- data/lib/lithic/resources/cards.rb +161 -53
- data/lib/lithic/resources/credit_products/extended_credit.rb +2 -1
- data/lib/lithic/resources/credit_products/prime_rates.rb +12 -6
- data/lib/lithic/resources/digital_card_art.rb +17 -4
- data/lib/lithic/resources/disputes.rb +61 -22
- data/lib/lithic/resources/events/subscriptions.rb +78 -21
- data/lib/lithic/resources/events.rb +40 -12
- data/lib/lithic/resources/external_bank_accounts.rb +79 -27
- data/lib/lithic/resources/external_payments.rb +46 -14
- data/lib/lithic/resources/financial_accounts/balances.rb +9 -3
- data/lib/lithic/resources/financial_accounts/credit_configuration.rb +10 -4
- data/lib/lithic/resources/financial_accounts/financial_transactions.rb +28 -10
- data/lib/lithic/resources/financial_accounts/loan_tapes.rb +23 -8
- data/lib/lithic/resources/financial_accounts/statements/line_items.rb +16 -5
- data/lib/lithic/resources/financial_accounts/statements.rb +25 -9
- data/lib/lithic/resources/financial_accounts.rb +22 -11
- data/lib/lithic/resources/management_operations.rb +31 -10
- data/lib/lithic/resources/payments.rb +64 -17
- data/lib/lithic/resources/reports/settlement/network_totals.rb +32 -12
- data/lib/lithic/resources/reports/settlement.rb +15 -5
- data/lib/lithic/resources/responder_endpoints.rb +8 -4
- data/lib/lithic/resources/three_ds/authentication.rb +21 -5
- data/lib/lithic/resources/three_ds/decisioning.rb +8 -2
- data/lib/lithic/resources/tokenizations.rb +70 -25
- data/lib/lithic/resources/transactions/enhanced_commercial_data.rb +2 -1
- data/lib/lithic/resources/transactions/events/enhanced_commercial_data.rb +2 -1
- data/lib/lithic/resources/transactions.rb +106 -37
- data/lib/lithic/resources/transfers.rb +17 -5
- data/lib/lithic/version.rb +1 -1
- data/lib/lithic.rb +2 -1
- data/rbi/lib/lithic/file_part.rbi +34 -0
- data/rbi/lib/lithic/internal/transport/base_client.rbi +17 -3
- data/rbi/lib/lithic/internal/type/{io_like.rbi → file_input.rbi} +6 -2
- data/rbi/lib/lithic/internal/util.rbi +24 -19
- data/rbi/lib/lithic/models/account.rbi +62 -6
- data/rbi/lib/lithic/models/account_holder.rbi +139 -8
- data/rbi/lib/lithic/models/account_holder_create_params.rbi +131 -6
- data/rbi/lib/lithic/models/account_holder_create_response.rbi +14 -3
- data/rbi/lib/lithic/models/account_holder_list_params.rbi +19 -0
- data/rbi/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rbi +5 -0
- data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_params.rbi +10 -2
- data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_response.rbi +172 -17
- data/rbi/lib/lithic/models/account_holder_update_params.rbi +99 -0
- data/rbi/lib/lithic/models/account_holder_update_response.rbi +176 -19
- data/rbi/lib/lithic/models/account_holder_upload_document_params.rbi +7 -2
- data/rbi/lib/lithic/models/account_list_params.rbi +10 -3
- data/rbi/lib/lithic/models/account_spend_limits.rbi +30 -6
- data/rbi/lib/lithic/models/account_update_params.rbi +16 -0
- data/rbi/lib/lithic/models/address.rbi +19 -2
- data/rbi/lib/lithic/models/address_update.rbi +17 -2
- data/rbi/lib/lithic/models/aggregate_balance.rbi +14 -0
- data/rbi/lib/lithic/models/aggregate_balance_list_params.rbi +5 -2
- data/rbi/lib/lithic/models/auth_rules/auth_rule.rbi +15 -0
- data/rbi/lib/lithic/models/auth_rules/auth_rule_condition.rbi +54 -2
- data/rbi/lib/lithic/models/auth_rules/v2/backtest_create_params.rbi +7 -2
- data/rbi/lib/lithic/models/auth_rules/v2/backtest_create_response.rbi +4 -2
- data/rbi/lib/lithic/models/auth_rules/v2/backtest_results.rbi +60 -12
- data/rbi/lib/lithic/models/auth_rules/v2_apply_params.rbi +5 -3
- data/rbi/lib/lithic/models/auth_rules/v2_apply_response.rbi +22 -4
- data/rbi/lib/lithic/models/auth_rules/v2_create_params.rbi +7 -0
- data/rbi/lib/lithic/models/auth_rules/v2_create_response.rbi +22 -4
- data/rbi/lib/lithic/models/auth_rules/v2_draft_params.rbi +5 -2
- data/rbi/lib/lithic/models/auth_rules/v2_draft_response.rbi +22 -4
- data/rbi/lib/lithic/models/auth_rules/v2_list_params.rbi +7 -0
- data/rbi/lib/lithic/models/auth_rules/v2_list_response.rbi +22 -4
- data/rbi/lib/lithic/models/auth_rules/v2_promote_response.rbi +22 -4
- data/rbi/lib/lithic/models/auth_rules/v2_retrieve_response.rbi +22 -4
- data/rbi/lib/lithic/models/auth_rules/v2_update_params.rbi +10 -0
- data/rbi/lib/lithic/models/auth_rules/v2_update_response.rbi +22 -4
- data/rbi/lib/lithic/models/auth_rules/velocity_limit_params.rbi +33 -5
- data/rbi/lib/lithic/models/auth_stream_secret.rbi +4 -2
- data/rbi/lib/lithic/models/balance.rbi +14 -0
- data/rbi/lib/lithic/models/balance_list_params.rbi +5 -0
- data/rbi/lib/lithic/models/book_transfer_create_params.rbi +12 -0
- data/rbi/lib/lithic/models/book_transfer_list_params.rbi +14 -0
- data/rbi/lib/lithic/models/book_transfer_response.rbi +41 -2
- data/rbi/lib/lithic/models/book_transfer_reverse_params.rbi +5 -2
- data/rbi/lib/lithic/models/card.rbi +8 -2
- data/rbi/lib/lithic/models/card_convert_physical_params.rbi +18 -3
- data/rbi/lib/lithic/models/card_create_params.rbi +84 -0
- data/rbi/lib/lithic/models/card_embed_params.rbi +7 -2
- data/rbi/lib/lithic/models/card_list_params.rbi +11 -0
- data/rbi/lib/lithic/models/card_program.rbi +8 -0
- data/rbi/lib/lithic/models/card_program_list_params.rbi +11 -2
- data/rbi/lib/lithic/models/card_provision_params.rbi +17 -0
- data/rbi/lib/lithic/models/card_reissue_params.rbi +18 -3
- data/rbi/lib/lithic/models/card_renew_params.rbi +21 -0
- data/rbi/lib/lithic/models/card_search_by_pan_params.rbi +5 -2
- data/rbi/lib/lithic/models/card_spend_limits.rbi +30 -6
- data/rbi/lib/lithic/models/card_update_params.rbi +35 -0
- data/rbi/lib/lithic/models/cards/aggregate_balance_list_params.rbi +7 -2
- data/rbi/lib/lithic/models/cards/aggregate_balance_list_response.rbi +13 -0
- data/rbi/lib/lithic/models/cards/balance_list_params.rbi +9 -2
- data/rbi/lib/lithic/models/cards/balance_list_response.rbi +14 -0
- data/rbi/lib/lithic/models/cards/financial_transaction_list_params.rbi +11 -0
- data/rbi/lib/lithic/models/carrier.rbi +4 -2
- data/rbi/lib/lithic/models/credit_products/prime_rate_create_params.rbi +7 -2
- data/rbi/lib/lithic/models/credit_products/prime_rate_retrieve_params.rbi +7 -2
- data/rbi/lib/lithic/models/credit_products/prime_rate_retrieve_response.rbi +12 -4
- data/rbi/lib/lithic/models/digital_card_art.rbi +8 -3
- data/rbi/lib/lithic/models/digital_card_art_list_params.rbi +11 -2
- data/rbi/lib/lithic/models/dispute.rbi +66 -0
- data/rbi/lib/lithic/models/dispute_create_params.rbi +6 -3
- data/rbi/lib/lithic/models/dispute_evidence.rbi +15 -3
- data/rbi/lib/lithic/models/dispute_initiate_evidence_upload_params.rbi +5 -2
- data/rbi/lib/lithic/models/dispute_list_evidences_params.rbi +10 -3
- data/rbi/lib/lithic/models/dispute_list_params.rbi +11 -0
- data/rbi/lib/lithic/models/dispute_update_params.rbi +5 -3
- data/rbi/lib/lithic/models/document.rbi +27 -3
- data/rbi/lib/lithic/models/event.rbi +39 -2
- data/rbi/lib/lithic/models/event_list_attempts_params.rbi +9 -0
- data/rbi/lib/lithic/models/event_list_params.rbi +11 -0
- data/rbi/lib/lithic/models/event_subscription.rbi +10 -2
- data/rbi/lib/lithic/models/events/subscription_create_params.rbi +12 -2
- data/rbi/lib/lithic/models/events/subscription_list_attempts_params.rbi +9 -0
- data/rbi/lib/lithic/models/events/subscription_list_params.rbi +11 -2
- data/rbi/lib/lithic/models/events/subscription_recover_params.rbi +9 -2
- data/rbi/lib/lithic/models/events/subscription_replay_missing_params.rbi +9 -2
- data/rbi/lib/lithic/models/events/subscription_retrieve_secret_response.rbi +4 -2
- data/rbi/lib/lithic/models/events/subscription_send_simulated_example_params.rbi +5 -2
- data/rbi/lib/lithic/models/events/subscription_update_params.rbi +12 -2
- data/rbi/lib/lithic/models/external_bank_account_create_params.rbi +20 -0
- data/rbi/lib/lithic/models/external_bank_account_create_response.rbi +33 -0
- data/rbi/lib/lithic/models/external_bank_account_list_params.rbi +5 -0
- data/rbi/lib/lithic/models/external_bank_account_list_response.rbi +33 -0
- data/rbi/lib/lithic/models/external_bank_account_retrieve_response.rbi +33 -0
- data/rbi/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rbi +33 -0
- data/rbi/lib/lithic/models/external_bank_account_retry_prenote_response.rbi +33 -0
- data/rbi/lib/lithic/models/external_bank_account_update_params.rbi +9 -0
- data/rbi/lib/lithic/models/external_bank_account_update_response.rbi +33 -0
- data/rbi/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rbi +33 -0
- data/rbi/lib/lithic/models/external_payment_list_params.rbi +14 -0
- data/rbi/lib/lithic/models/financial_account.rbi +8 -0
- data/rbi/lib/lithic/models/financial_account_list_params.rbi +9 -2
- data/rbi/lib/lithic/models/financial_account_update_status_params.rbi +7 -2
- data/rbi/lib/lithic/models/financial_accounts/balance_list_params.rbi +9 -2
- data/rbi/lib/lithic/models/financial_accounts/balance_list_response.rbi +14 -0
- data/rbi/lib/lithic/models/financial_accounts/credit_configuration_update_params.rbi +2 -0
- data/rbi/lib/lithic/models/financial_accounts/financial_account_credit_config.rbi +5 -0
- data/rbi/lib/lithic/models/financial_accounts/financial_transaction_list_params.rbi +11 -0
- data/rbi/lib/lithic/models/financial_accounts/loan_tape.rbi +94 -13
- data/rbi/lib/lithic/models/financial_accounts/loan_tape_list_params.rbi +10 -3
- data/rbi/lib/lithic/models/financial_accounts/loan_tape_retrieve_params.rbi +5 -2
- data/rbi/lib/lithic/models/financial_accounts/statement.rbi +72 -10
- data/rbi/lib/lithic/models/financial_accounts/statement_list_params.rbi +10 -0
- data/rbi/lib/lithic/models/financial_accounts/statement_retrieve_params.rbi +5 -2
- data/rbi/lib/lithic/models/financial_accounts/statements/line_item_list_params.rbi +7 -3
- data/rbi/lib/lithic/models/financial_accounts/statements/statement_line_items.rbi +10 -0
- data/rbi/lib/lithic/models/financial_transaction.rbi +44 -2
- data/rbi/lib/lithic/models/kyb.rbi +94 -4
- data/rbi/lib/lithic/models/kyb_business_entity.rbi +28 -2
- data/rbi/lib/lithic/models/kyc.rbi +40 -4
- data/rbi/lib/lithic/models/kyc_exempt.rbi +13 -0
- data/rbi/lib/lithic/models/management_operation_list_params.rbi +13 -0
- data/rbi/lib/lithic/models/message_attempt.rbi +10 -3
- data/rbi/lib/lithic/models/non_pci_card.rbi +78 -2
- data/rbi/lib/lithic/models/payment.rbi +57 -2
- data/rbi/lib/lithic/models/payment_create_params.rbi +2 -0
- data/rbi/lib/lithic/models/payment_create_response.rbi +4 -2
- data/rbi/lib/lithic/models/payment_list_params.rbi +9 -0
- data/rbi/lib/lithic/models/payment_retry_response.rbi +4 -2
- data/rbi/lib/lithic/models/payment_simulate_action_params.rbi +9 -2
- data/rbi/lib/lithic/models/payment_simulate_action_response.rbi +8 -2
- data/rbi/lib/lithic/models/payment_simulate_receipt_params.rbi +13 -3
- data/rbi/lib/lithic/models/payment_simulate_receipt_response.rbi +8 -2
- data/rbi/lib/lithic/models/payment_simulate_release_params.rbi +5 -2
- data/rbi/lib/lithic/models/payment_simulate_release_response.rbi +8 -2
- data/rbi/lib/lithic/models/payment_simulate_return_params.rbi +7 -2
- data/rbi/lib/lithic/models/payment_simulate_return_response.rbi +8 -2
- data/rbi/lib/lithic/models/reports/settlement/network_total_list_params.rbi +16 -0
- data/rbi/lib/lithic/models/reports/settlement/network_total_list_response.rbi +26 -2
- data/rbi/lib/lithic/models/reports/settlement/network_total_retrieve_response.rbi +26 -2
- data/rbi/lib/lithic/models/reports/settlement_list_details_params.rbi +11 -2
- data/rbi/lib/lithic/models/required_document.rbi +10 -2
- data/rbi/lib/lithic/models/responder_endpoint_check_status_params.rbi +5 -2
- data/rbi/lib/lithic/models/responder_endpoint_create_params.rbi +7 -2
- data/rbi/lib/lithic/models/responder_endpoint_create_response.rbi +4 -2
- data/rbi/lib/lithic/models/responder_endpoint_delete_params.rbi +5 -2
- data/rbi/lib/lithic/models/responder_endpoint_status.rbi +6 -2
- data/rbi/lib/lithic/models/settlement_detail.rbi +26 -0
- data/rbi/lib/lithic/models/settlement_report.rbi +25 -0
- data/rbi/lib/lithic/models/settlement_summary_details.rbi +11 -0
- data/rbi/lib/lithic/models/shipping_address.rbi +20 -0
- data/rbi/lib/lithic/models/three_ds/authentication_retrieve_response.rbi +165 -19
- data/rbi/lib/lithic/models/three_ds/authentication_simulate_otp_entry_params.rbi +8 -2
- data/rbi/lib/lithic/models/three_ds/authentication_simulate_params.rbi +31 -6
- data/rbi/lib/lithic/models/three_ds/authentication_simulate_response.rbi +5 -2
- data/rbi/lib/lithic/models/three_ds/challenge_response.rbi +9 -2
- data/rbi/lib/lithic/models/three_ds/decisioning_retrieve_secret_response.rbi +4 -2
- data/rbi/lib/lithic/models/tokenization.rbi +27 -2
- data/rbi/lib/lithic/models/tokenization_decisioning_rotate_secret_response.rbi +4 -2
- data/rbi/lib/lithic/models/tokenization_list_params.rbi +11 -0
- data/rbi/lib/lithic/models/tokenization_resend_activation_code_params.rbi +7 -2
- data/rbi/lib/lithic/models/tokenization_secret.rbi +4 -2
- data/rbi/lib/lithic/models/tokenization_simulate_params.rbi +11 -0
- data/rbi/lib/lithic/models/tokenization_update_digital_card_art_params.rbi +8 -2
- data/rbi/lib/lithic/models/transaction.rbi +246 -35
- data/rbi/lib/lithic/models/transaction_list_params.rbi +14 -0
- data/rbi/lib/lithic/models/transaction_simulate_authorization_advice_params.rbi +8 -2
- data/rbi/lib/lithic/models/transaction_simulate_authorization_advice_response.rbi +6 -2
- data/rbi/lib/lithic/models/transaction_simulate_authorization_params.rbi +35 -0
- data/rbi/lib/lithic/models/transaction_simulate_authorization_response.rbi +7 -2
- data/rbi/lib/lithic/models/transaction_simulate_clearing_params.rbi +15 -2
- data/rbi/lib/lithic/models/transaction_simulate_clearing_response.rbi +4 -2
- data/rbi/lib/lithic/models/transaction_simulate_credit_authorization_params.rbi +17 -2
- data/rbi/lib/lithic/models/transaction_simulate_credit_authorization_response.rbi +6 -2
- data/rbi/lib/lithic/models/transaction_simulate_return_params.rbi +9 -2
- data/rbi/lib/lithic/models/transaction_simulate_return_response.rbi +6 -2
- data/rbi/lib/lithic/models/transaction_simulate_return_reversal_params.rbi +5 -2
- data/rbi/lib/lithic/models/transaction_simulate_return_reversal_response.rbi +4 -2
- data/rbi/lib/lithic/models/transaction_simulate_void_params.rbi +14 -2
- data/rbi/lib/lithic/models/transaction_simulate_void_response.rbi +4 -2
- data/rbi/lib/lithic/models/transactions/events/enhanced_data.rbi +57 -16
- data/rbi/lib/lithic/models/transfer.rbi +41 -2
- data/rbi/lib/lithic/models/transfer_create_params.rbi +17 -2
- data/sig/lithic/file_part.rbs +21 -0
- data/sig/lithic/internal/transport/base_client.rbs +9 -3
- data/sig/lithic/internal/type/{io_like.rbs → file_input.rbs} +1 -1
- data/sig/lithic/internal/util.rbs +14 -12
- metadata +8 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b38f118b6ba402692ea2f86ae2526f63ec13f22ec3d856e6036ed2f74a1d073
|
4
|
+
data.tar.gz: babb1bcd368f16906742018e8e972ed0647fc0962320e4b2e00933758ed8b64b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eac7c88422fc4c6e25357d72939de0b59ed35743127711747e835baaa2a3bab1c5986f137b8697d7ea3ddf4ca221c043b3ed288e2f7959eb422ec4f538aa0746
|
7
|
+
data.tar.gz: 0dbff29079985fa4ef50cd4ea6e8027466430004c67961bbeef38d653169c1b70d68866d8c84ccb3fdb0a963e024f64d023c77568e084cc3ff4ec688cdc61166
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,31 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.1.0-alpha.18 (2025-04-25)
|
4
|
+
|
5
|
+
Full Changelog: [v0.1.0-alpha.17...v0.1.0-alpha.18](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.17...v0.1.0-alpha.18)
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* support specifying content-type with FilePart class ([0cf245e](https://github.com/lithic-com/lithic-ruby/commit/0cf245eaa7321b8ae3ee08a9c585403cf654f9ca))
|
10
|
+
* support webmock for testing ([56900e6](https://github.com/lithic-com/lithic-ruby/commit/56900e694ecd63ff000e880f2cd6add9e5548e86))
|
11
|
+
|
12
|
+
|
13
|
+
### Bug Fixes
|
14
|
+
|
15
|
+
* ensure gem release is unaffected by renaming ([84a2f71](https://github.com/lithic-com/lithic-ruby/commit/84a2f7191fa58067637c050575de5552aec2cf09))
|
16
|
+
|
17
|
+
|
18
|
+
### Chores
|
19
|
+
|
20
|
+
* broadly detect json family of content-type headers ([2b4f4bc](https://github.com/lithic-com/lithic-ruby/commit/2b4f4bca7f025906e369ed32f4cd71e357cd79a8))
|
21
|
+
* **ci:** add timeout thresholds for CI jobs ([2f4319b](https://github.com/lithic-com/lithic-ruby/commit/2f4319b37459d2899350a1d05aec39a8134ac3e1))
|
22
|
+
* **ci:** only use depot for staging repos ([99e9f7d](https://github.com/lithic-com/lithic-ruby/commit/99e9f7d78c04ab805321dabe41d5431717fc5eb4))
|
23
|
+
* **ci:** run on more branches and use depot runners ([84743d4](https://github.com/lithic-com/lithic-ruby/commit/84743d4c86aeeadc23ef0cb025f77944e9822a4e))
|
24
|
+
* consistently use string in examples, even for enums ([c35c6f4](https://github.com/lithic-com/lithic-ruby/commit/c35c6f45e00d6eed30d43f8b4335c6761f3fe2f5))
|
25
|
+
* **internal:** improve response envelope unwrap functionality ([d2c37aa](https://github.com/lithic-com/lithic-ruby/commit/d2c37aa27246c9379a2400020047cd1c7761f03d))
|
26
|
+
* **internal:** minor type annotation improvements ([964cec1](https://github.com/lithic-com/lithic-ruby/commit/964cec1b7eb9904a6f643dcbcaaff3ae64276032))
|
27
|
+
* show truncated parameter docs in yard ([3d5f4b7](https://github.com/lithic-com/lithic-ruby/commit/3d5f4b7b7fc6d780cb19fe3cddac32306de1aaf2))
|
28
|
+
|
3
29
|
## 0.1.0-alpha.17 (2025-04-21)
|
4
30
|
|
5
31
|
Full Changelog: [v0.1.0-alpha.16...v0.1.0-alpha.17](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.16...v0.1.0-alpha.17)
|
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.18"
|
19
19
|
```
|
20
20
|
|
21
21
|
<!-- x-release-please-end -->
|
@@ -31,7 +31,7 @@ lithic = Lithic::Client.new(
|
|
31
31
|
environment: "sandbox" # defaults to "production"
|
32
32
|
)
|
33
33
|
|
34
|
-
card = lithic.cards.create(type:
|
34
|
+
card = lithic.cards.create(type: "SINGLE_USE")
|
35
35
|
|
36
36
|
puts(card.token)
|
37
37
|
```
|
@@ -43,7 +43,7 @@ This library is written with [Sorbet type definitions](https://sorbet.org/docs/r
|
|
43
43
|
When using sorbet, it is recommended to use model classes as below. This provides stronger type checking and tooling integration.
|
44
44
|
|
45
45
|
```ruby
|
46
|
-
lithic.cards.create(type:
|
46
|
+
lithic.cards.create(type: "SINGLE_USE")
|
47
47
|
```
|
48
48
|
|
49
49
|
### Pagination
|
@@ -71,7 +71,7 @@ When the library is unable to connect to the API, or if the API returns a non-su
|
|
71
71
|
|
72
72
|
```ruby
|
73
73
|
begin
|
74
|
-
card = lithic.cards.create(type:
|
74
|
+
card = lithic.cards.create(type: "an_incorrect_type")
|
75
75
|
rescue Lithic::Errors::APIError => e
|
76
76
|
puts(e.status) # 400
|
77
77
|
end
|
@@ -139,11 +139,11 @@ In all places where a `BaseModel` type is specified, vanilla Ruby `Hash` can als
|
|
139
139
|
|
140
140
|
```ruby
|
141
141
|
# This has tooling readability, for auto-completion, static analysis, and goto definition with supported language services
|
142
|
-
params = Lithic::Models::CardCreateParams.new(type:
|
142
|
+
params = Lithic::Models::CardCreateParams.new(type: "SINGLE_USE")
|
143
143
|
|
144
144
|
# This also works
|
145
145
|
params = {
|
146
|
-
type:
|
146
|
+
type: "SINGLE_USE"
|
147
147
|
}
|
148
148
|
```
|
149
149
|
|
@@ -203,7 +203,7 @@ end
|
|
203
203
|
It is possible to pass a compatible model / parameter class to a method that expects keyword arguments by using the `**` splat operator.
|
204
204
|
|
205
205
|
```ruby
|
206
|
-
params = Lithic::Models::CardCreateParams.new(type:
|
206
|
+
params = Lithic::Models::CardCreateParams.new(type: "SINGLE_USE")
|
207
207
|
lithic.cards.create(**params)
|
208
208
|
```
|
209
209
|
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Lithic
|
4
|
+
class FilePart
|
5
|
+
# @return [Pathname, StringIO, IO, String]
|
6
|
+
attr_reader :content
|
7
|
+
|
8
|
+
# @return [String, nil]
|
9
|
+
attr_reader :content_type
|
10
|
+
|
11
|
+
# @return [String, nil]
|
12
|
+
attr_reader :filename
|
13
|
+
|
14
|
+
# @api private
|
15
|
+
#
|
16
|
+
# @return [String]
|
17
|
+
private def read
|
18
|
+
case contents
|
19
|
+
in Pathname
|
20
|
+
contents.read(binmode: true)
|
21
|
+
in StringIO
|
22
|
+
contents.string
|
23
|
+
in IO
|
24
|
+
contents.read
|
25
|
+
in String
|
26
|
+
contents
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# @param a [Object]
|
31
|
+
#
|
32
|
+
# @return [String]
|
33
|
+
def to_json(*a) = read.to_json(*a)
|
34
|
+
|
35
|
+
# @param a [Object]
|
36
|
+
#
|
37
|
+
# @return [String]
|
38
|
+
def to_yaml(*a) = read.to_yaml(*a)
|
39
|
+
|
40
|
+
# @param content [Pathname, StringIO, IO, String]
|
41
|
+
# @param filename [String, nil]
|
42
|
+
# @param content_type [String, nil]
|
43
|
+
def initialize(content, filename: nil, content_type: nil)
|
44
|
+
@content = content
|
45
|
+
@filename =
|
46
|
+
case content
|
47
|
+
in Pathname
|
48
|
+
filename.nil? ? content.basename.to_path : File.basename(filename)
|
49
|
+
else
|
50
|
+
filename.nil? ? nil : File.basename(filename)
|
51
|
+
end
|
52
|
+
@content_type = content_type
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -153,7 +153,7 @@ module Lithic
|
|
153
153
|
|
154
154
|
# @api private
|
155
155
|
# @return [Lithic::Internal::Transport::PooledNetRequester]
|
156
|
-
|
156
|
+
attr_reader :requester
|
157
157
|
|
158
158
|
# @api private
|
159
159
|
#
|
@@ -214,11 +214,11 @@ module Lithic
|
|
214
214
|
#
|
215
215
|
# @option req [Object, nil] :body
|
216
216
|
#
|
217
|
-
# @option req [Symbol, nil] :unwrap
|
217
|
+
# @option req [Symbol, Integer, Array<Symbol, Integer>, Proc, nil] :unwrap
|
218
218
|
#
|
219
|
-
# @option req [Class
|
219
|
+
# @option req [Class<Lithic::Internal::Type::BasePage>, nil] :page
|
220
220
|
#
|
221
|
-
# @option req [Class
|
221
|
+
# @option req [Class<Lithic::Internal::Type::BaseStream>, nil] :stream
|
222
222
|
#
|
223
223
|
# @option req [Lithic::Internal::Type::Converter, Class, nil] :model
|
224
224
|
#
|
@@ -415,11 +415,11 @@ module Lithic
|
|
415
415
|
#
|
416
416
|
# @param body [Object, nil]
|
417
417
|
#
|
418
|
-
# @param unwrap [Symbol, nil]
|
418
|
+
# @param unwrap [Symbol, Integer, Array<Symbol, Integer>, Proc, nil]
|
419
419
|
#
|
420
|
-
# @param page [Class
|
420
|
+
# @param page [Class<Lithic::Internal::Type::BasePage>, nil]
|
421
421
|
#
|
422
|
-
# @param stream [Class
|
422
|
+
# @param stream [Class<Lithic::Internal::Type::BaseStream>, nil]
|
423
423
|
#
|
424
424
|
# @param model [Lithic::Internal::Type::Converter, Class, nil]
|
425
425
|
#
|
@@ -389,7 +389,7 @@ module Lithic
|
|
389
389
|
|
390
390
|
# Create a new instance of a model.
|
391
391
|
#
|
392
|
-
# @param data [Hash{Symbol=>Object},
|
392
|
+
# @param data [Hash{Symbol=>Object}, self]
|
393
393
|
def initialize(data = {})
|
394
394
|
case Lithic::Internal::Util.coerce_hash(data)
|
395
395
|
in Hash => coerced
|
@@ -7,8 +7,12 @@ module Lithic
|
|
7
7
|
#
|
8
8
|
# @abstract
|
9
9
|
#
|
10
|
-
# Either `Pathname` or `StringIO
|
11
|
-
|
10
|
+
# Either `Pathname` or `StringIO`, or `IO`, or
|
11
|
+
# `Lithic::Internal::Type::FileInput`.
|
12
|
+
#
|
13
|
+
# Note: when `IO` is used, all retries are disabled, since many IO` streams are
|
14
|
+
# not rewindable.
|
15
|
+
class FileInput
|
12
16
|
extend Lithic::Internal::Type::Converter
|
13
17
|
|
14
18
|
private_class_method :new
|
@@ -20,7 +24,7 @@ module Lithic
|
|
20
24
|
# @return [Boolean]
|
21
25
|
def self.===(other)
|
22
26
|
case other
|
23
|
-
in StringIO |
|
27
|
+
in Pathname | StringIO | IO | String | Lithic::FilePart
|
24
28
|
true
|
25
29
|
else
|
26
30
|
false
|
@@ -32,7 +36,7 @@ module Lithic
|
|
32
36
|
# @param other [Object]
|
33
37
|
#
|
34
38
|
# @return [Boolean]
|
35
|
-
def self.==(other) = other.is_a?(Class) && other <= Lithic::Internal::Type::
|
39
|
+
def self.==(other) = other.is_a?(Class) && other <= Lithic::Internal::Type::FileInput
|
36
40
|
|
37
41
|
class << self
|
38
42
|
# @api private
|
data/lib/lithic/internal/util.rb
CHANGED
@@ -175,18 +175,17 @@ module Lithic
|
|
175
175
|
# @api private
|
176
176
|
#
|
177
177
|
# @param data [Hash{Symbol=>Object}, Array<Object>, Object]
|
178
|
-
# @param pick [Symbol, Integer, Array<Symbol, Integer>, nil]
|
179
|
-
# @param sentinel [Object, nil]
|
178
|
+
# @param pick [Symbol, Integer, Array<Symbol, Integer>, Proc, nil]
|
180
179
|
# @param blk [Proc, nil]
|
181
180
|
#
|
182
181
|
# @return [Object, nil]
|
183
|
-
def dig(data, pick,
|
184
|
-
case [data, pick
|
185
|
-
in [_, nil
|
182
|
+
def dig(data, pick, &blk)
|
183
|
+
case [data, pick]
|
184
|
+
in [_, nil]
|
186
185
|
data
|
187
|
-
in [Hash, Symbol
|
188
|
-
|
189
|
-
in [Hash | Array, Array
|
186
|
+
in [Hash, Symbol] | [Array, Integer]
|
187
|
+
data.fetch(pick) { blk&.call }
|
188
|
+
in [Hash | Array, Array]
|
190
189
|
pick.reduce(data) do |acc, key|
|
191
190
|
case acc
|
192
191
|
in Hash if acc.key?(key)
|
@@ -194,11 +193,13 @@ module Lithic
|
|
194
193
|
in Array if key.is_a?(Integer) && key < acc.length
|
195
194
|
acc[key]
|
196
195
|
else
|
197
|
-
return blk
|
196
|
+
return blk&.call
|
198
197
|
end
|
199
198
|
end
|
200
|
-
in _
|
201
|
-
|
199
|
+
in [_, Proc]
|
200
|
+
pick.call(data)
|
201
|
+
else
|
202
|
+
blk&.call
|
202
203
|
end
|
203
204
|
end
|
204
205
|
end
|
@@ -348,27 +349,6 @@ module Lithic
|
|
348
349
|
end
|
349
350
|
end
|
350
351
|
|
351
|
-
# @api private
|
352
|
-
class SerializationAdapter
|
353
|
-
# @return [Pathname, IO]
|
354
|
-
attr_reader :inner
|
355
|
-
|
356
|
-
# @param a [Object]
|
357
|
-
#
|
358
|
-
# @return [String]
|
359
|
-
def to_json(*a) = (inner.is_a?(IO) ? inner.read : inner.read(binmode: true)).to_json(*a)
|
360
|
-
|
361
|
-
# @param a [Object]
|
362
|
-
#
|
363
|
-
# @return [String]
|
364
|
-
def to_yaml(*a) = (inner.is_a?(IO) ? inner.read : inner.read(binmode: true)).to_yaml(*a)
|
365
|
-
|
366
|
-
# @api private
|
367
|
-
#
|
368
|
-
# @param inner [Pathname, IO]
|
369
|
-
def initialize(inner) = @inner = inner
|
370
|
-
end
|
371
|
-
|
372
352
|
# @api private
|
373
353
|
#
|
374
354
|
# An adapter that satisfies the IO interface required by `::IO.copy_stream`
|
@@ -471,46 +451,44 @@ module Lithic
|
|
471
451
|
end
|
472
452
|
end
|
473
453
|
|
454
|
+
# @type [Regexp]
|
455
|
+
JSON_CONTENT = %r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}
|
456
|
+
# @type [Regexp]
|
457
|
+
JSONL_CONTENT = %r{^application/(?:x-)?jsonl}
|
458
|
+
|
474
459
|
class << self
|
475
460
|
# @api private
|
476
461
|
#
|
477
462
|
# @param y [Enumerator::Yielder]
|
478
|
-
# @param boundary [String]
|
479
|
-
# @param key [Symbol, String]
|
480
463
|
# @param val [Object]
|
481
464
|
# @param closing [Array<Proc>]
|
482
|
-
|
483
|
-
|
465
|
+
# @param content_type [String, nil]
|
466
|
+
private def write_multipart_content(y, val:, closing:, content_type: nil)
|
467
|
+
content_type ||= "application/octet-stream"
|
484
468
|
|
485
|
-
y << "--#{boundary}\r\n"
|
486
|
-
y << "Content-Disposition: form-data"
|
487
|
-
unless key.nil?
|
488
|
-
name = ERB::Util.url_encode(key.to_s)
|
489
|
-
y << "; name=\"#{name}\""
|
490
|
-
end
|
491
|
-
case val
|
492
|
-
in Pathname | IO
|
493
|
-
filename = ERB::Util.url_encode(File.basename(val.to_path))
|
494
|
-
y << "; filename=\"#{filename}\""
|
495
|
-
else
|
496
|
-
end
|
497
|
-
y << "\r\n"
|
498
469
|
case val
|
470
|
+
in Lithic::FilePart
|
471
|
+
return write_multipart_content(
|
472
|
+
y,
|
473
|
+
val: val.content,
|
474
|
+
closing: closing,
|
475
|
+
content_type: val.content_type
|
476
|
+
)
|
499
477
|
in Pathname
|
500
|
-
y << "Content-Type:
|
478
|
+
y << "Content-Type: #{content_type}\r\n\r\n"
|
501
479
|
io = val.open(binmode: true)
|
502
480
|
closing << io.method(:close)
|
503
481
|
IO.copy_stream(io, y)
|
504
482
|
in IO
|
505
|
-
y << "Content-Type:
|
483
|
+
y << "Content-Type: #{content_type}\r\n\r\n"
|
506
484
|
IO.copy_stream(val, y)
|
507
485
|
in StringIO
|
508
|
-
y << "Content-Type:
|
486
|
+
y << "Content-Type: #{content_type}\r\n\r\n"
|
509
487
|
y << val.string
|
510
488
|
in String
|
511
|
-
y << "Content-Type:
|
489
|
+
y << "Content-Type: #{content_type}\r\n\r\n"
|
512
490
|
y << val.to_s
|
513
|
-
in
|
491
|
+
in -> { primitive?(_1) }
|
514
492
|
y << "Content-Type: text/plain\r\n\r\n"
|
515
493
|
y << val.to_s
|
516
494
|
else
|
@@ -520,6 +498,36 @@ module Lithic
|
|
520
498
|
y << "\r\n"
|
521
499
|
end
|
522
500
|
|
501
|
+
# @api private
|
502
|
+
#
|
503
|
+
# @param y [Enumerator::Yielder]
|
504
|
+
# @param boundary [String]
|
505
|
+
# @param key [Symbol, String]
|
506
|
+
# @param val [Object]
|
507
|
+
# @param closing [Array<Proc>]
|
508
|
+
private def write_multipart_chunk(y, boundary:, key:, val:, closing:)
|
509
|
+
y << "--#{boundary}\r\n"
|
510
|
+
y << "Content-Disposition: form-data"
|
511
|
+
|
512
|
+
unless key.nil?
|
513
|
+
name = ERB::Util.url_encode(key.to_s)
|
514
|
+
y << "; name=\"#{name}\""
|
515
|
+
end
|
516
|
+
|
517
|
+
case val
|
518
|
+
in Lithic::FilePart unless val.filename.nil?
|
519
|
+
filename = ERB::Util.url_encode(val.filename)
|
520
|
+
y << "; filename=\"#{filename}\""
|
521
|
+
in Pathname | IO
|
522
|
+
filename = ERB::Util.url_encode(File.basename(val.to_path))
|
523
|
+
y << "; filename=\"#{filename}\""
|
524
|
+
else
|
525
|
+
end
|
526
|
+
y << "\r\n"
|
527
|
+
|
528
|
+
write_multipart_content(y, val: val, closing: closing)
|
529
|
+
end
|
530
|
+
|
523
531
|
# @api private
|
524
532
|
#
|
525
533
|
# @param body [Object]
|
@@ -560,14 +568,12 @@ module Lithic
|
|
560
568
|
# @return [Object]
|
561
569
|
def encode_content(headers, body)
|
562
570
|
content_type = headers["content-type"]
|
563
|
-
body = body.inner if body.is_a?(Lithic::Internal::Util::SerializationAdapter)
|
564
|
-
|
565
571
|
case [content_type, body]
|
566
|
-
in [
|
572
|
+
in [Lithic::Internal::Util::JSON_CONTENT, Hash | Array | -> { primitive?(_1) }]
|
567
573
|
[headers, JSON.fast_generate(body)]
|
568
|
-
in [
|
574
|
+
in [Lithic::Internal::Util::JSONL_CONTENT, Enumerable] unless body.is_a?(Lithic::Internal::Type::FileInput)
|
569
575
|
[headers, body.lazy.map { JSON.fast_generate(_1) }]
|
570
|
-
in [%r{^multipart/form-data}, Hash |
|
576
|
+
in [%r{^multipart/form-data}, Hash | Lithic::Internal::Type::FileInput]
|
571
577
|
boundary, strio = encode_multipart_streaming(body)
|
572
578
|
headers = {**headers, "content-type" => "#{content_type}; boundary=#{boundary}"}
|
573
579
|
[headers, strio]
|
@@ -575,6 +581,8 @@ module Lithic
|
|
575
581
|
[headers, body.to_s]
|
576
582
|
in [_, StringIO]
|
577
583
|
[headers, body.string]
|
584
|
+
in [_, Lithic::FilePart]
|
585
|
+
[headers, body.content]
|
578
586
|
else
|
579
587
|
[headers, body]
|
580
588
|
end
|
@@ -611,7 +619,7 @@ module Lithic
|
|
611
619
|
# @return [Object]
|
612
620
|
def decode_content(headers, stream:, suppress_error: false)
|
613
621
|
case (content_type = headers["content-type"])
|
614
|
-
in
|
622
|
+
in Lithic::Internal::Util::JSON_CONTENT
|
615
623
|
json = stream.to_a.join
|
616
624
|
begin
|
617
625
|
JSON.parse(json, symbolize_names: true)
|
@@ -619,7 +627,7 @@ module Lithic
|
|
619
627
|
raise e unless suppress_error
|
620
628
|
json
|
621
629
|
end
|
622
|
-
in
|
630
|
+
in Lithic::Internal::Util::JSONL_CONTENT
|
623
631
|
lines = decode_lines(stream)
|
624
632
|
chain_fused(lines) do |y|
|
625
633
|
lines.each { y << JSON.parse(_1, symbolize_names: true) }
|
@@ -73,13 +73,25 @@ module Lithic
|
|
73
73
|
optional :verification_address, -> { Lithic::Models::Account::VerificationAddress }
|
74
74
|
|
75
75
|
# @!method initialize(token:, created:, spend_limit:, state:, account_holder: nil, auth_rule_tokens: nil, cardholder_currency: nil, verification_address: nil)
|
76
|
-
#
|
77
|
-
#
|
78
|
-
#
|
79
|
-
# @param
|
76
|
+
# Some parameter documentations has been truncated, see {Lithic::Models::Account}
|
77
|
+
# for more details.
|
78
|
+
#
|
79
|
+
# @param token [String] Globally unique identifier for the account. This is the same as the account_toke
|
80
|
+
# ...
|
81
|
+
#
|
82
|
+
# @param created [Time, nil] Timestamp of when the account was created.
|
83
|
+
#
|
84
|
+
# @param spend_limit [Lithic::Models::Account::SpendLimit] Spend limit information for the user containing the daily, monthly, and lifetime
|
85
|
+
# ...
|
86
|
+
#
|
87
|
+
# @param state [Symbol, Lithic::Models::Account::State] Account state: ...
|
88
|
+
#
|
80
89
|
# @param account_holder [Lithic::Models::Account::AccountHolder]
|
81
|
-
#
|
82
|
-
# @param
|
90
|
+
#
|
91
|
+
# @param auth_rule_tokens [Array<String>] List of identifiers for the Auth Rule(s) that are applied on the account. ...
|
92
|
+
#
|
93
|
+
# @param cardholder_currency [String] 3-character alphabetic ISO 4217 code for the currency of the cardholder.
|
94
|
+
#
|
83
95
|
# @param verification_address [Lithic::Models::Account::VerificationAddress]
|
84
96
|
|
85
97
|
# @see Lithic::Models::Account#spend_limit
|
@@ -109,9 +121,11 @@ module Lithic
|
|
109
121
|
# time limit (rolling). A lifetime limit of 0 indicates that the lifetime limit
|
110
122
|
# feature is disabled.
|
111
123
|
#
|
112
|
-
# @param daily [Integer]
|
113
|
-
#
|
114
|
-
# @param
|
124
|
+
# @param daily [Integer] Daily spend limit (in cents).
|
125
|
+
#
|
126
|
+
# @param lifetime [Integer] Total spend limit over account lifetime (in cents).
|
127
|
+
#
|
128
|
+
# @param monthly [Integer] Monthly spend limit (in cents).
|
115
129
|
end
|
116
130
|
|
117
131
|
# Account state:
|
@@ -167,10 +181,17 @@ module Lithic
|
|
167
181
|
required :phone_number, String
|
168
182
|
|
169
183
|
# @!method initialize(token:, business_account_token:, email:, phone_number:)
|
170
|
-
#
|
171
|
-
#
|
172
|
-
#
|
173
|
-
# @param
|
184
|
+
# Some parameter documentations has been truncated, see
|
185
|
+
# {Lithic::Models::Account::AccountHolder} for more details.
|
186
|
+
#
|
187
|
+
# @param token [String] Globally unique identifier for the account holder.
|
188
|
+
#
|
189
|
+
# @param business_account_token [String] Only applicable for customers using the KYC-Exempt workflow to enroll authorized
|
190
|
+
# ...
|
191
|
+
#
|
192
|
+
# @param email [String] Email address.
|
193
|
+
#
|
194
|
+
# @param phone_number [String] Phone number of the individual.
|
174
195
|
end
|
175
196
|
|
176
197
|
# @deprecated
|
@@ -217,12 +238,22 @@ module Lithic
|
|
217
238
|
optional :address2, String
|
218
239
|
|
219
240
|
# @!method initialize(address1:, city:, country:, postal_code:, state:, address2: nil)
|
220
|
-
#
|
221
|
-
#
|
222
|
-
#
|
223
|
-
# @param
|
224
|
-
#
|
225
|
-
# @param
|
241
|
+
# Some parameter documentations has been truncated, see
|
242
|
+
# {Lithic::Models::Account::VerificationAddress} for more details.
|
243
|
+
#
|
244
|
+
# @param address1 [String] Valid deliverable address (no PO boxes).
|
245
|
+
#
|
246
|
+
# @param city [String] City name.
|
247
|
+
#
|
248
|
+
# @param country [String] Country name. Only USA is currently supported.
|
249
|
+
#
|
250
|
+
# @param postal_code [String] Valid postal code. Only USA postal codes (ZIP codes) are currently supported, en
|
251
|
+
# ...
|
252
|
+
#
|
253
|
+
# @param state [String] Valid state code. Only USA state codes are currently supported, entered in upper
|
254
|
+
# ...
|
255
|
+
#
|
256
|
+
# @param address2 [String] Unit or apartment number (if applicable).
|
226
257
|
end
|
227
258
|
end
|
228
259
|
end
|