lithic 0.1.0.pre.alpha.14 → 0.1.0.pre.alpha.16
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 +36 -0
- data/README.md +61 -52
- data/lib/lithic/client.rb +4 -4
- data/lib/lithic/internal/transport/pooled_net_requester.rb +1 -5
- data/lib/lithic/internal/type/array_of.rb +9 -0
- data/lib/lithic/internal/type/base_model.rb +62 -28
- data/lib/lithic/internal/type/base_page.rb +8 -0
- data/lib/lithic/internal/type/boolean.rb +4 -0
- data/lib/lithic/internal/type/enum.rb +9 -5
- data/lib/lithic/internal/type/hash_of.rb +9 -0
- data/lib/lithic/internal/type/io_like.rb +4 -0
- data/lib/lithic/internal/type/request_parameters.rb +1 -2
- data/lib/lithic/internal/type/union.rb +10 -1
- data/lib/lithic/internal/type/unknown.rb +4 -0
- data/lib/lithic/internal.rb +0 -1
- data/lib/lithic/models/account.rb +42 -91
- data/lib/lithic/models/account_financial_account_type.rb +2 -5
- data/lib/lithic/models/account_holder.rb +127 -312
- data/lib/lithic/models/account_holder_create_params.rb +99 -219
- data/lib/lithic/models/account_holder_create_response.rb +15 -48
- data/lib/lithic/models/account_holder_list_documents_params.rb +3 -8
- data/lib/lithic/models/account_holder_list_documents_response.rb +3 -11
- data/lib/lithic/models/account_holder_list_params.rb +25 -90
- data/lib/lithic/models/account_holder_retrieve_document_params.rb +4 -9
- data/lib/lithic/models/account_holder_retrieve_params.rb +3 -8
- data/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rb +13 -41
- data/lib/lithic/models/account_holder_simulate_enrollment_review_params.rb +13 -36
- data/lib/lithic/models/account_holder_simulate_enrollment_review_response.rb +151 -388
- data/lib/lithic/models/account_holder_update_params.rb +132 -424
- data/lib/lithic/models/account_holder_update_response.rb +180 -474
- data/lib/lithic/models/account_holder_upload_document_params.rb +7 -15
- data/lib/lithic/models/account_list_params.rb +13 -38
- data/lib/lithic/models/account_retrieve_params.rb +3 -8
- data/lib/lithic/models/account_retrieve_spend_limits_params.rb +3 -8
- data/lib/lithic/models/account_spend_limits.rb +27 -87
- data/lib/lithic/models/account_update_params.rb +35 -99
- data/lib/lithic/models/address.rb +8 -16
- data/lib/lithic/models/address_update.rb +13 -41
- data/lib/lithic/models/aggregate_balance.rb +15 -36
- data/lib/lithic/models/aggregate_balance_list_params.rb +7 -19
- data/lib/lithic/models/api_status.rb +3 -11
- data/lib/lithic/models/auth_rules/auth_rule.rb +19 -67
- data/lib/lithic/models/auth_rules/auth_rule_condition.rb +11 -31
- data/lib/lithic/models/auth_rules/conditional_attribute.rb +2 -5
- data/lib/lithic/models/auth_rules/conditional_block_parameters.rb +2 -6
- data/lib/lithic/models/auth_rules/v2/backtest_create_params.rb +7 -20
- data/lib/lithic/models/auth_rules/v2/backtest_create_response.rb +3 -11
- data/lib/lithic/models/auth_rules/v2/backtest_results.rb +46 -142
- data/lib/lithic/models/auth_rules/v2/backtest_retrieve_params.rb +4 -9
- data/lib/lithic/models/auth_rules/v2_apply_params.rb +8 -17
- data/lib/lithic/models/auth_rules/v2_apply_response.rb +26 -64
- data/lib/lithic/models/auth_rules/v2_create_params.rb +17 -50
- data/lib/lithic/models/auth_rules/v2_create_response.rb +26 -64
- data/lib/lithic/models/auth_rules/v2_delete_params.rb +3 -8
- data/lib/lithic/models/auth_rules/v2_draft_params.rb +6 -12
- data/lib/lithic/models/auth_rules/v2_draft_response.rb +26 -64
- data/lib/lithic/models/auth_rules/v2_list_params.rb +13 -48
- data/lib/lithic/models/auth_rules/v2_list_response.rb +26 -64
- data/lib/lithic/models/auth_rules/v2_promote_params.rb +3 -8
- data/lib/lithic/models/auth_rules/v2_promote_response.rb +26 -64
- data/lib/lithic/models/auth_rules/v2_report_params.rb +3 -8
- data/lib/lithic/models/auth_rules/v2_report_response.rb +3 -11
- data/lib/lithic/models/auth_rules/v2_retrieve_params.rb +3 -8
- data/lib/lithic/models/auth_rules/v2_retrieve_response.rb +26 -64
- data/lib/lithic/models/auth_rules/v2_update_params.rb +16 -55
- data/lib/lithic/models/auth_rules/v2_update_response.rb +26 -64
- data/lib/lithic/models/auth_rules/velocity_limit_params.rb +15 -27
- data/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rb +2 -5
- data/lib/lithic/models/auth_stream_enrollment_retrieve_secret_params.rb +3 -8
- data/lib/lithic/models/auth_stream_enrollment_rotate_secret_params.rb +3 -8
- data/lib/lithic/models/auth_stream_secret.rb +3 -11
- data/lib/lithic/models/balance.rb +15 -36
- data/lib/lithic/models/balance_list_params.rb +13 -46
- data/lib/lithic/models/book_transfer_create_params.rb +17 -49
- data/lib/lithic/models/book_transfer_list_params.rb +31 -105
- data/lib/lithic/models/book_transfer_response.rb +32 -71
- data/lib/lithic/models/book_transfer_retrieve_params.rb +3 -8
- data/lib/lithic/models/book_transfer_reverse_params.rb +5 -14
- data/lib/lithic/models/card_convert_physical_params.rb +12 -32
- data/lib/lithic/models/card_convert_physical_response.rb +393 -0
- data/lib/lithic/models/card_create_params.rb +42 -142
- data/lib/lithic/models/card_create_response.rb +392 -0
- data/lib/lithic/models/card_embed_params.rb +5 -10
- data/lib/lithic/models/card_list_params.rb +19 -67
- data/lib/lithic/models/card_list_response.rb +376 -0
- data/lib/lithic/models/card_program.rb +10 -33
- data/lib/lithic/models/card_program_list_params.rb +9 -26
- data/lib/lithic/models/card_program_retrieve_params.rb +3 -8
- data/lib/lithic/models/card_provision_params.rb +17 -60
- data/lib/lithic/models/card_provision_response.rb +3 -11
- data/lib/lithic/models/card_reissue_params.rb +13 -37
- data/lib/lithic/models/card_reissue_response.rb +392 -0
- data/lib/lithic/models/card_renew_params.rb +16 -55
- data/lib/lithic/models/card_renew_response.rb +392 -0
- data/lib/lithic/models/card_retrieve_params.rb +3 -8
- data/lib/lithic/models/card_retrieve_response.rb +392 -0
- data/lib/lithic/models/card_retrieve_spend_limits_params.rb +3 -8
- data/lib/lithic/models/card_search_by_pan_params.rb +4 -9
- data/lib/lithic/models/card_search_by_pan_response.rb +392 -0
- data/lib/lithic/models/card_spend_limits.rb +27 -87
- data/lib/lithic/models/card_update_params.rb +21 -72
- data/lib/lithic/models/card_update_response.rb +392 -0
- data/lib/lithic/models/cards/aggregate_balance_list_params.rb +7 -20
- data/lib/lithic/models/cards/aggregate_balance_list_response.rb +12 -29
- data/lib/lithic/models/cards/balance_list_params.rb +7 -20
- data/lib/lithic/models/cards/balance_list_response.rb +15 -36
- data/lib/lithic/models/cards/financial_transaction_list_params.rb +23 -77
- data/lib/lithic/models/cards/financial_transaction_retrieve_params.rb +4 -9
- data/lib/lithic/models/carrier.rb +3 -11
- data/lib/lithic/models/client_api_status_params.rb +3 -8
- data/lib/lithic/models/credit_products/extended_credit.rb +2 -6
- data/lib/lithic/models/credit_products/extended_credit_retrieve_params.rb +3 -8
- data/lib/lithic/models/credit_products/prime_rate_create_params.rb +5 -10
- data/lib/lithic/models/credit_products/prime_rate_retrieve_params.rb +7 -20
- data/lib/lithic/models/credit_products/prime_rate_retrieve_response.rb +6 -14
- data/lib/lithic/models/digital_card_art.rb +11 -33
- data/lib/lithic/models/digital_card_art_list_params.rb +9 -26
- data/lib/lithic/models/digital_card_art_retrieve_params.rb +3 -8
- data/lib/lithic/models/dispute.rb +27 -70
- data/lib/lithic/models/dispute_create_params.rb +12 -38
- data/lib/lithic/models/dispute_delete_evidence_params.rb +4 -9
- data/lib/lithic/models/dispute_delete_params.rb +3 -8
- data/lib/lithic/models/dispute_evidence.rb +15 -34
- data/lib/lithic/models/dispute_initiate_evidence_upload_params.rb +5 -14
- data/lib/lithic/models/dispute_list_evidences_params.rb +13 -38
- data/lib/lithic/models/dispute_list_params.rb +19 -67
- data/lib/lithic/models/dispute_retrieve_evidence_params.rb +4 -9
- data/lib/lithic/models/dispute_retrieve_params.rb +3 -8
- data/lib/lithic/models/dispute_update_params.rb +13 -37
- data/lib/lithic/models/document.rb +29 -62
- data/lib/lithic/models/event.rb +9 -16
- data/lib/lithic/models/event_list_attempts_params.rb +17 -60
- data/lib/lithic/models/event_list_params.rb +19 -67
- data/lib/lithic/models/event_retrieve_params.rb +3 -8
- data/lib/lithic/models/event_subscription.rb +10 -17
- data/lib/lithic/models/events/event_subscription_resend_params.rb +4 -9
- data/lib/lithic/models/events/subscription_create_params.rb +12 -32
- data/lib/lithic/models/events/subscription_delete_params.rb +3 -8
- data/lib/lithic/models/events/subscription_list_attempts_params.rb +17 -60
- data/lib/lithic/models/events/subscription_list_params.rb +9 -26
- data/lib/lithic/models/events/subscription_recover_params.rb +7 -20
- data/lib/lithic/models/events/subscription_replay_missing_params.rb +7 -20
- data/lib/lithic/models/events/subscription_retrieve_params.rb +3 -8
- data/lib/lithic/models/events/subscription_retrieve_secret_params.rb +3 -8
- data/lib/lithic/models/events/subscription_retrieve_secret_response.rb +3 -11
- data/lib/lithic/models/events/subscription_rotate_secret_params.rb +3 -8
- data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +7 -19
- data/lib/lithic/models/events/subscription_update_params.rb +12 -32
- data/lib/lithic/models/external_bank_account_address.rb +8 -16
- data/lib/lithic/models/external_bank_account_create_params.rb +33 -99
- data/lib/lithic/models/external_bank_account_create_response.rb +42 -123
- data/lib/lithic/models/external_bank_account_list_params.rb +27 -91
- data/lib/lithic/models/external_bank_account_list_response.rb +42 -123
- data/lib/lithic/models/external_bank_account_retrieve_params.rb +3 -8
- data/lib/lithic/models/external_bank_account_retrieve_response.rb +42 -123
- data/lib/lithic/models/external_bank_account_retry_micro_deposits_params.rb +5 -14
- data/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rb +42 -123
- data/lib/lithic/models/external_bank_account_retry_prenote_params.rb +5 -14
- data/lib/lithic/models/external_bank_account_retry_prenote_response.rb +38 -113
- data/lib/lithic/models/external_bank_account_update_params.rb +23 -81
- data/lib/lithic/models/external_bank_account_update_response.rb +42 -123
- data/lib/lithic/models/external_bank_accounts/micro_deposit_create_params.rb +4 -9
- data/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rb +42 -123
- data/lib/lithic/models/external_payment.rb +38 -88
- data/lib/lithic/models/external_payment_cancel_params.rb +6 -15
- data/lib/lithic/models/external_payment_create_params.rb +22 -66
- data/lib/lithic/models/external_payment_list_params.rb +29 -98
- data/lib/lithic/models/external_payment_release_params.rb +6 -15
- data/lib/lithic/models/external_payment_retrieve_params.rb +3 -8
- data/lib/lithic/models/external_payment_reverse_params.rb +6 -15
- data/lib/lithic/models/external_payment_settle_params.rb +10 -26
- data/lib/lithic/models/financial_account.rb +33 -81
- data/lib/lithic/models/financial_account_create_params.rb +13 -43
- data/lib/lithic/models/financial_account_list_params.rb +11 -31
- data/lib/lithic/models/financial_account_retrieve_params.rb +3 -8
- data/lib/lithic/models/financial_account_update_params.rb +5 -14
- data/lib/lithic/models/financial_account_update_status_params.rb +9 -20
- data/lib/lithic/models/financial_accounts/balance_list_params.rb +7 -20
- data/lib/lithic/models/financial_accounts/balance_list_response.rb +15 -36
- data/lib/lithic/models/financial_accounts/credit_configuration_retrieve_params.rb +3 -8
- data/lib/lithic/models/financial_accounts/credit_configuration_update_params.rb +11 -41
- data/lib/lithic/models/financial_accounts/financial_account_credit_config.rb +13 -35
- data/lib/lithic/models/financial_accounts/financial_transaction_list_params.rb +23 -77
- data/lib/lithic/models/financial_accounts/financial_transaction_retrieve_params.rb +4 -9
- data/lib/lithic/models/financial_accounts/loan_tape.rb +132 -269
- data/lib/lithic/models/financial_accounts/loan_tape_list_params.rb +13 -38
- data/lib/lithic/models/financial_accounts/loan_tape_retrieve_params.rb +4 -9
- data/lib/lithic/models/financial_accounts/statement.rb +87 -198
- data/lib/lithic/models/financial_accounts/statement_list_params.rb +15 -55
- data/lib/lithic/models/financial_accounts/statement_retrieve_params.rb +4 -9
- data/lib/lithic/models/financial_accounts/statements/line_item_list_params.rb +10 -27
- data/lib/lithic/models/financial_accounts/statements/statement_line_items.rb +24 -60
- data/lib/lithic/models/financial_accounts/statements.rb +3 -7
- data/lib/lithic/models/financial_transaction.rb +34 -91
- data/lib/lithic/models/instance_financial_account_type.rb +4 -5
- data/lib/lithic/models/kyb.rb +73 -167
- data/lib/lithic/models/kyb_business_entity.rb +20 -50
- data/lib/lithic/models/kyc.rb +21 -40
- data/lib/lithic/models/kyc_exempt.rb +16 -47
- data/lib/lithic/models/management_operation_create_params.rb +34 -74
- data/lib/lithic/models/management_operation_list_params.rb +26 -86
- data/lib/lithic/models/management_operation_retrieve_params.rb +3 -8
- data/lib/lithic/models/management_operation_reverse_params.rb +6 -15
- data/lib/lithic/models/management_operation_transaction.rb +56 -110
- data/lib/lithic/models/message_attempt.rb +13 -32
- data/lib/lithic/models/owner_type.rb +2 -5
- data/lib/lithic/models/payment.rb +56 -129
- data/lib/lithic/models/payment_create_params.rb +23 -67
- data/lib/lithic/models/payment_create_response.rb +3 -11
- data/lib/lithic/models/payment_list_params.rb +31 -105
- data/lib/lithic/models/payment_retrieve_params.rb +3 -8
- data/lib/lithic/models/payment_retry_params.rb +3 -8
- data/lib/lithic/models/payment_retry_response.rb +3 -11
- data/lib/lithic/models/payment_simulate_action_params.rb +12 -31
- data/lib/lithic/models/payment_simulate_action_response.rb +6 -13
- data/lib/lithic/models/payment_simulate_receipt_params.rb +12 -24
- data/lib/lithic/models/payment_simulate_receipt_response.rb +6 -13
- data/lib/lithic/models/payment_simulate_release_params.rb +4 -9
- data/lib/lithic/models/payment_simulate_release_response.rb +6 -13
- data/lib/lithic/models/payment_simulate_return_params.rb +6 -15
- data/lib/lithic/models/payment_simulate_return_response.rb +6 -13
- data/lib/lithic/models/reports/settlement/network_total_list_params.rb +27 -95
- data/lib/lithic/models/reports/settlement/network_total_list_response.rb +21 -55
- data/lib/lithic/models/reports/settlement/network_total_retrieve_params.rb +3 -8
- data/lib/lithic/models/reports/settlement/network_total_retrieve_response.rb +21 -55
- data/lib/lithic/models/reports/settlement_list_details_params.rb +9 -26
- data/lib/lithic/models/reports/settlement_summary_params.rb +3 -8
- data/lib/lithic/models/required_document.rb +4 -8
- data/lib/lithic/models/responder_endpoint_check_status_params.rb +6 -14
- data/lib/lithic/models/responder_endpoint_create_params.rb +9 -25
- data/lib/lithic/models/responder_endpoint_create_response.rb +3 -11
- data/lib/lithic/models/responder_endpoint_delete_params.rb +6 -14
- data/lib/lithic/models/responder_endpoint_status.rb +4 -12
- data/lib/lithic/models/settlement_detail.rb +32 -79
- data/lib/lithic/models/settlement_report.rb +24 -31
- data/lib/lithic/models/settlement_summary_details.rb +19 -70
- data/lib/lithic/models/shipping_address.rb +16 -51
- data/lib/lithic/models/spend_limit_duration.rb +2 -5
- data/lib/lithic/models/three_ds/authentication_retrieve_params.rb +3 -8
- data/lib/lithic/models/three_ds/authentication_retrieve_response.rb +148 -312
- data/lib/lithic/models/three_ds/authentication_simulate_otp_entry_params.rb +5 -10
- data/lib/lithic/models/three_ds/authentication_simulate_params.rb +18 -38
- data/lib/lithic/models/three_ds/authentication_simulate_response.rb +3 -11
- data/lib/lithic/models/three_ds/challenge_response.rb +3 -7
- data/lib/lithic/models/three_ds/challenge_result.rb +2 -5
- data/lib/lithic/models/three_ds/decisioning_challenge_response_params.rb +3 -8
- data/lib/lithic/models/three_ds/decisioning_retrieve_secret_params.rb +3 -8
- data/lib/lithic/models/three_ds/decisioning_retrieve_secret_response.rb +3 -11
- data/lib/lithic/models/three_ds/decisioning_rotate_secret_params.rb +3 -8
- data/lib/lithic/models/tokenization.rb +35 -99
- data/lib/lithic/models/tokenization_activate_params.rb +3 -8
- data/lib/lithic/models/tokenization_deactivate_params.rb +3 -8
- data/lib/lithic/models/tokenization_decisioning_retrieve_secret_params.rb +3 -8
- data/lib/lithic/models/tokenization_decisioning_rotate_secret_params.rb +3 -8
- data/lib/lithic/models/tokenization_decisioning_rotate_secret_response.rb +3 -11
- data/lib/lithic/models/tokenization_list_params.rb +21 -74
- data/lib/lithic/models/tokenization_pause_params.rb +3 -8
- data/lib/lithic/models/tokenization_resend_activation_code_params.rb +7 -19
- data/lib/lithic/models/tokenization_retrieve_params.rb +3 -8
- data/lib/lithic/models/tokenization_retrieve_response.rb +3 -11
- data/lib/lithic/models/tokenization_secret.rb +3 -11
- data/lib/lithic/models/tokenization_simulate_params.rb +19 -59
- data/lib/lithic/models/tokenization_simulate_response.rb +3 -11
- data/lib/lithic/models/tokenization_unpause_params.rb +3 -8
- data/lib/lithic/models/tokenization_update_digital_card_art_params.rb +5 -14
- data/lib/lithic/models/tokenization_update_digital_card_art_response.rb +3 -11
- data/lib/lithic/models/transaction.rb +295 -413
- data/lib/lithic/models/transaction_expire_authorization_params.rb +3 -8
- data/lib/lithic/models/transaction_list_params.rb +25 -86
- data/lib/lithic/models/transaction_retrieve_params.rb +3 -8
- data/lib/lithic/models/transaction_simulate_authorization_advice_params.rb +5 -10
- data/lib/lithic/models/transaction_simulate_authorization_advice_response.rb +5 -17
- data/lib/lithic/models/transaction_simulate_authorization_params.rb +22 -73
- data/lib/lithic/models/transaction_simulate_authorization_response.rb +5 -17
- data/lib/lithic/models/transaction_simulate_clearing_params.rb +6 -15
- data/lib/lithic/models/transaction_simulate_clearing_response.rb +3 -11
- data/lib/lithic/models/transaction_simulate_credit_authorization_params.rb +10 -23
- data/lib/lithic/models/transaction_simulate_credit_authorization_response.rb +5 -17
- data/lib/lithic/models/transaction_simulate_return_params.rb +6 -11
- data/lib/lithic/models/transaction_simulate_return_response.rb +5 -17
- data/lib/lithic/models/transaction_simulate_return_reversal_params.rb +4 -9
- data/lib/lithic/models/transaction_simulate_return_reversal_response.rb +3 -11
- data/lib/lithic/models/transaction_simulate_void_params.rb +10 -26
- data/lib/lithic/models/transaction_simulate_void_response.rb +3 -11
- data/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_params.rb +3 -8
- data/lib/lithic/models/transactions/enhanced_commercial_data_retrieve_response.rb +2 -6
- data/lib/lithic/models/transactions/events/enhanced_commercial_data_retrieve_params.rb +3 -8
- data/lib/lithic/models/transactions/events/enhanced_data.rb +68 -192
- data/lib/lithic/models/transfer.rb +49 -160
- data/lib/lithic/models/transfer_create_params.rb +10 -23
- data/lib/lithic/models/verification_method.rb +2 -5
- data/lib/lithic/request_options.rb +3 -4
- data/lib/lithic/resources/account_holders.rb +10 -8
- data/lib/lithic/resources/cards.rb +16 -16
- data/lib/lithic/version.rb +1 -1
- data/lib/lithic.rb +8 -10
- data/rbi/lib/lithic/client.rbi +4 -4
- data/rbi/lib/lithic/internal/type/array_of.rbi +3 -0
- data/rbi/lib/lithic/internal/type/base_model.rbi +15 -0
- data/rbi/lib/lithic/internal/type/base_page.rbi +2 -0
- data/rbi/lib/lithic/internal/type/enum.rbi +3 -6
- data/rbi/lib/lithic/internal/type/hash_of.rbi +3 -0
- data/rbi/lib/lithic/internal/type/union.rbi +3 -0
- data/rbi/lib/lithic/internal.rbi +0 -1
- data/rbi/lib/lithic/models/account.rbi +2 -3
- data/rbi/lib/lithic/models/account_financial_account_type.rbi +1 -2
- data/rbi/lib/lithic/models/account_holder.rbi +10 -13
- data/rbi/lib/lithic/models/account_holder_create_params.rbi +6 -7
- data/rbi/lib/lithic/models/account_holder_create_response.rbi +2 -4
- data/rbi/lib/lithic/models/account_holder_simulate_enrollment_document_review_params.rbi +2 -16
- data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_params.rbi +2 -10
- data/rbi/lib/lithic/models/account_holder_simulate_enrollment_review_response.rbi +10 -45
- data/rbi/lib/lithic/models/account_holder_update_params.rbi +4 -3
- data/rbi/lib/lithic/models/account_holder_update_response.rbi +10 -51
- data/rbi/lib/lithic/models/account_holder_upload_document_params.rbi +1 -2
- data/rbi/lib/lithic/models/account_update_params.rbi +1 -2
- data/rbi/lib/lithic/models/aggregate_balance.rbi +1 -2
- data/rbi/lib/lithic/models/aggregate_balance_list_params.rbi +1 -2
- data/rbi/lib/lithic/models/auth_rules/auth_rule.rbi +1 -2
- data/rbi/lib/lithic/models/auth_rules/auth_rule_condition.rbi +1 -2
- data/rbi/lib/lithic/models/auth_rules/conditional_attribute.rbi +1 -2
- data/rbi/lib/lithic/models/auth_rules/v2_apply_response.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_create_params.rbi +1 -2
- data/rbi/lib/lithic/models/auth_rules/v2_create_response.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_draft_response.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_list_response.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_promote_response.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_retrieve_response.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/v2_update_params.rbi +1 -2
- data/rbi/lib/lithic/models/auth_rules/v2_update_response.rbi +2 -4
- data/rbi/lib/lithic/models/auth_rules/velocity_limit_params.rbi +2 -3
- data/rbi/lib/lithic/models/auth_rules/velocity_limit_params_period_window.rbi +1 -2
- data/rbi/lib/lithic/models/balance.rbi +1 -2
- data/rbi/lib/lithic/models/balance_list_params.rbi +1 -2
- data/rbi/lib/lithic/models/book_transfer_create_params.rbi +2 -4
- data/rbi/lib/lithic/models/book_transfer_list_params.rbi +3 -6
- data/rbi/lib/lithic/models/book_transfer_response.rbi +5 -10
- data/rbi/lib/lithic/models/card_convert_physical_params.rbi +1 -2
- data/rbi/lib/lithic/models/card_convert_physical_response.rbi +467 -0
- data/rbi/lib/lithic/models/card_create_params.rbi +3 -4
- data/rbi/lib/lithic/models/card_create_response.rbi +458 -0
- data/rbi/lib/lithic/models/card_list_params.rbi +1 -1
- data/rbi/lib/lithic/models/card_list_response.rbi +435 -0
- data/rbi/lib/lithic/models/card_provision_params.rbi +1 -2
- data/rbi/lib/lithic/models/card_reissue_params.rbi +1 -2
- data/rbi/lib/lithic/models/card_reissue_response.rbi +458 -0
- data/rbi/lib/lithic/models/card_renew_params.rbi +1 -2
- data/rbi/lib/lithic/models/card_renew_response.rbi +457 -0
- data/rbi/lib/lithic/models/card_retrieve_response.rbi +459 -0
- data/rbi/lib/lithic/models/card_search_by_pan_response.rbi +461 -0
- data/rbi/lib/lithic/models/card_update_params.rbi +2 -3
- data/rbi/lib/lithic/models/card_update_response.rbi +458 -0
- data/rbi/lib/lithic/models/cards/balance_list_response.rbi +1 -2
- data/rbi/lib/lithic/models/cards/financial_transaction_list_params.rbi +3 -6
- data/rbi/lib/lithic/models/digital_card_art.rbi +1 -2
- data/rbi/lib/lithic/models/dispute.rbi +3 -11
- data/rbi/lib/lithic/models/dispute_create_params.rbi +1 -2
- data/rbi/lib/lithic/models/dispute_evidence.rbi +1 -2
- data/rbi/lib/lithic/models/dispute_list_params.rbi +1 -2
- data/rbi/lib/lithic/models/dispute_update_params.rbi +1 -2
- data/rbi/lib/lithic/models/document.rbi +4 -7
- data/rbi/lib/lithic/models/event.rbi +1 -1
- data/rbi/lib/lithic/models/event_list_attempts_params.rbi +1 -2
- data/rbi/lib/lithic/models/event_list_params.rbi +1 -2
- data/rbi/lib/lithic/models/event_subscription.rbi +1 -2
- data/rbi/lib/lithic/models/events/subscription_create_params.rbi +1 -2
- data/rbi/lib/lithic/models/events/subscription_list_attempts_params.rbi +1 -2
- data/rbi/lib/lithic/models/events/subscription_send_simulated_example_params.rbi +1 -8
- data/rbi/lib/lithic/models/events/subscription_update_params.rbi +1 -2
- data/rbi/lib/lithic/models/external_bank_account_create_params.rbi +2 -4
- data/rbi/lib/lithic/models/external_bank_account_create_response.rbi +5 -10
- data/rbi/lib/lithic/models/external_bank_account_list_params.rbi +3 -6
- data/rbi/lib/lithic/models/external_bank_account_list_response.rbi +5 -10
- data/rbi/lib/lithic/models/external_bank_account_retrieve_response.rbi +5 -22
- data/rbi/lib/lithic/models/external_bank_account_retry_micro_deposits_response.rbi +5 -28
- data/rbi/lib/lithic/models/external_bank_account_retry_prenote_response.rbi +3 -12
- data/rbi/lib/lithic/models/external_bank_account_update_params.rbi +1 -2
- data/rbi/lib/lithic/models/external_bank_account_update_response.rbi +5 -10
- data/rbi/lib/lithic/models/external_bank_accounts/micro_deposit_create_response.rbi +5 -40
- data/rbi/lib/lithic/models/external_payment.rbi +7 -12
- data/rbi/lib/lithic/models/external_payment_create_params.rbi +3 -6
- data/rbi/lib/lithic/models/external_payment_list_params.rbi +3 -6
- data/rbi/lib/lithic/models/external_payment_settle_params.rbi +1 -2
- data/rbi/lib/lithic/models/financial_account.rbi +7 -20
- data/rbi/lib/lithic/models/financial_account_create_params.rbi +1 -2
- data/rbi/lib/lithic/models/financial_account_list_params.rbi +1 -2
- data/rbi/lib/lithic/models/financial_account_update_status_params.rbi +2 -4
- data/rbi/lib/lithic/models/financial_accounts/balance_list_response.rbi +1 -2
- data/rbi/lib/lithic/models/financial_accounts/financial_account_credit_config.rbi +2 -16
- data/rbi/lib/lithic/models/financial_accounts/financial_transaction_list_params.rbi +3 -24
- data/rbi/lib/lithic/models/financial_accounts/loan_tape.rbi +4 -32
- data/rbi/lib/lithic/models/financial_accounts/statement.rbi +5 -34
- data/rbi/lib/lithic/models/financial_accounts/statements/statement_line_items.rbi +12 -16
- data/rbi/lib/lithic/models/financial_transaction.rbi +7 -10
- data/rbi/lib/lithic/models/instance_financial_account_type.rbi +4 -2
- data/rbi/lib/lithic/models/kyb.rbi +5 -4
- data/rbi/lib/lithic/models/kyc.rbi +1 -1
- data/rbi/lib/lithic/models/kyc_exempt.rbi +2 -3
- data/rbi/lib/lithic/models/management_operation_create_params.rbi +22 -16
- data/rbi/lib/lithic/models/management_operation_list_params.rbi +4 -4
- data/rbi/lib/lithic/models/management_operation_transaction.rbi +26 -24
- data/rbi/lib/lithic/models/message_attempt.rbi +1 -1
- data/rbi/lib/lithic/models/owner_type.rbi +1 -1
- data/rbi/lib/lithic/models/payment.rbi +10 -12
- data/rbi/lib/lithic/models/payment_create_params.rbi +3 -6
- data/rbi/lib/lithic/models/payment_list_params.rbi +3 -6
- data/rbi/lib/lithic/models/payment_simulate_action_params.rbi +2 -4
- data/rbi/lib/lithic/models/payment_simulate_action_response.rbi +1 -2
- data/rbi/lib/lithic/models/payment_simulate_receipt_params.rbi +2 -3
- data/rbi/lib/lithic/models/payment_simulate_receipt_response.rbi +1 -2
- data/rbi/lib/lithic/models/payment_simulate_release_response.rbi +1 -2
- data/rbi/lib/lithic/models/payment_simulate_return_response.rbi +1 -2
- data/rbi/lib/lithic/models/reports/settlement/network_total_list_params.rbi +1 -2
- data/rbi/lib/lithic/models/reports/settlement/network_total_list_response.rbi +1 -8
- data/rbi/lib/lithic/models/reports/settlement/network_total_retrieve_response.rbi +1 -8
- data/rbi/lib/lithic/models/responder_endpoint_check_status_params.rbi +1 -2
- data/rbi/lib/lithic/models/responder_endpoint_create_params.rbi +1 -2
- data/rbi/lib/lithic/models/responder_endpoint_delete_params.rbi +1 -2
- data/rbi/lib/lithic/models/settlement_detail.rbi +2 -3
- data/rbi/lib/lithic/models/settlement_summary_details.rbi +1 -2
- data/rbi/lib/lithic/models/spend_limit_duration.rbi +1 -1
- data/rbi/lib/lithic/models/three_ds/authentication_retrieve_response.rbi +17 -124
- data/rbi/lib/lithic/models/three_ds/authentication_simulate_params.rbi +1 -8
- data/rbi/lib/lithic/models/three_ds/challenge_result.rbi +1 -1
- data/rbi/lib/lithic/models/tokenization.rbi +5 -9
- data/rbi/lib/lithic/models/tokenization_list_params.rbi +1 -2
- data/rbi/lib/lithic/models/tokenization_resend_activation_code_params.rbi +1 -8
- data/rbi/lib/lithic/models/tokenization_simulate_params.rbi +2 -4
- data/rbi/lib/lithic/models/transaction.rbi +184 -68
- data/rbi/lib/lithic/models/transaction_list_params.rbi +2 -4
- data/rbi/lib/lithic/models/transaction_simulate_authorization_params.rbi +1 -2
- data/rbi/lib/lithic/models/transaction_simulate_void_params.rbi +1 -2
- data/rbi/lib/lithic/models/transactions/events/enhanced_data.rbi +4 -26
- data/rbi/lib/lithic/models/transfer.rbi +7 -5
- data/rbi/lib/lithic/models/verification_method.rbi +1 -1
- data/rbi/lib/lithic/resources/account_holders.rbi +18 -14
- data/rbi/lib/lithic/resources/cards.rbi +8 -8
- data/rbi/lib/lithic/resources/payments.rbi +1 -1
- data/sig/lithic/internal/type/array_of.rbs +2 -0
- data/sig/lithic/internal/type/base_model.rbs +10 -0
- data/sig/lithic/internal/type/enum.rbs +2 -2
- data/sig/lithic/internal/type/hash_of.rbs +2 -0
- data/sig/lithic/internal/type/union.rbs +2 -0
- data/sig/lithic/models/card_convert_physical_response.rbs +257 -0
- data/sig/lithic/models/card_create_response.rbs +257 -0
- data/sig/lithic/models/card_list_response.rbs +245 -0
- data/sig/lithic/models/card_reissue_response.rbs +257 -0
- data/sig/lithic/models/{card.rbs → card_renew_response.rbs} +45 -30
- data/sig/lithic/models/card_retrieve_response.rbs +257 -0
- data/sig/lithic/models/card_search_by_pan_response.rbs +257 -0
- data/sig/lithic/models/card_update_response.rbs +257 -0
- data/sig/lithic/models/dispute.rbs +0 -4
- data/sig/lithic/models/financial_account.rbs +4 -0
- data/sig/lithic/models/financial_accounts/statements/statement_line_items.rbs +4 -0
- data/sig/lithic/models/financial_transaction.rbs +2 -0
- data/sig/lithic/models/instance_financial_account_type.rbs +4 -0
- data/sig/lithic/models/management_operation_create_params.rbs +23 -13
- data/sig/lithic/models/management_operation_list_params.rbs +2 -0
- data/sig/lithic/models/management_operation_transaction.rbs +23 -13
- data/sig/lithic/models/transaction.rbs +87 -4
- data/sig/lithic/models/transfer.rbs +2 -0
- data/sig/lithic/resources/cards.rbs +8 -8
- metadata +26 -5
- data/lib/lithic/models/card.rb +0 -524
- data/rbi/lib/lithic/models/card.rbi +0 -487
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7bf1f6b2ae2b269fcbe2e915e81c0729bb7d166f035b27dde8e72d6713733841
|
4
|
+
data.tar.gz: 0c0adcbd79d3f29d0092cd87f2c77e4136219d952544c634c5340014b9ea75bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9454d14be6e4f884e28b5767cdc99bb8eb90a95890e8f69cc9c328c371edaf7acae6a496fe2ae213adf40e85dc702f5e48f63f1258b2a6153e3e03fef5aa0ed1
|
7
|
+
data.tar.gz: e115e05933d7b77fe91f4705937c27edf9d03fcff923abbbb78a638d5be00a474c8937a327a00d5cb493beeb21b82ed79ebf1ec117ee9ee38f33391b99aea6f3
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,41 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.1.0-alpha.16 (2025-04-21)
|
4
|
+
|
5
|
+
Full Changelog: [v0.1.0-alpha.15...v0.1.0-alpha.16](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.15...v0.1.0-alpha.16)
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* implement `#hash` for data containers ([7e1420b](https://github.com/lithic-com/lithic-ruby/commit/7e1420bfec9d254eacd77be001cefbad637c7f63))
|
10
|
+
|
11
|
+
|
12
|
+
### Bug Fixes
|
13
|
+
|
14
|
+
* **internal:** refresh schemas ([cb47b40](https://github.com/lithic-com/lithic-ruby/commit/cb47b40b1aa544d6e6f8fb3f27153ec03cfd6904))
|
15
|
+
|
16
|
+
|
17
|
+
### Chores
|
18
|
+
|
19
|
+
* documentation improvements ([6700ace](https://github.com/lithic-com/lithic-ruby/commit/6700aced32a478a1c301a3b7e3efee908c5d224e))
|
20
|
+
* explicitly mark apis public under `Internal` module ([b81d240](https://github.com/lithic-com/lithic-ruby/commit/b81d240b2048754f45ffe14c446490bce83bfce5))
|
21
|
+
* update README with recommended editor plugins ([80d5967](https://github.com/lithic-com/lithic-ruby/commit/80d5967d1e747cbd42e66a570f6520e241a64ba8))
|
22
|
+
|
23
|
+
## 0.1.0-alpha.15 (2025-04-18)
|
24
|
+
|
25
|
+
Full Changelog: [v0.1.0-alpha.14...v0.1.0-alpha.15](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.14...v0.1.0-alpha.15)
|
26
|
+
|
27
|
+
### Features
|
28
|
+
|
29
|
+
* **api:** updates to Card definition for PCI clarity ([bb157ab](https://github.com/lithic-com/lithic-ruby/commit/bb157abbede60505c67651947fa8c583d17ac84a))
|
30
|
+
|
31
|
+
|
32
|
+
### Chores
|
33
|
+
|
34
|
+
* make sorbet enums easier to read ([77f23c5](https://github.com/lithic-com/lithic-ruby/commit/77f23c58d44b4c33b6a897ff988da2cb97965653))
|
35
|
+
* refine `#inspect` and `#to_s` for model classes ([7435187](https://github.com/lithic-com/lithic-ruby/commit/74351870d4768cd923ce9d88841ba8c84b6681d6))
|
36
|
+
* simplify yard annotations by removing most `@!parse` directives ([12c6882](https://github.com/lithic-com/lithic-ruby/commit/12c6882a7db0b45f91d8e4df7b0d41016567ad7a))
|
37
|
+
* use `@!method` instead of `@!parse` for virtual method type definitions ([a73c89a](https://github.com/lithic-com/lithic-ruby/commit/a73c89aa794ebfc771a7410603c10be08d1609d3))
|
38
|
+
|
3
39
|
## 0.1.0-alpha.14 (2025-04-17)
|
4
40
|
|
5
41
|
Full Changelog: [v0.1.0-alpha.13...v0.1.0-alpha.14](https://github.com/lithic-com/lithic-ruby/compare/v0.1.0-alpha.13...v0.1.0-alpha.14)
|
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.16"
|
19
19
|
```
|
20
20
|
|
21
21
|
<!-- x-release-please-end -->
|
@@ -31,11 +31,21 @@ 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
|
```
|
38
38
|
|
39
|
+
## Sorbet
|
40
|
+
|
41
|
+
This library is written with [Sorbet type definitions](https://sorbet.org/docs/rbi). However, there is no runtime dependency on the `sorbet-runtime`.
|
42
|
+
|
43
|
+
When using sorbet, it is recommended to use model classes as below. This provides stronger type checking and tooling integration.
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
lithic.cards.create(type: :SINGLE_USE)
|
47
|
+
```
|
48
|
+
|
39
49
|
### Pagination
|
40
50
|
|
41
51
|
List methods in the Lithic API are paginated.
|
@@ -61,7 +71,7 @@ When the library is unable to connect to the API, or if the API returns a non-su
|
|
61
71
|
|
62
72
|
```ruby
|
63
73
|
begin
|
64
|
-
card = lithic.cards.create(type:
|
74
|
+
card = lithic.cards.create(type: :an_incorrect_type)
|
65
75
|
rescue Lithic::Errors::APIError => e
|
66
76
|
puts(e.status) # 400
|
67
77
|
end
|
@@ -119,61 +129,32 @@ lithic = Lithic::Client.new(
|
|
119
129
|
lithic.cards.list(page_size: 10, request_options: {timeout: 5})
|
120
130
|
```
|
121
131
|
|
122
|
-
##
|
123
|
-
|
124
|
-
### Solargraph
|
125
|
-
|
126
|
-
This library includes [Solargraph](https://solargraph.org) support for both auto completion and go to definition.
|
127
|
-
|
128
|
-
```ruby
|
129
|
-
gem "solargraph", group: :development
|
130
|
-
```
|
131
|
-
|
132
|
-
After Solargraph is installed, **you must populate its index** either via the provided editor command, or by running the following in your terminal:
|
133
|
-
|
134
|
-
```sh
|
135
|
-
bundle exec solargraph gems
|
136
|
-
```
|
137
|
-
|
138
|
-
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.
|
139
|
-
|
140
|
-
```yaml
|
141
|
-
include:
|
142
|
-
- 'vendor/bundle/ruby/*/gems/lithic-*/lib/**/*.rb'
|
143
|
-
```
|
144
|
-
|
145
|
-
Otherwise Solargraph will not be able to provide type information or auto-completion for any non-indexed libraries.
|
146
|
-
|
147
|
-
### Sorbet
|
148
|
-
|
149
|
-
This library is written with [Sorbet type definitions](https://sorbet.org/docs/rbi). However, there is no runtime dependency on the `sorbet-runtime`.
|
132
|
+
## Model DSL
|
150
133
|
|
151
|
-
|
134
|
+
This library uses a simple DSL to represent request parameters and response shapes in `lib/lithic/models`.
|
152
135
|
|
153
|
-
|
136
|
+
With the right [editor plugins](https://shopify.github.io/ruby-lsp), you can ctrl-click on elements of the DSL to navigate around and explore the library.
|
154
137
|
|
155
|
-
|
138
|
+
In all places where a `BaseModel` type is specified, vanilla Ruby `Hash` can also be used. For example, the following are interchangeable as arguments:
|
156
139
|
|
157
140
|
```ruby
|
158
|
-
|
141
|
+
# This has tooling readability, for auto-completion, static analysis, and goto definition with supported language services
|
142
|
+
params = Lithic::Models::CardCreateParams.new(type: :SINGLE_USE)
|
159
143
|
|
160
|
-
|
144
|
+
# This also works
|
145
|
+
params = {
|
146
|
+
type: :SINGLE_USE
|
147
|
+
}
|
161
148
|
```
|
162
149
|
|
163
|
-
|
164
|
-
|
165
|
-
### Ruby LSP
|
150
|
+
## Editor support
|
166
151
|
|
167
|
-
|
152
|
+
A combination of [Shopify LSP](https://shopify.github.io/ruby-lsp) and [Solargraph](https://solargraph.org/) is recommended for non-[Sorbet](https://sorbet.org) users. The former is especially good at go to definition, while the latter has much better auto-completion support.
|
168
153
|
|
169
|
-
## Advanced
|
154
|
+
## Advanced concepts
|
170
155
|
|
171
156
|
### Making custom/undocumented requests
|
172
157
|
|
173
|
-
This library is typed for convenient access to the documented API.
|
174
|
-
|
175
|
-
If you need to access undocumented endpoints, params, or response properties, the library can still be used.
|
176
|
-
|
177
158
|
#### Undocumented request params
|
178
159
|
|
179
160
|
If you want to explicitly send an extra param, you can do so with the `extra_query`, `extra_body`, and `extra_headers` under the `request_options:` parameter when making a requests as seen in examples above.
|
@@ -184,15 +165,15 @@ To make requests to undocumented endpoints, you can make requests using `client.
|
|
184
165
|
|
185
166
|
```ruby
|
186
167
|
response = client.request(
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
168
|
+
method: :post,
|
169
|
+
path: '/undocumented/endpoint',
|
170
|
+
query: {"dog": "woof"},
|
171
|
+
headers: {"useful-header": "interesting-value"},
|
172
|
+
body: {"he": "llo"},
|
173
|
+
)
|
193
174
|
```
|
194
175
|
|
195
|
-
### Concurrency &
|
176
|
+
### Concurrency & connection pooling
|
196
177
|
|
197
178
|
The `Lithic::Client` instances are thread-safe, and should be re-used across multiple threads. By default, each `Client` have their own HTTP connection pool, with a maximum number of connections equal to thread count.
|
198
179
|
|
@@ -202,6 +183,30 @@ Unless otherwise specified, other classes in the SDK do not have locks protectin
|
|
202
183
|
|
203
184
|
Currently, `Lithic::Client` instances are only fork-safe if there are no in-flight HTTP requests.
|
204
185
|
|
186
|
+
### Sorbet
|
187
|
+
|
188
|
+
#### Enums
|
189
|
+
|
190
|
+
Sorbet's typed enums require sub-classing of the [`T::Enum` class](https://sorbet.org/docs/tenum) from the `sorbet-runtime` gem.
|
191
|
+
|
192
|
+
Since this library does not depend on `sorbet-runtime`, it uses a [`T.all` intersection type](https://sorbet.org/docs/intersection-types) with a ruby primitive type to construct a "tagged alias" instead.
|
193
|
+
|
194
|
+
```ruby
|
195
|
+
module Lithic::Models::AccountFinancialAccountType
|
196
|
+
# This alias aids language service driven navigation.
|
197
|
+
TaggedSymbol = T.type_alias { T.all(Symbol, Lithic::Models::AccountFinancialAccountType) }
|
198
|
+
end
|
199
|
+
```
|
200
|
+
|
201
|
+
#### Argument passing trick
|
202
|
+
|
203
|
+
It is possible to pass a compatible model / parameter class to a method that expects keyword arguments by using the `**` splat operator.
|
204
|
+
|
205
|
+
```ruby
|
206
|
+
params = Lithic::Models::CardCreateParams.new(type: :SINGLE_USE)
|
207
|
+
lithic.cards.create(**params)
|
208
|
+
```
|
209
|
+
|
205
210
|
## Versioning
|
206
211
|
|
207
212
|
This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. As the library is in initial development and has a major version of `0`, APIs may change at any time.
|
@@ -211,3 +216,7 @@ This package considers improvements to the (non-runtime) `*.rbi` and `*.rbs` typ
|
|
211
216
|
## Requirements
|
212
217
|
|
213
218
|
Ruby 3.1.0 or higher.
|
219
|
+
|
220
|
+
## Contributing
|
221
|
+
|
222
|
+
See [the contributing documentation](https://github.com/lithic-com/lithic-ruby/tree/main/CONTRIBUTING.md).
|
data/lib/lithic/client.rb
CHANGED
@@ -148,10 +148,10 @@ module Lithic
|
|
148
148
|
api_key: ENV["LITHIC_API_KEY"],
|
149
149
|
environment: nil,
|
150
150
|
base_url: ENV["LITHIC_BASE_URL"],
|
151
|
-
max_retries: DEFAULT_MAX_RETRIES,
|
152
|
-
timeout: DEFAULT_TIMEOUT_IN_SECONDS,
|
153
|
-
initial_retry_delay: DEFAULT_INITIAL_RETRY_DELAY,
|
154
|
-
max_retry_delay: DEFAULT_MAX_RETRY_DELAY
|
151
|
+
max_retries: Lithic::Client::DEFAULT_MAX_RETRIES,
|
152
|
+
timeout: Lithic::Client::DEFAULT_TIMEOUT_IN_SECONDS,
|
153
|
+
initial_retry_delay: Lithic::Client::DEFAULT_INITIAL_RETRY_DELAY,
|
154
|
+
max_retry_delay: Lithic::Client::DEFAULT_MAX_RETRY_DELAY
|
155
155
|
)
|
156
156
|
base_url ||= Lithic::Client::ENVIRONMENTS.fetch(environment&.to_sym || :production) do
|
157
157
|
message = "environment must be one of #{Lithic::Client::ENVIRONMENTS.keys}, got #{environment}"
|
@@ -57,15 +57,11 @@ module Lithic
|
|
57
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
|
-
|
61
|
-
# ensure we construct a URI class of the right scheme
|
62
|
-
url = URI(url.to_s)
|
63
|
-
|
64
60
|
req = Net::HTTPGenericRequest.new(
|
65
61
|
method.to_s.upcase,
|
66
62
|
!body.nil?,
|
67
63
|
method != :head,
|
68
|
-
url
|
64
|
+
URI(url.to_s) # ensure we construct a URI class of the right scheme
|
69
65
|
)
|
70
66
|
|
71
67
|
headers.each { req[_1] = _2 }
|
@@ -30,11 +30,15 @@ module Lithic
|
|
30
30
|
# @option spec [Boolean] :"nil?"
|
31
31
|
def self.[](...) = new(...)
|
32
32
|
|
33
|
+
# @api public
|
34
|
+
#
|
33
35
|
# @param other [Object]
|
34
36
|
#
|
35
37
|
# @return [Boolean]
|
36
38
|
def ===(other) = other.is_a?(Array) && other.all?(item_type)
|
37
39
|
|
40
|
+
# @api public
|
41
|
+
#
|
38
42
|
# @param other [Object]
|
39
43
|
#
|
40
44
|
# @return [Boolean]
|
@@ -44,6 +48,11 @@ module Lithic
|
|
44
48
|
# rubocop:enable Layout/LineLength
|
45
49
|
end
|
46
50
|
|
51
|
+
# @api public
|
52
|
+
#
|
53
|
+
# @return [Integer]
|
54
|
+
def hash = [self.class, item_type].hash
|
55
|
+
|
47
56
|
# @api private
|
48
57
|
#
|
49
58
|
# @param value [Array<Object>, Object]
|
@@ -4,14 +4,6 @@ module Lithic
|
|
4
4
|
module Internal
|
5
5
|
module Type
|
6
6
|
# @abstract
|
7
|
-
#
|
8
|
-
# @example
|
9
|
-
# # `address` is a `Lithic::Models::Address`
|
10
|
-
# address => {
|
11
|
-
# address1: address1,
|
12
|
-
# city: city,
|
13
|
-
# country: country
|
14
|
-
# }
|
15
7
|
class BaseModel
|
16
8
|
extend Lithic::Internal::Type::Converter
|
17
9
|
|
@@ -93,11 +85,13 @@ module Lithic
|
|
93
85
|
state: state
|
94
86
|
)
|
95
87
|
end
|
96
|
-
rescue StandardError
|
88
|
+
rescue StandardError => e
|
97
89
|
cls = self.class.name.split("::").last
|
98
|
-
|
99
|
-
|
100
|
-
|
90
|
+
message = [
|
91
|
+
"Failed to parse #{cls}.#{__method__} from #{value.class} to #{target.inspect}.",
|
92
|
+
"To get the unparsed API response, use #{cls}[#{__method__.inspect}].",
|
93
|
+
"Cause: #{e.message}"
|
94
|
+
].join(" ")
|
101
95
|
raise Lithic::Errors::ConversionError.new(message)
|
102
96
|
end
|
103
97
|
end
|
@@ -165,19 +159,33 @@ module Lithic
|
|
165
159
|
@mode = nil
|
166
160
|
end
|
167
161
|
|
162
|
+
# @api public
|
163
|
+
#
|
168
164
|
# @param other [Object]
|
169
165
|
#
|
170
166
|
# @return [Boolean]
|
171
167
|
def ==(other)
|
172
168
|
other.is_a?(Class) && other <= Lithic::Internal::Type::BaseModel && other.fields == fields
|
173
169
|
end
|
170
|
+
|
171
|
+
# @api public
|
172
|
+
#
|
173
|
+
# @return [Integer]
|
174
|
+
def hash = fields.hash
|
174
175
|
end
|
175
176
|
|
177
|
+
# @api public
|
178
|
+
#
|
176
179
|
# @param other [Object]
|
177
180
|
#
|
178
181
|
# @return [Boolean]
|
179
182
|
def ==(other) = self.class == other.class && @data == other.to_h
|
180
183
|
|
184
|
+
# @api public
|
185
|
+
#
|
186
|
+
# @return [Integer]
|
187
|
+
def hash = [self.class, @data].hash
|
188
|
+
|
181
189
|
class << self
|
182
190
|
# @api private
|
183
191
|
#
|
@@ -291,6 +299,8 @@ module Lithic
|
|
291
299
|
end
|
292
300
|
end
|
293
301
|
|
302
|
+
# @api public
|
303
|
+
#
|
294
304
|
# Returns the raw value associated with the given key, if found. Otherwise, nil is
|
295
305
|
# returned.
|
296
306
|
#
|
@@ -309,6 +319,8 @@ module Lithic
|
|
309
319
|
@data[key]
|
310
320
|
end
|
311
321
|
|
322
|
+
# @api public
|
323
|
+
#
|
312
324
|
# Returns a Hash of the data underlying this object. O(1)
|
313
325
|
#
|
314
326
|
# Keys are Symbols and values are the raw values from the response. The return
|
@@ -338,11 +350,38 @@ module Lithic
|
|
338
350
|
.to_h
|
339
351
|
end
|
340
352
|
|
353
|
+
class << self
|
354
|
+
# @api private
|
355
|
+
#
|
356
|
+
# @param model [Lithic::Internal::Type::BaseModel]
|
357
|
+
#
|
358
|
+
# @return [Hash{Symbol=>Object}]
|
359
|
+
def walk(model)
|
360
|
+
walk = ->(x) do
|
361
|
+
case x
|
362
|
+
in Lithic::Internal::Type::BaseModel
|
363
|
+
walk.call(x.to_h)
|
364
|
+
in Hash
|
365
|
+
x.transform_values(&walk)
|
366
|
+
in Array
|
367
|
+
x.map(&walk)
|
368
|
+
else
|
369
|
+
x
|
370
|
+
end
|
371
|
+
end
|
372
|
+
walk.call(model)
|
373
|
+
end
|
374
|
+
end
|
375
|
+
|
376
|
+
# @api public
|
377
|
+
#
|
341
378
|
# @param a [Object]
|
342
379
|
#
|
343
380
|
# @return [String]
|
344
381
|
def to_json(*a) = Lithic::Internal::Type::Converter.dump(self.class, self).to_json(*a)
|
345
382
|
|
383
|
+
# @api public
|
384
|
+
#
|
346
385
|
# @param a [Object]
|
347
386
|
#
|
348
387
|
# @return [String]
|
@@ -373,31 +412,26 @@ module Lithic
|
|
373
412
|
depth = depth.succ
|
374
413
|
deferred = fields.transform_values do |field|
|
375
414
|
type, required, nilable = field.fetch_values(:type, :required, :nilable)
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
end
|
382
|
-
.tap { _1.define_singleton_method(:inspect) { call } }
|
415
|
+
inspected = [
|
416
|
+
Lithic::Internal::Type::Converter.inspect(type, depth: depth),
|
417
|
+
!required || nilable ? "nil" : nil
|
418
|
+
].compact.join(" | ")
|
419
|
+
-> { inspected }.tap { _1.define_singleton_method(:inspect) { call } }
|
383
420
|
end
|
384
421
|
|
385
422
|
"#{name}[#{deferred.inspect}]"
|
386
423
|
end
|
387
424
|
end
|
388
425
|
|
389
|
-
# @api
|
426
|
+
# @api public
|
390
427
|
#
|
391
428
|
# @return [String]
|
392
|
-
def
|
393
|
-
rows = @data.map do
|
394
|
-
"#{_1}=#{self.class.known_fields.key?(_1) ? public_send(_1).inspect : ''}"
|
395
|
-
rescue Lithic::Errors::ConversionError
|
396
|
-
"#{_1}=#{_2.inspect}"
|
397
|
-
end
|
429
|
+
def to_s = self.class.walk(@data).to_s
|
398
430
|
|
399
|
-
|
400
|
-
|
431
|
+
# @api private
|
432
|
+
#
|
433
|
+
# @return [String]
|
434
|
+
def inspect = "#<#{self.class}:0x#{object_id.to_s(16)} #{self}>"
|
401
435
|
end
|
402
436
|
end
|
403
437
|
end
|
@@ -3,19 +3,27 @@
|
|
3
3
|
module Lithic
|
4
4
|
module Internal
|
5
5
|
module Type
|
6
|
+
# @api private
|
7
|
+
#
|
6
8
|
# @generic Elem
|
7
9
|
#
|
8
10
|
# This module provides a base implementation for paginated responses in the SDK.
|
9
11
|
module BasePage
|
10
12
|
# rubocop:disable Lint/UnusedMethodArgument
|
11
13
|
|
14
|
+
# @api public
|
15
|
+
#
|
12
16
|
# @return [Boolean]
|
13
17
|
def next_page? = (raise NotImplementedError)
|
14
18
|
|
19
|
+
# @api public
|
20
|
+
#
|
15
21
|
# @raise [Lithic::Errors::APIError]
|
16
22
|
# @return [Lithic::Internal::Type::BasePage]
|
17
23
|
def next_page = (raise NotImplementedError)
|
18
24
|
|
25
|
+
# @api public
|
26
|
+
#
|
19
27
|
# @param blk [Proc]
|
20
28
|
#
|
21
29
|
# @yieldparam [generic<Elem>]
|
@@ -13,11 +13,15 @@ module Lithic
|
|
13
13
|
|
14
14
|
private_class_method :new
|
15
15
|
|
16
|
+
# @api public
|
17
|
+
#
|
16
18
|
# @param other [Object]
|
17
19
|
#
|
18
20
|
# @return [Boolean]
|
19
21
|
def self.===(other) = other == true || other == false
|
20
22
|
|
23
|
+
# @api public
|
24
|
+
#
|
21
25
|
# @param other [Object]
|
22
26
|
#
|
23
27
|
# @return [Boolean]
|
@@ -42,18 +42,17 @@ module Lithic
|
|
42
42
|
# All of the valid Symbol values for this enum.
|
43
43
|
#
|
44
44
|
# @return [Array<NilClass, Boolean, Integer, Float, Symbol>]
|
45
|
-
def values =
|
45
|
+
def values = constants.map { const_get(_1) }
|
46
46
|
|
47
|
-
# @api
|
47
|
+
# @api public
|
48
48
|
#
|
49
|
-
# Guard against thread safety issues by instantiating `@values`.
|
50
|
-
private def finalize! = values
|
51
|
-
|
52
49
|
# @param other [Object]
|
53
50
|
#
|
54
51
|
# @return [Boolean]
|
55
52
|
def ===(other) = values.include?(other)
|
56
53
|
|
54
|
+
# @api public
|
55
|
+
#
|
57
56
|
# @param other [Object]
|
58
57
|
#
|
59
58
|
# @return [Boolean]
|
@@ -63,6 +62,11 @@ module Lithic
|
|
63
62
|
# rubocop:enable Style/CaseEquality
|
64
63
|
end
|
65
64
|
|
65
|
+
# @api public
|
66
|
+
#
|
67
|
+
# @return [Integer]
|
68
|
+
def hash = values.to_set.hash
|
69
|
+
|
66
70
|
# @api private
|
67
71
|
#
|
68
72
|
# Unlike with primitives, `Enum` additionally validates that the value is a member
|
@@ -30,6 +30,8 @@ module Lithic
|
|
30
30
|
# @option spec [Boolean] :"nil?"
|
31
31
|
def self.[](...) = new(...)
|
32
32
|
|
33
|
+
# @api public
|
34
|
+
#
|
33
35
|
# @param other [Object]
|
34
36
|
#
|
35
37
|
# @return [Boolean]
|
@@ -50,6 +52,8 @@ module Lithic
|
|
50
52
|
end
|
51
53
|
end
|
52
54
|
|
55
|
+
# @api public
|
56
|
+
#
|
53
57
|
# @param other [Object]
|
54
58
|
#
|
55
59
|
# @return [Boolean]
|
@@ -59,6 +63,11 @@ module Lithic
|
|
59
63
|
# rubocop:enable Layout/LineLength
|
60
64
|
end
|
61
65
|
|
66
|
+
# @api public
|
67
|
+
#
|
68
|
+
# @return [Integer]
|
69
|
+
def hash = [self.class, item_type].hash
|
70
|
+
|
62
71
|
# @api private
|
63
72
|
#
|
64
73
|
# @param value [Hash{Object=>Object}, Object]
|
@@ -13,6 +13,8 @@ module Lithic
|
|
13
13
|
|
14
14
|
private_class_method :new
|
15
15
|
|
16
|
+
# @api public
|
17
|
+
#
|
16
18
|
# @param other [Object]
|
17
19
|
#
|
18
20
|
# @return [Boolean]
|
@@ -25,6 +27,8 @@ module Lithic
|
|
25
27
|
end
|
26
28
|
end
|
27
29
|
|
30
|
+
# @api public
|
31
|
+
#
|
28
32
|
# @param other [Object]
|
29
33
|
#
|
30
34
|
# @return [Boolean]
|
@@ -12,9 +12,8 @@ module Lithic
|
|
12
12
|
|
13
13
|
# @param mod [Module]
|
14
14
|
def self.included(mod)
|
15
|
-
|
15
|
+
raise ArgumentError.new(mod) unless mod <= Lithic::Internal::Type::BaseModel
|
16
16
|
|
17
|
-
mod.extend(Lithic::Internal::Type::RequestParameters::Converter)
|
18
17
|
mod.optional(:request_options, Lithic::RequestOptions)
|
19
18
|
end
|
20
19
|
|
@@ -29,7 +29,7 @@ module Lithic
|
|
29
29
|
#
|
30
30
|
# @return [Array<Array(Symbol, Object)>]
|
31
31
|
protected def derefed_variants
|
32
|
-
|
32
|
+
known_variants.map { |key, variant_fn| [key, variant_fn.call] }
|
33
33
|
end
|
34
34
|
|
35
35
|
# All of the specified variants for this union.
|
@@ -98,6 +98,8 @@ module Lithic
|
|
98
98
|
# rubocop:disable Style/HashEachMethods
|
99
99
|
# rubocop:disable Style/CaseEquality
|
100
100
|
|
101
|
+
# @api public
|
102
|
+
#
|
101
103
|
# @param other [Object]
|
102
104
|
#
|
103
105
|
# @return [Boolean]
|
@@ -107,6 +109,8 @@ module Lithic
|
|
107
109
|
end
|
108
110
|
end
|
109
111
|
|
112
|
+
# @api public
|
113
|
+
#
|
110
114
|
# @param other [Object]
|
111
115
|
#
|
112
116
|
# @return [Boolean]
|
@@ -114,6 +118,11 @@ module Lithic
|
|
114
118
|
Lithic::Internal::Type::Union === other && other.derefed_variants == derefed_variants
|
115
119
|
end
|
116
120
|
|
121
|
+
# @api public
|
122
|
+
#
|
123
|
+
# @return [Integer]
|
124
|
+
def hash = variants.hash
|
125
|
+
|
117
126
|
# @api private
|
118
127
|
#
|
119
128
|
# @param value [Object]
|