straddle 0.2.0 → 0.4.0
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 +97 -0
- data/README.md +10 -1
- data/lib/straddle/client.rb +34 -0
- data/lib/straddle/internal/transport/base_client.rb +7 -1
- data/lib/straddle/internal/transport/pooled_net_requester.rb +39 -27
- data/lib/straddle/internal/util.rb +44 -8
- data/lib/straddle/models/bridge/link_bank_account_params.rb +31 -2
- data/lib/straddle/models/bridge/link_create_paykey_params.rb +31 -2
- data/lib/straddle/models/bridge/link_create_paykey_response.rb +39 -2
- data/lib/straddle/models/bridge/link_create_tan_params.rb +30 -2
- data/lib/straddle/models/bridge/link_create_tan_response.rb +39 -2
- data/lib/straddle/models/bridge/link_plaid_params.rb +30 -2
- data/lib/straddle/models/bridge_initialize_params.rb +30 -2
- data/lib/straddle/models/charge_cancel_params.rb +8 -1
- data/lib/straddle/models/charge_create_params.rb +20 -4
- data/lib/straddle/models/charge_get_params.rb +7 -1
- data/lib/straddle/models/charge_hold_params.rb +8 -1
- data/lib/straddle/models/charge_release_params.rb +8 -1
- data/lib/straddle/models/charge_unmask_params.rb +7 -1
- data/lib/straddle/models/charge_unmask_response.rb +59 -5
- data/lib/straddle/models/charge_update_params.rb +11 -4
- data/lib/straddle/models/charge_v1.rb +59 -5
- data/lib/straddle/models/customer_delete_params.rb +7 -1
- data/lib/straddle/models/customer_get_params.rb +7 -1
- data/lib/straddle/models/customer_unmasked_params.rb +7 -1
- data/lib/straddle/models/customer_update_params.rb +8 -1
- data/lib/straddle/models/customers/review_decision_params.rb +8 -1
- data/lib/straddle/models/customers/review_get_params.rb +7 -1
- data/lib/straddle/models/customers/review_refresh_review_params.rb +46 -0
- data/lib/straddle/models/embed/account_get_params.rb +11 -1
- data/lib/straddle/models/embed/account_onboard_params.rb +7 -1
- data/lib/straddle/models/embed/account_paged_v1.rb +4 -0
- data/lib/straddle/models/embed/account_simulate_params.rb +7 -1
- data/lib/straddle/models/embed/account_update_params.rb +8 -1
- data/lib/straddle/models/embed/account_v1.rb +4 -0
- data/lib/straddle/models/embed/accounts/capability_request_create_params.rb +8 -1
- data/lib/straddle/models/embed/accounts/capability_request_list_params.rb +8 -1
- data/lib/straddle/models/embed/accounts/capability_request_paged_v1.rb +9 -1
- data/lib/straddle/models/embed/address_v1.rb +14 -38
- data/lib/straddle/models/embed/linked_bank_account_cancel_params.rb +7 -1
- data/lib/straddle/models/embed/linked_bank_account_get_params.rb +7 -1
- data/lib/straddle/models/embed/linked_bank_account_list_params.rb +51 -1
- data/lib/straddle/models/embed/linked_bank_account_unmask_params.rb +7 -1
- data/lib/straddle/models/embed/linked_bank_account_update_params.rb +8 -1
- data/lib/straddle/models/embed/organization_get_params.rb +7 -1
- data/lib/straddle/models/embed/representative_get_params.rb +7 -1
- data/lib/straddle/models/embed/representative_unmask_params.rb +7 -1
- data/lib/straddle/models/embed/representative_update_params.rb +8 -1
- data/lib/straddle/models/funding_event_get_params.rb +7 -1
- data/lib/straddle/models/funding_event_list_params.rb +113 -1
- data/lib/straddle/models/funding_event_summary_item_v1.rb +152 -1
- data/lib/straddle/models/funding_event_summary_paged_v1.rb +152 -1
- data/lib/straddle/models/paykey_cancel_params.rb +7 -1
- data/lib/straddle/models/paykey_get_params.rb +7 -1
- data/lib/straddle/models/paykey_list_params.rb +24 -1
- data/lib/straddle/models/paykey_reveal_params.rb +7 -1
- data/lib/straddle/models/paykey_reveal_response.rb +39 -2
- data/lib/straddle/models/paykey_summary_paged_v1.rb +48 -2
- data/lib/straddle/models/paykey_unmasked_params.rb +7 -1
- data/lib/straddle/models/paykey_unmasked_v1.rb +38 -2
- data/lib/straddle/models/{customer_refresh_review_params.rb → paykey_update_balance_params.rb} +9 -3
- data/lib/straddle/models/paykey_v1.rb +48 -2
- data/lib/straddle/models/paykeys/review_decision_params.rb +62 -0
- data/lib/straddle/models/paykeys/review_get_params.rb +40 -0
- data/lib/straddle/models/paykeys/review_get_response.rb +657 -0
- data/lib/straddle/models/paykeys/review_refresh_review_params.rb +46 -0
- data/lib/straddle/models/payment_list_params.rb +17 -1
- data/lib/straddle/models/payment_summary_paged_v1.rb +21 -4
- data/lib/straddle/models/payout_cancel_params.rb +8 -1
- data/lib/straddle/models/payout_create_params.rb +20 -4
- data/lib/straddle/models/payout_get_params.rb +7 -1
- data/lib/straddle/models/payout_hold_params.rb +8 -1
- data/lib/straddle/models/payout_release_params.rb +8 -1
- data/lib/straddle/models/payout_unmask_params.rb +7 -1
- data/lib/straddle/models/payout_unmask_response.rb +59 -5
- data/lib/straddle/models/payout_update_params.rb +11 -4
- data/lib/straddle/models/payout_v1.rb +59 -5
- data/lib/straddle/models/status_details_v1.rb +7 -0
- data/lib/straddle/models.rb +3 -3
- data/lib/straddle/resources/bridge/link.rb +24 -10
- data/lib/straddle/resources/bridge.rb +16 -2
- data/lib/straddle/resources/charges.rb +13 -8
- data/lib/straddle/resources/customers/review.rb +44 -1
- data/lib/straddle/resources/customers.rb +23 -47
- data/lib/straddle/resources/embed/accounts/capability_requests.rb +9 -4
- data/lib/straddle/resources/embed/accounts.rb +25 -14
- data/lib/straddle/resources/embed/linked_bank_accounts.rb +25 -7
- data/lib/straddle/resources/embed/organizations.rb +7 -2
- data/lib/straddle/resources/embed/representatives.rb +15 -8
- data/lib/straddle/resources/embed.rb +19 -0
- data/lib/straddle/resources/funding_events.rb +25 -3
- data/lib/straddle/resources/paykeys/review.rb +133 -0
- data/lib/straddle/resources/paykeys.rb +72 -50
- data/lib/straddle/resources/payments.rb +12 -6
- data/lib/straddle/resources/payouts.rb +11 -7
- data/lib/straddle/version.rb +1 -1
- data/lib/straddle.rb +9 -2
- data/manifest.yaml +2 -0
- data/rbi/straddle/client.rbi +34 -0
- data/rbi/straddle/internal/transport/base_client.rbi +5 -0
- data/rbi/straddle/internal/transport/pooled_net_requester.rbi +6 -2
- data/rbi/straddle/internal/type/base_model.rbi +8 -4
- data/rbi/straddle/internal/util.rbi +21 -1
- data/rbi/straddle/models/bridge/link_bank_account_params.rbi +76 -1
- data/rbi/straddle/models/bridge/link_create_paykey_params.rbi +76 -1
- data/rbi/straddle/models/bridge/link_create_paykey_response.rbi +116 -1
- data/rbi/straddle/models/bridge/link_create_tan_params.rbi +76 -1
- data/rbi/straddle/models/bridge/link_create_tan_response.rbi +116 -1
- data/rbi/straddle/models/bridge/link_plaid_params.rbi +76 -1
- data/rbi/straddle/models/bridge_initialize_params.rbi +76 -1
- data/rbi/straddle/models/charge_cancel_params.rbi +6 -0
- data/rbi/straddle/models/charge_create_params.rbi +19 -3
- data/rbi/straddle/models/charge_get_params.rbi +6 -0
- data/rbi/straddle/models/charge_hold_params.rbi +6 -0
- data/rbi/straddle/models/charge_release_params.rbi +6 -0
- data/rbi/straddle/models/charge_unmask_params.rbi +6 -0
- data/rbi/straddle/models/charge_unmask_response.rbi +143 -6
- data/rbi/straddle/models/charge_update_params.rbi +9 -3
- data/rbi/straddle/models/charge_v1.rbi +135 -6
- data/rbi/straddle/models/customer_delete_params.rbi +6 -0
- data/rbi/straddle/models/customer_get_params.rbi +6 -0
- data/rbi/straddle/models/customer_unmasked_params.rbi +6 -0
- data/rbi/straddle/models/customer_update_params.rbi +6 -0
- data/rbi/straddle/models/customers/review_decision_params.rbi +6 -0
- data/rbi/straddle/models/customers/review_get_params.rbi +6 -0
- data/rbi/straddle/models/customers/review_refresh_review_params.rbi +82 -0
- data/rbi/straddle/models/embed/account_get_params.rbi +13 -1
- data/rbi/straddle/models/embed/account_onboard_params.rbi +6 -0
- data/rbi/straddle/models/embed/account_paged_v1.rbi +20 -0
- data/rbi/straddle/models/embed/account_simulate_params.rbi +6 -0
- data/rbi/straddle/models/embed/account_update_params.rbi +6 -0
- data/rbi/straddle/models/embed/account_v1.rbi +20 -0
- data/rbi/straddle/models/embed/accounts/capability_request_create_params.rbi +6 -0
- data/rbi/straddle/models/embed/accounts/capability_request_list_params.rbi +6 -0
- data/rbi/straddle/models/embed/accounts/capability_request_paged_v1.rbi +8 -0
- data/rbi/straddle/models/embed/address_v1.rbi +18 -42
- data/rbi/straddle/models/embed/linked_bank_account_cancel_params.rbi +6 -0
- data/rbi/straddle/models/embed/linked_bank_account_get_params.rbi +11 -1
- data/rbi/straddle/models/embed/linked_bank_account_list_params.rbi +149 -0
- data/rbi/straddle/models/embed/linked_bank_account_unmask_params.rbi +11 -1
- data/rbi/straddle/models/embed/linked_bank_account_update_params.rbi +6 -0
- data/rbi/straddle/models/embed/organization_get_params.rbi +11 -1
- data/rbi/straddle/models/embed/representative_get_params.rbi +11 -1
- data/rbi/straddle/models/embed/representative_unmask_params.rbi +11 -1
- data/rbi/straddle/models/embed/representative_update_params.rbi +6 -0
- data/rbi/straddle/models/funding_event_get_params.rbi +6 -0
- data/rbi/straddle/models/funding_event_list_params.rbi +341 -0
- data/rbi/straddle/models/funding_event_summary_item_v1.rbi +416 -0
- data/rbi/straddle/models/funding_event_summary_paged_v1.rbi +417 -0
- data/rbi/straddle/models/paykey_cancel_params.rbi +6 -0
- data/rbi/straddle/models/paykey_get_params.rbi +6 -0
- data/rbi/straddle/models/paykey_list_params.rbi +30 -0
- data/rbi/straddle/models/paykey_reveal_params.rbi +6 -0
- data/rbi/straddle/models/paykey_reveal_response.rbi +116 -1
- data/rbi/straddle/models/paykey_summary_paged_v1.rbi +131 -4
- data/rbi/straddle/models/paykey_unmasked_params.rbi +6 -0
- data/rbi/straddle/models/paykey_unmasked_v1.rbi +116 -1
- data/rbi/straddle/models/{customer_refresh_review_params.rbi → paykey_update_balance_params.rbi} +8 -2
- data/rbi/straddle/models/paykey_v1.rbi +128 -4
- data/rbi/straddle/models/paykeys/review_decision_params.rbi +121 -0
- data/rbi/straddle/models/paykeys/review_get_params.rbi +73 -0
- data/rbi/straddle/models/paykeys/review_get_response.rbi +1561 -0
- data/rbi/straddle/models/paykeys/review_refresh_review_params.rbi +82 -0
- data/rbi/straddle/models/payment_list_params.rbi +51 -0
- data/rbi/straddle/models/payment_summary_paged_v1.rbi +24 -3
- data/rbi/straddle/models/payout_cancel_params.rbi +6 -0
- data/rbi/straddle/models/payout_create_params.rbi +19 -3
- data/rbi/straddle/models/payout_get_params.rbi +6 -0
- data/rbi/straddle/models/payout_hold_params.rbi +6 -0
- data/rbi/straddle/models/payout_release_params.rbi +6 -0
- data/rbi/straddle/models/payout_unmask_params.rbi +6 -0
- data/rbi/straddle/models/payout_unmask_response.rbi +140 -3
- data/rbi/straddle/models/payout_update_params.rbi +9 -3
- data/rbi/straddle/models/payout_v1.rbi +132 -3
- data/rbi/straddle/models/status_details_v1.rbi +29 -0
- data/rbi/straddle/models.rbi +3 -3
- data/rbi/straddle/resources/bridge/link.rbi +28 -6
- data/rbi/straddle/resources/bridge.rbi +17 -1
- data/rbi/straddle/resources/charges.rbi +13 -8
- data/rbi/straddle/resources/customers/review.rbi +34 -1
- data/rbi/straddle/resources/customers.rbi +20 -35
- data/rbi/straddle/resources/embed/accounts/capability_requests.rbi +6 -2
- data/rbi/straddle/resources/embed/accounts.rbi +19 -10
- data/rbi/straddle/resources/embed/linked_bank_accounts.rbi +18 -4
- data/rbi/straddle/resources/embed/organizations.rbi +4 -0
- data/rbi/straddle/resources/embed/representatives.rbi +12 -6
- data/rbi/straddle/resources/embed.rbi +19 -0
- data/rbi/straddle/resources/funding_events.rbi +30 -0
- data/rbi/straddle/resources/paykeys/review.rbi +99 -0
- data/rbi/straddle/resources/paykeys.rbi +45 -29
- data/rbi/straddle/resources/payments.rbi +8 -3
- data/rbi/straddle/resources/payouts.rbi +11 -7
- data/sig/straddle/internal/transport/base_client.rbs +2 -0
- data/sig/straddle/internal/transport/pooled_net_requester.rbs +4 -1
- data/sig/straddle/internal/util.rbs +10 -0
- data/sig/straddle/models/bridge/link_bank_account_params.rbs +28 -1
- data/sig/straddle/models/bridge/link_create_paykey_params.rbs +28 -1
- data/sig/straddle/models/bridge/link_create_paykey_response.rbs +45 -2
- data/sig/straddle/models/bridge/link_create_tan_params.rbs +28 -1
- data/sig/straddle/models/bridge/link_create_tan_response.rbs +45 -2
- data/sig/straddle/models/bridge/link_plaid_params.rbs +28 -1
- data/sig/straddle/models/bridge_initialize_params.rbs +28 -1
- data/sig/straddle/models/charge_cancel_params.rbs +5 -0
- data/sig/straddle/models/charge_create_params.rbs +14 -4
- data/sig/straddle/models/charge_get_params.rbs +5 -0
- data/sig/straddle/models/charge_hold_params.rbs +5 -0
- data/sig/straddle/models/charge_release_params.rbs +5 -0
- data/sig/straddle/models/charge_unmask_params.rbs +5 -0
- data/sig/straddle/models/charge_unmask_response.rbs +57 -7
- data/sig/straddle/models/charge_update_params.rbs +9 -4
- data/sig/straddle/models/charge_v1.rbs +57 -7
- data/sig/straddle/models/customer_delete_params.rbs +5 -0
- data/sig/straddle/models/customer_get_params.rbs +5 -0
- data/sig/straddle/models/customer_unmasked_params.rbs +5 -0
- data/sig/straddle/models/customer_update_params.rbs +5 -0
- data/sig/straddle/models/customers/review_decision_params.rbs +5 -0
- data/sig/straddle/models/customers/review_get_params.rbs +5 -0
- data/sig/straddle/models/customers/review_refresh_review_params.rbs +56 -0
- data/sig/straddle/models/embed/account_get_params.rbs +5 -1
- data/sig/straddle/models/embed/account_onboard_params.rbs +5 -0
- data/sig/straddle/models/embed/account_paged_v1.rbs +18 -2
- data/sig/straddle/models/embed/account_simulate_params.rbs +5 -0
- data/sig/straddle/models/embed/account_update_params.rbs +5 -0
- data/sig/straddle/models/embed/account_v1.rbs +18 -2
- data/sig/straddle/models/embed/accounts/capability_request_create_params.rbs +5 -0
- data/sig/straddle/models/embed/accounts/capability_request_list_params.rbs +5 -0
- data/sig/straddle/models/embed/accounts/capability_request_paged_v1.rbs +5 -0
- data/sig/straddle/models/embed/address_v1.rbs +12 -27
- data/sig/straddle/models/embed/linked_bank_account_cancel_params.rbs +10 -1
- data/sig/straddle/models/embed/linked_bank_account_get_params.rbs +9 -1
- data/sig/straddle/models/embed/linked_bank_account_list_params.rbs +46 -0
- data/sig/straddle/models/embed/linked_bank_account_unmask_params.rbs +9 -1
- data/sig/straddle/models/embed/linked_bank_account_update_params.rbs +5 -0
- data/sig/straddle/models/embed/organization_get_params.rbs +5 -1
- data/sig/straddle/models/embed/representative_get_params.rbs +9 -1
- data/sig/straddle/models/embed/representative_unmask_params.rbs +9 -1
- data/sig/straddle/models/embed/representative_update_params.rbs +5 -0
- data/sig/straddle/models/funding_event_get_params.rbs +5 -0
- data/sig/straddle/models/funding_event_list_params.rbs +130 -0
- data/sig/straddle/models/funding_event_summary_item_v1.rbs +179 -0
- data/sig/straddle/models/funding_event_summary_paged_v1.rbs +179 -0
- data/sig/straddle/models/paykey_cancel_params.rbs +5 -0
- data/sig/straddle/models/paykey_get_params.rbs +5 -0
- data/sig/straddle/models/paykey_list_params.rbs +17 -1
- data/sig/straddle/models/paykey_reveal_params.rbs +5 -0
- data/sig/straddle/models/paykey_reveal_response.rbs +45 -2
- data/sig/straddle/models/paykey_summary_paged_v1.rbs +53 -5
- data/sig/straddle/models/paykey_unmasked_params.rbs +5 -0
- data/sig/straddle/models/paykey_unmasked_v1.rbs +45 -2
- data/sig/straddle/models/{customer_refresh_review_params.rbs → paykey_update_balance_params.rbs} +7 -2
- data/sig/straddle/models/paykey_v1.rbs +53 -5
- data/sig/straddle/models/paykeys/review_decision_params.rbs +72 -0
- data/sig/straddle/models/paykeys/review_get_params.rbs +49 -0
- data/sig/straddle/models/paykeys/review_get_response.rbs +645 -0
- data/sig/straddle/models/paykeys/review_refresh_review_params.rbs +56 -0
- data/sig/straddle/models/payment_list_params.rbs +23 -0
- data/sig/straddle/models/payment_summary_paged_v1.rbs +16 -4
- data/sig/straddle/models/payout_cancel_params.rbs +5 -0
- data/sig/straddle/models/payout_create_params.rbs +14 -4
- data/sig/straddle/models/payout_get_params.rbs +5 -0
- data/sig/straddle/models/payout_hold_params.rbs +5 -0
- data/sig/straddle/models/payout_release_params.rbs +5 -0
- data/sig/straddle/models/payout_unmask_params.rbs +5 -0
- data/sig/straddle/models/payout_unmask_response.rbs +54 -4
- data/sig/straddle/models/payout_update_params.rbs +9 -4
- data/sig/straddle/models/payout_v1.rbs +54 -4
- data/sig/straddle/models/status_details_v1.rbs +14 -0
- data/sig/straddle/models.rbs +3 -3
- data/sig/straddle/resources/bridge/link.rbs +4 -0
- data/sig/straddle/resources/bridge.rbs +1 -0
- data/sig/straddle/resources/charges.rbs +2 -2
- data/sig/straddle/resources/customers/review.rbs +9 -0
- data/sig/straddle/resources/customers.rbs +0 -9
- data/sig/straddle/resources/embed/linked_bank_accounts.rbs +2 -0
- data/sig/straddle/resources/funding_events.rbs +5 -0
- data/sig/straddle/resources/paykeys/review.rbs +36 -0
- data/sig/straddle/resources/paykeys.rbs +9 -6
- data/sig/straddle/resources/payments.rbs +1 -0
- data/sig/straddle/resources/payouts.rbs +2 -2
- metadata +37 -8
- data/lib/straddle/models/paykey_review_params.rb +0 -54
- data/rbi/straddle/models/paykey_review_params.rbi +0 -98
- data/sig/straddle/models/paykey_review_params.rbs +0 -65
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6434af7d317097aa21f1993bcbfffc0df3661c98722719304c4a375a02bfeffc
|
|
4
|
+
data.tar.gz: b5a7f9eec6c595ab6b5406d9140f0c3b803ea93d7ed34c7ffe84a450e4fc0ce8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4c109c641b80e7e87fc6f7002e06a61ca536eb674798c73afdc99ed21cc83d0015000078e88c93e39620f004ff289a4b06725301d1f0ed481a422c9d4a344e10
|
|
7
|
+
data.tar.gz: ce0ef51d8928bd78ce2a2dbafdf99cef9f22d2bd1be75095ece27a58fb125554ae3e41255215fa77cbfb9de64b1b43b75e9fc3e44e9554290f6d50230aac1389
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,102 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.0 (2026-03-25)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.3.0...v0.4.0](https://github.com/straddleio/straddle-ruby/compare/v0.3.0...v0.4.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **docs:** Preliminary update to SDK Spec ([a994089](https://github.com/straddleio/straddle-ruby/commit/a99408935f4845971d9651ad7fee5d717236cc4b))
|
|
10
|
+
* **docs:** Preliminary update to SDK Spec ([e0c673c](https://github.com/straddleio/straddle-ruby/commit/e0c673c0b019a12538459577ea1ace160157be9f))
|
|
11
|
+
* **docs:** Preliminary update to SDK Spec ([ab49d6a](https://github.com/straddleio/straddle-ruby/commit/ab49d6aa46cb99d6730e1f5948bbcfb5415ce78c))
|
|
12
|
+
* **docs:** Preliminary update to SDK Spec ([2bb0ce7](https://github.com/straddleio/straddle-ruby/commit/2bb0ce7d9596b697ddf32df5ef277ca55d4b95cb))
|
|
13
|
+
* **docs:** Preliminary update to SDK Spec ([759a24a](https://github.com/straddleio/straddle-ruby/commit/759a24a18fc47e03f99ea25c72e6b5e648803de6))
|
|
14
|
+
* **docs:** Preliminary update to SDK Spec ([2f15e87](https://github.com/straddleio/straddle-ruby/commit/2f15e87de5dbb4dab8160231011b4caf010baeb6))
|
|
15
|
+
* **docs:** Preliminary update to SDK Spec ([65fe483](https://github.com/straddleio/straddle-ruby/commit/65fe483c98ad3d3c4a901f10c9bfc1b5ef96d257))
|
|
16
|
+
* **docs:** Preliminary update to SDK Spec ([35942d0](https://github.com/straddleio/straddle-ruby/commit/35942d0627af65b581371c283021844fd8a0bf81))
|
|
17
|
+
* **docs:** Preliminary update to SDK Spec ([b287450](https://github.com/straddleio/straddle-ruby/commit/b287450f5ab5ee21243ba0b0c1458beb72f92832))
|
|
18
|
+
* **docs:** Preliminary update to SDK Spec ([caa3e6e](https://github.com/straddleio/straddle-ruby/commit/caa3e6eaedca057efac14a95278655388a870ffb))
|
|
19
|
+
* **docs:** Preliminary update to SDK Spec ([da1a4e5](https://github.com/straddleio/straddle-ruby/commit/da1a4e5c2d0ad6b62c2971b2eaa20146965e178d))
|
|
20
|
+
* **docs:** Preliminary update to SDK Spec ([12c8533](https://github.com/straddleio/straddle-ruby/commit/12c853310303cb4b4342b5c278cb7941f480f103))
|
|
21
|
+
* **docs:** Preliminary update to SDK Spec ([2bb2562](https://github.com/straddleio/straddle-ruby/commit/2bb2562e097739663f25b260d1007041b9109f0f))
|
|
22
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([abb8de9](https://github.com/straddleio/straddle-ruby/commit/abb8de9e06161d6ce2ae94b798b4387df8d1a24c))
|
|
23
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([6e446e6](https://github.com/straddleio/straddle-ruby/commit/6e446e60dc383c9d3c6184811af093d28b6e1cd8))
|
|
24
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([d908ee6](https://github.com/straddleio/straddle-ruby/commit/d908ee634a5ae9ac456e569a3295da27cc4c990e))
|
|
25
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([898c39b](https://github.com/straddleio/straddle-ruby/commit/898c39bec0902f40eb06355d6804b497b6cffe2b))
|
|
26
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([cc470c8](https://github.com/straddleio/straddle-ruby/commit/cc470c8ad0504432f4b808b37127aa79efff9833))
|
|
27
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([99ed5a2](https://github.com/straddleio/straddle-ruby/commit/99ed5a21f9e79a9390bf092c2d51138ea0d84b2d))
|
|
28
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([d2ead91](https://github.com/straddleio/straddle-ruby/commit/d2ead91f78dec78cac9d524abf5428c1fa22a720))
|
|
29
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([46a0ab3](https://github.com/straddleio/straddle-ruby/commit/46a0ab30f644faa810fa509bd8f104847b88c978))
|
|
30
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([ef7fd5f](https://github.com/straddleio/straddle-ruby/commit/ef7fd5f87a68ce095c9b367c8a7f2edca5fe23be))
|
|
31
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([454257f](https://github.com/straddleio/straddle-ruby/commit/454257f19eb94916cea2e2f62d4855a540e6f36f))
|
|
32
|
+
* **docs:** Release Updates to SDK based on Open API Spec (Final) ([327f383](https://github.com/straddleio/straddle-ruby/commit/327f38385cacf75acf5cffc2c3fd9e49d6d6b858))
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
* calling `break` out of streams should be instantaneous ([65a7035](https://github.com/straddleio/straddle-ruby/commit/65a70353f1184a41f6d49e25eef0bdbc7072159a))
|
|
38
|
+
* **client:** always add content-length to post body, even when empty ([30dd077](https://github.com/straddleio/straddle-ruby/commit/30dd077007ef4d18699681aaeb38c3ce96e6f71a))
|
|
39
|
+
* **client:** loosen json header parsing ([89a2422](https://github.com/straddleio/straddle-ruby/commit/89a24221918e69c4d1d416c8112e8e5d60462197))
|
|
40
|
+
* **docs:** fix mcp installation instructions for remote servers ([4e9f0b8](https://github.com/straddleio/straddle-ruby/commit/4e9f0b845fdd847d19237ec4fca8f271eafa110e))
|
|
41
|
+
* issue where json.parse errors when receiving HTTP 204 with nobody ([50718b8](https://github.com/straddleio/straddle-ruby/commit/50718b8169bbda3a2ebc1c0b5bc5424ad8080391))
|
|
42
|
+
* properly mock time in ruby ci tests ([c17150a](https://github.com/straddleio/straddle-ruby/commit/c17150a4ea48337ef433acb3d789c4b71192272f))
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
### Chores
|
|
46
|
+
|
|
47
|
+
* **ci:** add build step ([b284348](https://github.com/straddleio/straddle-ruby/commit/b284348c52ff380e366b3605688904e4b54a48ee))
|
|
48
|
+
* **ci:** skip lint on metadata-only changes ([2d5b557](https://github.com/straddleio/straddle-ruby/commit/2d5b557ca8ee74326d4acfe1d1a4aa0669d486d2))
|
|
49
|
+
* **ci:** skip uploading artifacts on stainless-internal branches ([58dafed](https://github.com/straddleio/straddle-ruby/commit/58dafed680488b92024a9eff72374720d421fd6f))
|
|
50
|
+
* **docs:** remove www prefix ([27edb53](https://github.com/straddleio/straddle-ruby/commit/27edb5337b03002d5eb1738b5d92ed1c01463c1d))
|
|
51
|
+
* explicitly require "base64" gem ([f100e97](https://github.com/straddleio/straddle-ruby/commit/f100e97c7e621d0b1ab88ad0c89ee76a0fe45396))
|
|
52
|
+
* fix typo in descriptions ([a2523b7](https://github.com/straddleio/straddle-ruby/commit/a2523b75912086c1843324095984a19b650ff704))
|
|
53
|
+
* **internal:** codegen related update ([8e7cf9a](https://github.com/straddleio/straddle-ruby/commit/8e7cf9acaf4489577db186a2d22e77a955b4906e))
|
|
54
|
+
* **internal:** codegen related update ([8e5e7ea](https://github.com/straddleio/straddle-ruby/commit/8e5e7ea45e9ff012fb2205e6fe9a1e6a0d7dd1e8))
|
|
55
|
+
* **internal:** codegen related update ([1a5e921](https://github.com/straddleio/straddle-ruby/commit/1a5e92121000780f6decf5e835a5546d013d4143))
|
|
56
|
+
* **internal:** tweak CI branches ([3ae860c](https://github.com/straddleio/straddle-ruby/commit/3ae860c3fd991bdb8f23e9810dfd3e602429182b))
|
|
57
|
+
* **internal:** update `actions/checkout` version ([cc750a5](https://github.com/straddleio/straddle-ruby/commit/cc750a510782578f720e3df4fe7f0ad8f1ac7cc5))
|
|
58
|
+
* **internal:** update gitignore ([a710798](https://github.com/straddleio/straddle-ruby/commit/a710798ef83f1345cfdaf96796907539d91c6700))
|
|
59
|
+
* move `cgi` into dependencies for ruby 4 ([bb397c4](https://github.com/straddleio/straddle-ruby/commit/bb397c497907aa40e381dab916a0e2643329476a))
|
|
60
|
+
* **test:** do not count install time for mock server timeout ([e00275d](https://github.com/straddleio/straddle-ruby/commit/e00275d5c3bc65beecc0b3e8d84937f850823d32))
|
|
61
|
+
* **tests:** bump steady to v0.19.4 ([d71d7c1](https://github.com/straddleio/straddle-ruby/commit/d71d7c1efd4d9aff7794dfe094c4a78362302e35))
|
|
62
|
+
* **tests:** bump steady to v0.19.5 ([c6cdca9](https://github.com/straddleio/straddle-ruby/commit/c6cdca9d1ea9be5d8957236da28d805b9f9703c1))
|
|
63
|
+
* **tests:** bump steady to v0.19.6 ([c6117b1](https://github.com/straddleio/straddle-ruby/commit/c6117b1ccca3bf562a2342f69ed9d1ad5f1f3c70))
|
|
64
|
+
* **tests:** bump steady to v0.19.7 ([a15b004](https://github.com/straddleio/straddle-ruby/commit/a15b00439585eaac4d5973dcc58e9651ef1b7e80))
|
|
65
|
+
* update mock server docs ([62f9869](https://github.com/straddleio/straddle-ruby/commit/62f98690bfdb9297542060f54d13159d3b37059f))
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
### Documentation
|
|
69
|
+
|
|
70
|
+
* prominently feature MCP server setup in root SDK readmes ([91ed678](https://github.com/straddleio/straddle-ruby/commit/91ed678dc60cdd67aee12901542a3e956410fcd0))
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
### Refactors
|
|
74
|
+
|
|
75
|
+
* **tests:** switch from prism to steady ([3a1546c](https://github.com/straddleio/straddle-ruby/commit/3a1546c87187ebda73423d2397295e37ba1fac40))
|
|
76
|
+
|
|
77
|
+
## 0.3.0 (2025-11-16)
|
|
78
|
+
|
|
79
|
+
Full Changelog: [v0.2.0...v0.3.0](https://github.com/straddleio/straddle-ruby/compare/v0.2.0...v0.3.0)
|
|
80
|
+
|
|
81
|
+
### Features
|
|
82
|
+
|
|
83
|
+
* **api:** manual updates ([c048e53](https://github.com/straddleio/straddle-ruby/commit/c048e539bb7e3851302e4ddbd166a58fb593a52b))
|
|
84
|
+
* **docs:** Preliminary update to SDK Spec ([8d573e9](https://github.com/straddleio/straddle-ruby/commit/8d573e9c1d39e407dae8a1ec8cc716c0e86a8b46))
|
|
85
|
+
* handle thread interrupts in the core HTTP client ([0e8ff22](https://github.com/straddleio/straddle-ruby/commit/0e8ff229d3f4e5bb905f807338896f8999cc1f44))
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
### Bug Fixes
|
|
89
|
+
|
|
90
|
+
* absolutely qualified uris should always override the default ([9ec59a0](https://github.com/straddleio/straddle-ruby/commit/9ec59a081f213bbef52a0deb0e05229f047ec4b3))
|
|
91
|
+
* better thread safety via early initializing SSL store during HTTP client creation ([44dd717](https://github.com/straddleio/straddle-ruby/commit/44dd7179fdf7a912e6c0df4016cd7976ceaaa3f9))
|
|
92
|
+
* should not reuse buffers for `IO.copy_stream` interop ([ab1134b](https://github.com/straddleio/straddle-ruby/commit/ab1134bebd96319b18959ef961f303b7fa92cf18))
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
### Chores
|
|
96
|
+
|
|
97
|
+
* bump dependency version and update sorbet types ([19ed027](https://github.com/straddleio/straddle-ruby/commit/19ed0274aeb5f8303d0170817a1520591c6e484b))
|
|
98
|
+
* ignore linter error for tests having large collections ([bc64eef](https://github.com/straddleio/straddle-ruby/commit/bc64eefa88be0777031542098b605f2677a8c29f))
|
|
99
|
+
|
|
3
100
|
## 0.2.0 (2025-10-08)
|
|
4
101
|
|
|
5
102
|
Full Changelog: [v0.1.1...v0.2.0](https://github.com/straddleio/straddle-ruby/compare/v0.1.1...v0.2.0)
|
data/README.md
CHANGED
|
@@ -4,6 +4,15 @@ The Straddle Ruby library provides convenient access to the Straddle REST API fr
|
|
|
4
4
|
|
|
5
5
|
It is generated with [Stainless](https://www.stainless.com/).
|
|
6
6
|
|
|
7
|
+
## MCP Server
|
|
8
|
+
|
|
9
|
+
Use the Straddle MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
|
|
10
|
+
|
|
11
|
+
[](https://cursor.com/en-US/install-mcp?name=%40straddlecom%2Fstraddle-mcp&config=eyJuYW1lIjoiQHN0cmFkZGxlY29tL3N0cmFkZGxlLW1jcCIsInRyYW5zcG9ydCI6Imh0dHAiLCJ1cmwiOiJodHRwczovL3N0cmFkZGxlLnN0bG1jcC5jb20iLCJoZWFkZXJzIjp7Ingtc3RyYWRkbGUtYXBpLWtleSI6Ik15IEFQSSBLZXkifX0)
|
|
12
|
+
[](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40straddlecom%2Fstraddle-mcp%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fstraddle.stlmcp.com%22%2C%22headers%22%3A%7B%22x-straddle-api-key%22%3A%22My%20API%20Key%22%7D%7D)
|
|
13
|
+
|
|
14
|
+
> Note: You may need to set environment variables in your MCP client.
|
|
15
|
+
|
|
7
16
|
## Documentation
|
|
8
17
|
|
|
9
18
|
Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/straddle).
|
|
@@ -17,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
17
26
|
<!-- x-release-please-start-version -->
|
|
18
27
|
|
|
19
28
|
```ruby
|
|
20
|
-
gem "straddle", "~> 0.
|
|
29
|
+
gem "straddle", "~> 0.4.0"
|
|
21
30
|
```
|
|
22
31
|
|
|
23
32
|
<!-- x-release-please-end -->
|
data/lib/straddle/client.rb
CHANGED
|
@@ -28,24 +28,58 @@ module Straddle
|
|
|
28
28
|
# @return [Straddle::Resources::Embed]
|
|
29
29
|
attr_reader :embed
|
|
30
30
|
|
|
31
|
+
# Bridge provides a comprehensive suite of tools for connecting customer bank
|
|
32
|
+
# accounts. Use it to generate secure widget sessions for instant account
|
|
33
|
+
# verification, accept tokens from major providers like Plaid and Finicity, or
|
|
34
|
+
# verify accounts directly via our API. Bridge handles all sensitive banking
|
|
35
|
+
# credentials and ensures secure, compliant connections with support for 90% of US
|
|
36
|
+
# bank accounts.
|
|
31
37
|
# @return [Straddle::Resources::Bridge]
|
|
32
38
|
attr_reader :bridge
|
|
33
39
|
|
|
40
|
+
# Customers represent the end users who send or receive payments through your
|
|
41
|
+
# integration. Each customer undergoes automatic identity verification and fraud
|
|
42
|
+
# screening upon creation. Use customers to track payment history, manage bank
|
|
43
|
+
# account connections, and maintain a secure record of all transactions associated
|
|
44
|
+
# with a user. Customers can be either individuals or businesses with appropriate
|
|
45
|
+
# compliance checks for each type.
|
|
34
46
|
# @return [Straddle::Resources::Customers]
|
|
35
47
|
attr_reader :customers
|
|
36
48
|
|
|
49
|
+
# Paykeys are secure tokens that link verified customer identities to their bank
|
|
50
|
+
# accounts. Each Paykey includes built-in balance checking, fraud detection
|
|
51
|
+
# through LSTM machine learning models, and can be reused for subscriptions and
|
|
52
|
+
# recurring payments without storing sensitive data. Paykeys eliminate fraud by
|
|
53
|
+
# ensuring the person initiating payment owns the funding account.
|
|
37
54
|
# @return [Straddle::Resources::Paykeys]
|
|
38
55
|
attr_reader :paykeys
|
|
39
56
|
|
|
57
|
+
# Charges represent attempts to debit money from a customer's bank account using a
|
|
58
|
+
# Paykey. Each charge includes automatic balance verification, real-time fraud
|
|
59
|
+
# screening, and multi-rail optimization and detailed status tracking throughout
|
|
60
|
+
# the payment lifecycle. Use charges to accept bank payments with confidence
|
|
61
|
+
# knowing every transaction is protected.
|
|
40
62
|
# @return [Straddle::Resources::Charges]
|
|
41
63
|
attr_reader :charges
|
|
42
64
|
|
|
65
|
+
# Funding events represent all money movement between Straddle and an Account's
|
|
66
|
+
# external bank accounts. They are automatically generated when charges settle or
|
|
67
|
+
# payouts are initiated. Each event provides detailed tracking of settlement
|
|
68
|
+
# status, fee breakdowns, and reconciliation data across both incoming and
|
|
69
|
+
# outgoing transfers. Use funding events to monitor your platform's entire money
|
|
70
|
+
# movement lifecycle.
|
|
43
71
|
# @return [Straddle::Resources::FundingEvents]
|
|
44
72
|
attr_reader :funding_events
|
|
45
73
|
|
|
74
|
+
# Payments provide endpoints to filter both Charges and Payouts with multiple
|
|
75
|
+
# different parameters.
|
|
46
76
|
# @return [Straddle::Resources::Payments]
|
|
47
77
|
attr_reader :payments
|
|
48
78
|
|
|
79
|
+
# Payouts represent transfers from Straddle to customer bank accounts. Create
|
|
80
|
+
# payouts to handle disbursements, process refunds, or manage marketplace
|
|
81
|
+
# settlements. Use payouts to send money quickly and securely with the most
|
|
82
|
+
# cost-effective rail automatically selected.
|
|
49
83
|
# @return [Straddle::Resources::Payouts]
|
|
50
84
|
attr_reader :payouts
|
|
51
85
|
|
|
@@ -201,7 +201,8 @@ module Straddle
|
|
|
201
201
|
self.class::PLATFORM_HEADERS,
|
|
202
202
|
{
|
|
203
203
|
"accept" => "application/json",
|
|
204
|
-
"content-type" => "application/json"
|
|
204
|
+
"content-type" => "application/json",
|
|
205
|
+
"user-agent" => user_agent
|
|
205
206
|
},
|
|
206
207
|
headers
|
|
207
208
|
)
|
|
@@ -219,6 +220,11 @@ module Straddle
|
|
|
219
220
|
# @return [Hash{String=>String}]
|
|
220
221
|
private def auth_headers = {}
|
|
221
222
|
|
|
223
|
+
# @api private
|
|
224
|
+
#
|
|
225
|
+
# @return [String]
|
|
226
|
+
private def user_agent = "#{self.class.name}/Ruby #{Straddle::VERSION}"
|
|
227
|
+
|
|
222
228
|
# @api private
|
|
223
229
|
#
|
|
224
230
|
# @return [String]
|
|
@@ -16,10 +16,11 @@ module Straddle
|
|
|
16
16
|
class << self
|
|
17
17
|
# @api private
|
|
18
18
|
#
|
|
19
|
+
# @param cert_store [OpenSSL::X509::Store]
|
|
19
20
|
# @param url [URI::Generic]
|
|
20
21
|
#
|
|
21
22
|
# @return [Net::HTTP]
|
|
22
|
-
def connect(url)
|
|
23
|
+
def connect(cert_store:, url:)
|
|
23
24
|
port =
|
|
24
25
|
case [url.port, url.scheme]
|
|
25
26
|
in [Integer, _]
|
|
@@ -33,6 +34,8 @@ module Straddle
|
|
|
33
34
|
Net::HTTP.new(url.host, port).tap do
|
|
34
35
|
_1.use_ssl = %w[https wss].include?(url.scheme)
|
|
35
36
|
_1.max_retries = 0
|
|
37
|
+
|
|
38
|
+
(_1.cert_store = cert_store) if _1.use_ssl?
|
|
36
39
|
end
|
|
37
40
|
end
|
|
38
41
|
|
|
@@ -72,7 +75,7 @@ module Straddle
|
|
|
72
75
|
|
|
73
76
|
case body
|
|
74
77
|
in nil
|
|
75
|
-
|
|
78
|
+
req["content-length"] ||= 0 unless req["transfer-encoding"]
|
|
76
79
|
in String
|
|
77
80
|
req["content-length"] ||= body.bytesize.to_s unless req["transfer-encoding"]
|
|
78
81
|
req.body_stream = Straddle::Internal::Util::ReadIOAdapter.new(body, &blk)
|
|
@@ -102,7 +105,7 @@ module Straddle
|
|
|
102
105
|
pool =
|
|
103
106
|
@mutex.synchronize do
|
|
104
107
|
@pools[origin] ||= ConnectionPool.new(size: @size) do
|
|
105
|
-
self.class.connect(url)
|
|
108
|
+
self.class.connect(cert_store: @cert_store, url: url)
|
|
106
109
|
end
|
|
107
110
|
end
|
|
108
111
|
|
|
@@ -128,40 +131,50 @@ module Straddle
|
|
|
128
131
|
url, deadline = request.fetch_values(:url, :deadline)
|
|
129
132
|
|
|
130
133
|
req = nil
|
|
131
|
-
eof = false
|
|
132
134
|
finished = false
|
|
133
|
-
closing = nil
|
|
134
135
|
|
|
135
136
|
# rubocop:disable Metrics/BlockLength
|
|
136
137
|
enum = Enumerator.new do |y|
|
|
137
138
|
next if finished
|
|
138
139
|
|
|
139
140
|
with_pool(url, deadline: deadline) do |conn|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
conn.start
|
|
148
|
-
end
|
|
141
|
+
eof = false
|
|
142
|
+
closing = nil
|
|
143
|
+
::Thread.handle_interrupt(Object => :never) do
|
|
144
|
+
::Thread.handle_interrupt(Object => :immediate) do
|
|
145
|
+
req, closing = self.class.build_request(request) do
|
|
146
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
147
|
+
end
|
|
149
148
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
rsp.read_body do |bytes|
|
|
156
|
-
y << bytes.force_encoding(Encoding::BINARY)
|
|
157
|
-
break if finished
|
|
149
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
150
|
+
unless conn.started?
|
|
151
|
+
conn.keep_alive_timeout = self.class::KEEP_ALIVE_TIMEOUT
|
|
152
|
+
conn.start
|
|
153
|
+
end
|
|
158
154
|
|
|
159
155
|
self.class.calibrate_socket_timeout(conn, deadline)
|
|
156
|
+
::Kernel.catch(:jump) do
|
|
157
|
+
conn.request(req) do |rsp|
|
|
158
|
+
y << [req, rsp]
|
|
159
|
+
::Kernel.throw(:jump) if finished
|
|
160
|
+
|
|
161
|
+
rsp.read_body do |bytes|
|
|
162
|
+
y << bytes.force_encoding(Encoding::BINARY)
|
|
163
|
+
::Kernel.throw(:jump) if finished
|
|
164
|
+
|
|
165
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
166
|
+
end
|
|
167
|
+
eof = true
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
ensure
|
|
172
|
+
begin
|
|
173
|
+
conn.finish if !eof && conn&.started?
|
|
174
|
+
ensure
|
|
175
|
+
closing&.call
|
|
160
176
|
end
|
|
161
|
-
eof = true
|
|
162
177
|
end
|
|
163
|
-
ensure
|
|
164
|
-
conn.finish if !eof && conn&.started?
|
|
165
178
|
end
|
|
166
179
|
rescue Timeout::Error
|
|
167
180
|
raise Straddle::Errors::APITimeoutError.new(url: url, request: req)
|
|
@@ -174,8 +187,6 @@ module Straddle
|
|
|
174
187
|
body = Straddle::Internal::Util.fused_enum(enum, external: true) do
|
|
175
188
|
finished = true
|
|
176
189
|
loop { enum.next }
|
|
177
|
-
ensure
|
|
178
|
-
closing&.call
|
|
179
190
|
end
|
|
180
191
|
[Integer(response.code), response, body]
|
|
181
192
|
end
|
|
@@ -186,6 +197,7 @@ module Straddle
|
|
|
186
197
|
def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS)
|
|
187
198
|
@mutex = Mutex.new
|
|
188
199
|
@size = size
|
|
200
|
+
@cert_store = OpenSSL::X509::Store.new.tap(&:set_default_paths)
|
|
189
201
|
@pools = {}
|
|
190
202
|
end
|
|
191
203
|
|
|
@@ -346,8 +346,9 @@ module Straddle
|
|
|
346
346
|
base_path, base_query = lhs.fetch_values(:path, :query)
|
|
347
347
|
slashed = base_path.end_with?("/") ? base_path : "#{base_path}/"
|
|
348
348
|
|
|
349
|
-
|
|
350
|
-
|
|
349
|
+
merged = {**parse_uri(rhs.fetch(:path)), **rhs.except(:path, :query)}
|
|
350
|
+
parsed_path, parsed_query = merged.fetch_values(:path, :query)
|
|
351
|
+
override = URI::Generic.build(**merged.slice(:scheme, :host, :port), path: parsed_path)
|
|
351
352
|
|
|
352
353
|
joined = URI.join(URI::Generic.build(lhs.except(:path, :query)), slashed, override)
|
|
353
354
|
query = deep_merge(
|
|
@@ -473,10 +474,9 @@ module Straddle
|
|
|
473
474
|
# @return [Enumerable<String>]
|
|
474
475
|
def writable_enum(&blk)
|
|
475
476
|
Enumerator.new do |y|
|
|
476
|
-
buf = String.new
|
|
477
477
|
y.define_singleton_method(:write) do
|
|
478
|
-
self <<
|
|
479
|
-
|
|
478
|
+
self << _1.dup
|
|
479
|
+
_1.bytesize
|
|
480
480
|
end
|
|
481
481
|
|
|
482
482
|
blk.call(y)
|
|
@@ -485,11 +485,42 @@ module Straddle
|
|
|
485
485
|
end
|
|
486
486
|
|
|
487
487
|
# @type [Regexp]
|
|
488
|
-
JSON_CONTENT = %r{^application/(?:
|
|
488
|
+
JSON_CONTENT = %r{^application/(?:[a-zA-Z0-9.-]+\+)?json(?!l)}
|
|
489
489
|
# @type [Regexp]
|
|
490
490
|
JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
|
|
491
491
|
|
|
492
492
|
class << self
|
|
493
|
+
# @api private
|
|
494
|
+
#
|
|
495
|
+
# @param query [Hash{Symbol=>Object}]
|
|
496
|
+
#
|
|
497
|
+
# @return [Hash{Symbol=>Object}]
|
|
498
|
+
def encode_query_params(query)
|
|
499
|
+
out = {}
|
|
500
|
+
query.each { write_query_param_element!(out, _1, _2) }
|
|
501
|
+
out
|
|
502
|
+
end
|
|
503
|
+
|
|
504
|
+
# @api private
|
|
505
|
+
#
|
|
506
|
+
# @param collection [Hash{Symbol=>Object}]
|
|
507
|
+
# @param key [String]
|
|
508
|
+
# @param element [Object]
|
|
509
|
+
#
|
|
510
|
+
# @return [nil]
|
|
511
|
+
private def write_query_param_element!(collection, key, element)
|
|
512
|
+
case element
|
|
513
|
+
in Hash
|
|
514
|
+
element.each do |name, value|
|
|
515
|
+
write_query_param_element!(collection, "#{key}[#{name}]", value)
|
|
516
|
+
end
|
|
517
|
+
in Array
|
|
518
|
+
collection[key] = element.map(&:to_s).join(",")
|
|
519
|
+
else
|
|
520
|
+
collection[key] = element.to_s
|
|
521
|
+
end
|
|
522
|
+
end
|
|
523
|
+
|
|
493
524
|
# @api private
|
|
494
525
|
#
|
|
495
526
|
# @param y [Enumerator::Yielder]
|
|
@@ -657,7 +688,8 @@ module Straddle
|
|
|
657
688
|
def decode_content(headers, stream:, suppress_error: false)
|
|
658
689
|
case (content_type = headers["content-type"])
|
|
659
690
|
in Straddle::Internal::Util::JSON_CONTENT
|
|
660
|
-
json = stream.to_a.join
|
|
691
|
+
return nil if (json = stream.to_a.join).empty?
|
|
692
|
+
|
|
661
693
|
begin
|
|
662
694
|
JSON.parse(json, symbolize_names: true)
|
|
663
695
|
rescue JSON::ParserError => e
|
|
@@ -667,7 +699,11 @@ module Straddle
|
|
|
667
699
|
in Straddle::Internal::Util::JSONL_CONTENT
|
|
668
700
|
lines = decode_lines(stream)
|
|
669
701
|
chain_fused(lines) do |y|
|
|
670
|
-
lines.each
|
|
702
|
+
lines.each do
|
|
703
|
+
next if _1.empty?
|
|
704
|
+
|
|
705
|
+
y << JSON.parse(_1, symbolize_names: true)
|
|
706
|
+
end
|
|
671
707
|
end
|
|
672
708
|
in %r{^text/event-stream}
|
|
673
709
|
lines = decode_lines(stream)
|
|
@@ -36,6 +36,13 @@ module Straddle
|
|
|
36
36
|
# @return [Straddle::Models::Bridge::LinkBankAccountParams::Config, nil]
|
|
37
37
|
optional :config, -> { Straddle::Bridge::LinkBankAccountParams::Config }
|
|
38
38
|
|
|
39
|
+
# @!attribute external_id
|
|
40
|
+
# Unique identifier for the paykey in your database, used for cross-referencing
|
|
41
|
+
# between Straddle and your systems.
|
|
42
|
+
#
|
|
43
|
+
# @return [String, nil]
|
|
44
|
+
optional :external_id, String, nil?: true
|
|
45
|
+
|
|
39
46
|
# @!attribute metadata
|
|
40
47
|
# Up to 20 additional user-defined key-value pairs. Useful for storing additional
|
|
41
48
|
# information about the paykey in a structured format.
|
|
@@ -63,7 +70,7 @@ module Straddle
|
|
|
63
70
|
# @return [String, nil]
|
|
64
71
|
optional :straddle_account_id, String
|
|
65
72
|
|
|
66
|
-
# @!method initialize(account_number:, account_type:, customer_id:, routing_number:, config: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
|
|
73
|
+
# @!method initialize(account_number:, account_type:, customer_id:, routing_number:, config: nil, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
|
|
67
74
|
# Some parameter documentations has been truncated, see
|
|
68
75
|
# {Straddle::Models::Bridge::LinkBankAccountParams} for more details.
|
|
69
76
|
#
|
|
@@ -77,6 +84,8 @@ module Straddle
|
|
|
77
84
|
#
|
|
78
85
|
# @param config [Straddle::Models::Bridge::LinkBankAccountParams::Config]
|
|
79
86
|
#
|
|
87
|
+
# @param external_id [String, nil] Unique identifier for the paykey in your database, used for cross-referencing be
|
|
88
|
+
#
|
|
80
89
|
# @param metadata [Hash{Symbol=>String}, nil] Up to 20 additional user-defined key-value pairs. Useful for storing additional
|
|
81
90
|
#
|
|
82
91
|
# @param correlation_id [String]
|
|
@@ -100,14 +109,33 @@ module Straddle
|
|
|
100
109
|
end
|
|
101
110
|
|
|
102
111
|
class Config < Straddle::Internal::Type::BaseModel
|
|
112
|
+
# @!attribute processing_method
|
|
113
|
+
#
|
|
114
|
+
# @return [Symbol, Straddle::Models::Bridge::LinkBankAccountParams::Config::ProcessingMethod, nil]
|
|
115
|
+
optional :processing_method,
|
|
116
|
+
enum: -> { Straddle::Bridge::LinkBankAccountParams::Config::ProcessingMethod }
|
|
117
|
+
|
|
103
118
|
# @!attribute sandbox_outcome
|
|
104
119
|
#
|
|
105
120
|
# @return [Symbol, Straddle::Models::Bridge::LinkBankAccountParams::Config::SandboxOutcome, nil]
|
|
106
121
|
optional :sandbox_outcome, enum: -> { Straddle::Bridge::LinkBankAccountParams::Config::SandboxOutcome }
|
|
107
122
|
|
|
108
|
-
# @!method initialize(sandbox_outcome: nil)
|
|
123
|
+
# @!method initialize(processing_method: nil, sandbox_outcome: nil)
|
|
124
|
+
# @param processing_method [Symbol, Straddle::Models::Bridge::LinkBankAccountParams::Config::ProcessingMethod]
|
|
109
125
|
# @param sandbox_outcome [Symbol, Straddle::Models::Bridge::LinkBankAccountParams::Config::SandboxOutcome]
|
|
110
126
|
|
|
127
|
+
# @see Straddle::Models::Bridge::LinkBankAccountParams::Config#processing_method
|
|
128
|
+
module ProcessingMethod
|
|
129
|
+
extend Straddle::Internal::Type::Enum
|
|
130
|
+
|
|
131
|
+
INLINE = :inline
|
|
132
|
+
BACKGROUND = :background
|
|
133
|
+
SKIP = :skip
|
|
134
|
+
|
|
135
|
+
# @!method self.values
|
|
136
|
+
# @return [Array<Symbol>]
|
|
137
|
+
end
|
|
138
|
+
|
|
111
139
|
# @see Straddle::Models::Bridge::LinkBankAccountParams::Config#sandbox_outcome
|
|
112
140
|
module SandboxOutcome
|
|
113
141
|
extend Straddle::Internal::Type::Enum
|
|
@@ -115,6 +143,7 @@ module Straddle
|
|
|
115
143
|
STANDARD = :standard
|
|
116
144
|
ACTIVE = :active
|
|
117
145
|
REJECTED = :rejected
|
|
146
|
+
REVIEW = :review
|
|
118
147
|
|
|
119
148
|
# @!method self.values
|
|
120
149
|
# @return [Array<Symbol>]
|
|
@@ -26,6 +26,13 @@ module Straddle
|
|
|
26
26
|
# @return [Straddle::Models::Bridge::LinkCreatePaykeyParams::Config, nil]
|
|
27
27
|
optional :config, -> { Straddle::Bridge::LinkCreatePaykeyParams::Config }
|
|
28
28
|
|
|
29
|
+
# @!attribute external_id
|
|
30
|
+
# Unique identifier for the paykey in your database, used for cross-referencing
|
|
31
|
+
# between Straddle and your systems.
|
|
32
|
+
#
|
|
33
|
+
# @return [String, nil]
|
|
34
|
+
optional :external_id, String, nil?: true
|
|
35
|
+
|
|
29
36
|
# @!attribute metadata
|
|
30
37
|
# Up to 20 additional user-defined key-value pairs. Useful for storing additional
|
|
31
38
|
# information about the paykey in a structured format.
|
|
@@ -53,7 +60,7 @@ module Straddle
|
|
|
53
60
|
# @return [String, nil]
|
|
54
61
|
optional :straddle_account_id, String
|
|
55
62
|
|
|
56
|
-
# @!method initialize(customer_id:, quiltt_token:, config: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
|
|
63
|
+
# @!method initialize(customer_id:, quiltt_token:, config: nil, external_id: nil, metadata: nil, correlation_id: nil, idempotency_key: nil, request_id: nil, straddle_account_id: nil, request_options: {})
|
|
57
64
|
# Some parameter documentations has been truncated, see
|
|
58
65
|
# {Straddle::Models::Bridge::LinkCreatePaykeyParams} for more details.
|
|
59
66
|
#
|
|
@@ -63,6 +70,8 @@ module Straddle
|
|
|
63
70
|
#
|
|
64
71
|
# @param config [Straddle::Models::Bridge::LinkCreatePaykeyParams::Config]
|
|
65
72
|
#
|
|
73
|
+
# @param external_id [String, nil] Unique identifier for the paykey in your database, used for cross-referencing be
|
|
74
|
+
#
|
|
66
75
|
# @param metadata [Hash{Symbol=>String}, nil] Up to 20 additional user-defined key-value pairs. Useful for storing additional
|
|
67
76
|
#
|
|
68
77
|
# @param correlation_id [String]
|
|
@@ -76,14 +85,33 @@ module Straddle
|
|
|
76
85
|
# @param request_options [Straddle::RequestOptions, Hash{Symbol=>Object}]
|
|
77
86
|
|
|
78
87
|
class Config < Straddle::Internal::Type::BaseModel
|
|
88
|
+
# @!attribute processing_method
|
|
89
|
+
#
|
|
90
|
+
# @return [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyParams::Config::ProcessingMethod, nil]
|
|
91
|
+
optional :processing_method,
|
|
92
|
+
enum: -> { Straddle::Bridge::LinkCreatePaykeyParams::Config::ProcessingMethod }
|
|
93
|
+
|
|
79
94
|
# @!attribute sandbox_outcome
|
|
80
95
|
#
|
|
81
96
|
# @return [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyParams::Config::SandboxOutcome, nil]
|
|
82
97
|
optional :sandbox_outcome, enum: -> { Straddle::Bridge::LinkCreatePaykeyParams::Config::SandboxOutcome }
|
|
83
98
|
|
|
84
|
-
# @!method initialize(sandbox_outcome: nil)
|
|
99
|
+
# @!method initialize(processing_method: nil, sandbox_outcome: nil)
|
|
100
|
+
# @param processing_method [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyParams::Config::ProcessingMethod]
|
|
85
101
|
# @param sandbox_outcome [Symbol, Straddle::Models::Bridge::LinkCreatePaykeyParams::Config::SandboxOutcome]
|
|
86
102
|
|
|
103
|
+
# @see Straddle::Models::Bridge::LinkCreatePaykeyParams::Config#processing_method
|
|
104
|
+
module ProcessingMethod
|
|
105
|
+
extend Straddle::Internal::Type::Enum
|
|
106
|
+
|
|
107
|
+
INLINE = :inline
|
|
108
|
+
BACKGROUND = :background
|
|
109
|
+
SKIP = :skip
|
|
110
|
+
|
|
111
|
+
# @!method self.values
|
|
112
|
+
# @return [Array<Symbol>]
|
|
113
|
+
end
|
|
114
|
+
|
|
87
115
|
# @see Straddle::Models::Bridge::LinkCreatePaykeyParams::Config#sandbox_outcome
|
|
88
116
|
module SandboxOutcome
|
|
89
117
|
extend Straddle::Internal::Type::Enum
|
|
@@ -91,6 +119,7 @@ module Straddle
|
|
|
91
119
|
STANDARD = :standard
|
|
92
120
|
ACTIVE = :active
|
|
93
121
|
REJECTED = :rejected
|
|
122
|
+
REVIEW = :review
|
|
94
123
|
|
|
95
124
|
# @!method self.values
|
|
96
125
|
# @return [Array<Symbol>]
|