moov_ruby 26.2.13 → 26.2.14
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/lib/crystalline/module.rb +1 -1
- data/lib/moov/card_issuing.rb +1 -1
- data/lib/moov/images.rb +1 -1
- data/lib/moov/institutions.rb +1 -1
- data/lib/moov/models/components/account.rb +2 -2
- data/lib/moov/models/components/accountnameverification.rb +4 -4
- data/lib/moov/models/components/accounttype.rb +3 -1
- data/lib/moov/models/components/accountverificationstatus.rb +3 -1
- data/lib/moov/models/components/achreturncode.rb +3 -1
- data/lib/moov/models/components/achtransactiondetails.rb +3 -3
- data/lib/moov/models/components/achtransactionstatus.rb +3 -1
- data/lib/moov/models/components/adjustmentfees.rb +11 -15
- data/lib/moov/models/components/adjustmentfees.rbi +4 -4
- data/lib/moov/models/components/applepayresponse.rb +2 -2
- data/lib/moov/models/components/applicationscope.rb +4 -2
- data/lib/moov/models/components/bankaccount.rb +4 -4
- data/lib/moov/models/components/bankaccountexception.rb +2 -2
- data/lib/moov/models/components/bankaccountholdertype.rb +3 -1
- data/lib/moov/models/components/bankaccountintegration.rb +2 -2
- data/lib/moov/models/components/bankaccountstatus.rb +3 -1
- data/lib/moov/models/components/bankaccountstatusreason.rb +3 -1
- data/lib/moov/models/components/bankaccounttype.rb +3 -1
- data/lib/moov/models/components/bankaccountverification.rb +2 -2
- data/lib/moov/models/components/bankaccountverificationcreated.rb +2 -2
- data/lib/moov/models/components/bankaccountverificationmethod.rb +3 -1
- data/lib/moov/models/components/bankaccountverificationstatus.rb +3 -1
- data/lib/moov/models/components/basicpaymentmethod.rb +1 -1
- data/lib/moov/models/components/billablefee.rb +2 -2
- data/lib/moov/models/components/billingadjustment.rb +40 -0
- data/lib/moov/models/components/billingadjustment.rbi +17 -0
- data/lib/moov/models/components/billingsummary.rb +8 -4
- data/lib/moov/models/components/billingsummary.rbi +2 -0
- data/lib/moov/models/components/billingsummary_adjustmentfees.rb +40 -0
- data/lib/moov/models/components/billingsummary_adjustmentfees.rbi +15 -0
- data/lib/moov/models/components/businesspresence.rb +3 -1
- data/lib/moov/models/components/businessprofile.rb +2 -2
- data/lib/moov/models/components/businesstype.rb +3 -1
- data/lib/moov/models/components/calltoaction.rb +3 -1
- data/lib/moov/models/components/cancellation.rb +2 -2
- data/lib/moov/models/components/cancellationstatus.rb +3 -1
- data/lib/moov/models/components/capability.rb +2 -2
- data/lib/moov/models/components/capabilityid.rb +3 -1
- data/lib/moov/models/components/capabilitystatus.rb +3 -1
- data/lib/moov/models/components/card.rb +4 -4
- data/lib/moov/models/components/cardaccountupdater.rb +1 -1
- data/lib/moov/models/components/cardacquiringmodel.rb +3 -1
- data/lib/moov/models/components/cardacquiringrefund.rb +1 -1
- data/lib/moov/models/components/cardbrand.rb +3 -1
- data/lib/moov/models/components/cardissuingnetwork.rb +3 -1
- data/lib/moov/models/components/cardtransactiondetails.rb +3 -3
- data/lib/moov/models/components/cardtransactionfailurecode.rb +3 -1
- data/lib/moov/models/components/cardtransactionstatus.rb +3 -1
- data/lib/moov/models/components/cardtype.rb +3 -1
- data/lib/moov/models/components/cardupdatereason.rb +3 -1
- data/lib/moov/models/components/cardverification.rb +3 -3
- data/lib/moov/models/components/cardverificationresult.rb +3 -1
- data/lib/moov/models/components/collectfundscardpayments.rb +1 -1
- data/lib/moov/models/components/collectionpaymentmethodtype.rb +3 -1
- data/lib/moov/models/components/createaccount.rb +2 -2
- data/lib/moov/models/components/createaccounttype.rb +3 -1
- data/lib/moov/models/components/createbusinessprofile.rb +2 -2
- data/lib/moov/models/components/createdtransfer.rb +6 -3
- data/lib/moov/models/components/createevidencetext.rb +1 -1
- data/lib/moov/models/components/createfeeplanagreement.rb +13 -3
- data/lib/moov/models/components/createfeeplanagreement.rbi +2 -0
- data/lib/moov/models/components/createpaymentlink.rb +1 -1
- data/lib/moov/models/components/createrefund.rb +1 -1
- data/lib/moov/models/components/createreversal.rb +4 -1
- data/lib/moov/models/components/createsweepconfig.rb +1 -1
- data/lib/moov/models/components/createterminalapplication.rb +1 -1
- data/lib/moov/models/components/createtransfersourceach.rb +2 -2
- data/lib/moov/models/components/createtransfersourcecard.rb +1 -1
- data/lib/moov/models/components/createwebhook.rb +1 -1
- data/lib/moov/models/components/debitholdperiod.rb +3 -1
- data/lib/moov/models/components/disbursementpaymentmethodtype.rb +3 -1
- data/lib/moov/models/components/dispute.rb +2 -2
- data/lib/moov/models/components/disputeevidenceresponse.rb +1 -1
- data/lib/moov/models/components/disputephase.rb +3 -1
- data/lib/moov/models/components/disputestatus.rb +3 -1
- data/lib/moov/models/components/document.rb +1 -1
- data/lib/moov/models/components/documenttype.rb +3 -1
- data/lib/moov/models/components/domesticpullfromcard.rb +3 -1
- data/lib/moov/models/components/domesticpushtocard.rb +3 -1
- data/lib/moov/models/components/estimatedactivity.rb +1 -1
- data/lib/moov/models/components/evidencetextresponse.rb +1 -1
- data/lib/moov/models/components/evidencetype.rb +3 -1
- data/lib/moov/models/components/evidenceuploadresponse.rb +1 -1
- data/lib/moov/models/components/facilitatorfee.rb +2 -2
- data/lib/moov/models/components/feecategory.rb +3 -1
- data/lib/moov/models/components/feemodel.rb +3 -1
- data/lib/moov/models/components/feeplan.rb +1 -1
- data/lib/moov/models/components/feeplanagreement.rb +12 -4
- data/lib/moov/models/components/feeplanagreement.rbi +4 -0
- data/lib/moov/models/components/feeplanagreementstatus.rb +3 -1
- data/lib/moov/models/components/filedetails.rb +2 -2
- data/lib/moov/models/components/filepurpose.rb +3 -1
- data/lib/moov/models/components/filestatus.rb +3 -1
- data/lib/moov/models/components/fulfillment.rb +2 -2
- data/lib/moov/models/components/fulfillmentdetails.rb +1 -1
- data/lib/moov/models/components/fulfillmentmethod.rb +3 -1
- data/lib/moov/models/components/fulfillmenttimeframe.rb +3 -1
- data/lib/moov/models/components/fullissuedcard.rb +4 -3
- data/lib/moov/models/components/geographicreach.rb +3 -1
- data/lib/moov/models/components/instantbankfailurecode.rb +3 -1
- data/lib/moov/models/components/instantbanknetwork.rb +3 -1
- data/lib/moov/models/components/instantbanktransactiondetails.rb +3 -3
- data/lib/moov/models/components/instantbanktransactionstatus.rb +3 -1
- data/lib/moov/models/components/issuedcard.rb +4 -3
- data/lib/moov/models/components/issuedcardauthorization.rb +2 -2
- data/lib/moov/models/components/issuedcardauthorizationevent.rb +2 -2
- data/lib/moov/models/components/issuedcardauthorizationeventresult.rb +3 -1
- data/lib/moov/models/components/issuedcardeventtype.rb +3 -1
- data/lib/moov/models/components/issuedcardstate.rb +5 -1
- data/lib/moov/models/components/issuingauthorizationstatus.rb +3 -1
- data/lib/moov/models/components/issuingcontrols.rb +1 -1
- data/lib/moov/models/components/jsonwebkey.rb +1 -1
- data/lib/moov/models/components/linkedapplepaypaymentmethod.rb +1 -1
- data/lib/moov/models/components/mode.rb +3 -1
- data/lib/moov/models/components/monthlyvolumerange.rb +3 -1
- data/lib/moov/models/components/moovfee.rb +1 -1
- data/lib/moov/models/components/occurrencesresponse.rb +2 -2
- data/lib/moov/models/components/occurrencestatus.rb +3 -1
- data/lib/moov/models/components/onboardingpartneraccount.rb +1 -1
- data/lib/moov/models/components/partnerpricingagreement.rb +15 -7
- data/lib/moov/models/components/partnerpricingagreement.rbi +4 -0
- data/lib/moov/models/components/patchbusiness.rb +2 -2
- data/lib/moov/models/components/patchwallet.rb +1 -1
- data/lib/moov/models/components/paymentlink.rb +4 -4
- data/lib/moov/models/components/paymentlinkdisplayoptions.rb +1 -1
- data/lib/moov/models/components/paymentlinkdisplayoptionsupdate.rb +1 -1
- data/lib/moov/models/components/paymentlinkpayoutdetails.rb +1 -1
- data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +1 -1
- data/lib/moov/models/components/paymentlinkstatus.rb +3 -1
- data/lib/moov/models/components/paymentlinktype.rb +3 -1
- data/lib/moov/models/components/paymentmethodsbankaccount.rb +3 -3
- data/lib/moov/models/components/paymentmethodscard.rb +4 -4
- data/lib/moov/models/components/paymentmethodswallet.rb +1 -1
- data/lib/moov/models/components/paymentmethodtype.rb +3 -1
- data/lib/moov/models/components/pendinglitigation.rb +3 -1
- data/lib/moov/models/components/primaryregulator.rb +3 -1
- data/lib/moov/models/components/refundcarddetails.rb +2 -2
- data/lib/moov/models/components/refundcardstatus.rb +3 -1
- data/lib/moov/models/components/refundpolicy.rb +3 -1
- data/lib/moov/models/components/refundstatus.rb +3 -1
- data/lib/moov/models/components/requestcard.rb +1 -1
- data/lib/moov/models/components/requirementerror.rb +2 -2
- data/lib/moov/models/components/requirementerrorcode.rb +3 -1
- data/lib/moov/models/components/requirementid.rb +10 -1
- data/lib/moov/models/components/returnpolicytype.rb +3 -1
- data/lib/moov/models/components/reversedwithcancellation.rb +1 -1
- data/lib/moov/models/components/rtpfailurecode.rb +3 -1
- data/lib/moov/models/components/rtprejectioncode.rb +3 -1
- data/lib/moov/models/components/rtptransactiondetails.rb +2 -2
- data/lib/moov/models/components/rtptransactionstatus.rb +3 -1
- data/lib/moov/models/components/schedulelistresponse.rb +1 -1
- data/lib/moov/models/components/scheduleresponse.rb +1 -1
- data/lib/moov/models/components/seccode.rb +3 -1
- data/lib/moov/models/components/statement.rb +6 -2
- data/lib/moov/models/components/statement.rbi +2 -0
- data/lib/moov/models/components/sweep.rb +1 -1
- data/lib/moov/models/components/sweepconfig.rb +3 -3
- data/lib/moov/models/components/sweepconfigpaymentmethod.rb +1 -1
- data/lib/moov/models/components/sweepconfigstatus.rb +3 -1
- data/lib/moov/models/components/sweepstatus.rb +3 -1
- data/lib/moov/models/components/sweepsubtotal.rb +1 -1
- data/lib/moov/models/components/terminalapplication.rb +2 -2
- data/lib/moov/models/components/terminalapplicationplatform.rb +3 -1
- data/lib/moov/models/components/terminalapplicationstatus.rb +3 -1
- data/lib/moov/models/components/terminalcard.rb +2 -2
- data/lib/moov/models/components/ticket.rb +1 -1
- data/lib/moov/models/components/ticketstatus.rb +3 -1
- data/lib/moov/models/components/transactionsource.rb +3 -1
- data/lib/moov/models/components/transfer.rb +6 -3
- data/lib/moov/models/components/transferdestination.rb +1 -1
- data/lib/moov/models/components/transferfailurereason.rb +3 -1
- data/lib/moov/models/components/transferparty.rb +3 -1
- data/lib/moov/models/components/transferpaymentmethodsbankaccount.rb +3 -3
- data/lib/moov/models/components/transferpaymentmethodscard.rb +4 -4
- data/lib/moov/models/components/transferpaymentmethodswallet.rb +1 -1
- data/lib/moov/models/components/transferpaymentmethodtype.rb +3 -1
- data/lib/moov/models/components/transfersource.rb +1 -1
- data/lib/moov/models/components/transferstatus.rb +3 -1
- data/lib/moov/models/components/transferterminalcard.rb +2 -2
- data/lib/moov/models/components/underwriting.rb +4 -4
- data/lib/moov/models/components/underwritingstatus.rb +3 -1
- data/lib/moov/models/components/updateevidence.rb +1 -1
- data/lib/moov/models/components/updateissuedcard.rb +2 -0
- data/lib/moov/models/components/updateissuedcardstate.rb +4 -0
- data/lib/moov/models/components/updatepaymentlink.rb +1 -1
- data/lib/moov/models/components/updatewebhook.rb +1 -1
- data/lib/moov/models/components/upsertunderwriting.rb +3 -3
- data/lib/moov/models/components/use.rb +3 -1
- data/lib/moov/models/components/verification.rb +3 -3
- data/lib/moov/models/components/verificationstatus.rb +3 -1
- data/lib/moov/models/components/verificationstatusdetail.rb +3 -1
- data/lib/moov/models/components/wallet.rb +2 -2
- data/lib/moov/models/components/walletstatus.rb +3 -1
- data/lib/moov/models/components/wallettransaction.rb +3 -3
- data/lib/moov/models/components/wallettransactionsourcetype.rb +3 -1
- data/lib/moov/models/components/wallettransactionstatus.rb +3 -1
- data/lib/moov/models/components/wallettransactiontype.rb +3 -1
- data/lib/moov/models/components/wallettype.rb +3 -1
- data/lib/moov/models/components/webhook.rb +1 -1
- data/lib/moov/models/components/webhookdatabankaccountcreated.rb +1 -1
- data/lib/moov/models/components/webhookdatabankaccountdeleted.rb +1 -1
- data/lib/moov/models/components/webhookdatabankaccountupdated.rb +2 -2
- data/lib/moov/models/components/webhookdatacancellationcreated.rb +1 -1
- data/lib/moov/models/components/webhookdatacancellationupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatacapabilityrequested.rb +1 -1
- data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -2
- data/lib/moov/models/components/webhookdatacardautoupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatadisputecreated.rb +2 -2
- data/lib/moov/models/components/webhookdatadisputeupdated.rb +2 -2
- data/lib/moov/models/components/webhookdatarefundupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatasweepupdated.rb +1 -1
- data/lib/moov/models/components/webhookdataterminalapplicationcreated.rb +1 -1
- data/lib/moov/models/components/webhookdataterminalapplicationupdated.rb +1 -1
- data/lib/moov/models/components/webhookdataticketupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatawallettransactionupdated.rb +1 -1
- data/lib/moov/models/components/webhookdatawalletupdated.rb +1 -1
- data/lib/moov/models/components/webhookevent.rb +1 -1
- data/lib/moov/models/components/webhookeventtype.rb +3 -1
- data/lib/moov/models/components/webhookstatus.rb +3 -1
- data/lib/moov/models/components.rb +3 -1
- data/lib/moov/models/errors/cardacquiringrefund_error.rb +1 -1
- data/lib/moov/models/errors/transfer_error.rb +6 -3
- data/lib/moov/models/operations/listaccounts_request.rb +1 -1
- data/lib/moov/models/operations/listconnectedaccountsforaccount_request.rb +1 -1
- data/lib/moov/models/operations/listdisputes_request.rb +1 -1
- data/lib/moov/models/operations/listfeeplanagreements_request.rb +1 -1
- data/lib/moov/models/operations/listfeerevenue_request.rb +1 -1
- data/lib/moov/models/operations/listissuedcardauthorizationevents_request.rb +1 -1
- data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +1 -1
- data/lib/moov/models/operations/listissuedcards_request.rb +1 -1
- data/lib/moov/models/operations/listissuedcardtransactions_request.rb +7 -3
- data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
- data/lib/moov/models/operations/listpartnerpricingagreements_request.rb +1 -1
- data/lib/moov/models/operations/listpaymentlinks_request.rb +1 -1
- data/lib/moov/models/operations/listproducts_request.rb +1 -1
- data/lib/moov/models/operations/listresidualfees_request.rb +1 -1
- data/lib/moov/models/operations/listresiduals_request.rb +1 -1
- data/lib/moov/models/operations/listschedules_request.rb +1 -1
- data/lib/moov/models/operations/liststatements_request.rb +1 -1
- data/lib/moov/models/operations/listsweeps_request.rb +1 -1
- data/lib/moov/models/operations/listtickets_request.rb +1 -1
- data/lib/moov/models/operations/listtransfers_request.rb +2 -2
- data/lib/moov/models/operations/listwallets_request.rb +1 -1
- data/lib/moov/models/operations/listwallettransactions_request.rb +1 -1
- data/lib/moov/models/operations/retrievefees_request.rb +1 -1
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/transfers.rb +11 -5
- data/lib/moov/utils/retries.rb +41 -2
- data/lib/moov/utils/utils.rb +6 -2
- metadata +6 -2
data/lib/moov/transfers.rb
CHANGED
|
@@ -1004,6 +1004,9 @@ module Moov
|
|
|
1004
1004
|
def create_cancellation(account_id:, transfer_id:, timeout_ms: nil, http_headers: nil)
|
|
1005
1005
|
# create_cancellation - Initiate a cancellation for a card, ACH, or queued transfer.
|
|
1006
1006
|
#
|
|
1007
|
+
# In v2026.10 and later, an auth-capture `card-payment` transfer can be canceled before any captures exist.
|
|
1008
|
+
# For these transfers, a successful cancellation reduces `capturableAmount` without changing `authorizedAmount`.
|
|
1009
|
+
# For these transfers, a partial cancellation leaves the remaining `capturableAmount` available for capture.
|
|
1007
1010
|
# To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
|
|
1008
1011
|
# to specify the `/accounts/{accountID}/transfers.write` scope.
|
|
1009
1012
|
request = Models::Operations::CreateCancellationRequest.new(
|
|
@@ -1108,7 +1111,7 @@ module Moov
|
|
|
1108
1111
|
else
|
|
1109
1112
|
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
1110
1113
|
end
|
|
1111
|
-
elsif Utils.match_status_code(http_response.status, ['400'])
|
|
1114
|
+
elsif Utils.match_status_code(http_response.status, ['400', '409', '422'])
|
|
1112
1115
|
if Utils.match_content_type(content_type, 'application/json')
|
|
1113
1116
|
http_response = @sdk_configuration.hooks.after_success(
|
|
1114
1117
|
hook_ctx: SDKHooks::AfterSuccessHookContext.new(
|
|
@@ -1141,7 +1144,7 @@ module Moov
|
|
|
1141
1144
|
sig { params(account_id: ::String, transfer_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListCancellationsResponse) }
|
|
1142
1145
|
def list_cancellations(account_id:, transfer_id:, timeout_ms: nil, http_headers: nil)
|
|
1143
1146
|
# list_cancellations - Get a list of cancellations for a transfer.
|
|
1144
|
-
#
|
|
1147
|
+
#
|
|
1145
1148
|
# To access this endpoint using a [token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
|
|
1146
1149
|
# to specify the `/accounts/{accountID}/transfers.read` scope.
|
|
1147
1150
|
request = Models::Operations::ListCancellationsRequest.new(
|
|
@@ -1246,7 +1249,7 @@ module Moov
|
|
|
1246
1249
|
else
|
|
1247
1250
|
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
1248
1251
|
end
|
|
1249
|
-
elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
|
|
1252
|
+
elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
|
|
1250
1253
|
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
1251
1254
|
elsif Utils.match_status_code(http_response.status, ['500', '504'])
|
|
1252
1255
|
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
@@ -1693,7 +1696,7 @@ module Moov
|
|
|
1693
1696
|
else
|
|
1694
1697
|
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
|
|
1695
1698
|
end
|
|
1696
|
-
elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
|
|
1699
|
+
elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
|
|
1697
1700
|
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
1698
1701
|
elsif Utils.match_status_code(http_response.status, ['500', '504'])
|
|
1699
1702
|
raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
|
|
@@ -1834,7 +1837,10 @@ module Moov
|
|
|
1834
1837
|
|
|
1835
1838
|
sig { params(x_idempotency_key: ::String, account_id: ::String, transfer_id: ::String, create_reversal: T.nilable(Models::Components::CreateReversal), timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateReversalResponse) }
|
|
1836
1839
|
def create_reversal(x_idempotency_key:, account_id:, transfer_id:, create_reversal: nil, timeout_ms: nil, http_headers: nil)
|
|
1837
|
-
# create_reversal - Reverses a card transfer by initiating a cancellation or refund depending on the transaction status.
|
|
1840
|
+
# create_reversal - Reverses a card transfer by initiating a cancellation or refund depending on the transaction status.
|
|
1841
|
+
# In v2026.10 and later, reversing an auth-capture `card-payment` transfer with no captures cancels the entire `capturableAmount`.
|
|
1842
|
+
# In those API versions, an auth-capture `card-payment` transfer with one final capture is canceled or refunded depending on its processing state.
|
|
1843
|
+
# Auth-capture `card-payment` transfers with a non-final capture or multiple captures are not supported in those API versions.
|
|
1838
1844
|
# Read our [reversals guide](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/)
|
|
1839
1845
|
# to learn more.
|
|
1840
1846
|
#
|
data/lib/moov/utils/retries.rb
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# frozen_string_literal: true
|
|
5
5
|
|
|
6
6
|
require 'faraday/retry'
|
|
7
|
+
require 'time'
|
|
7
8
|
require 'sorbet-runtime'
|
|
8
9
|
|
|
9
10
|
module Moov
|
|
@@ -87,12 +88,50 @@ module Moov
|
|
|
87
88
|
retry_options[:retry_if] = ->(_env, _exc) { Time.now < stop_time }
|
|
88
89
|
end
|
|
89
90
|
|
|
90
|
-
retry_options[:rate_limit_retry_header] = 'retry-after-ms'
|
|
91
|
-
retry_options[:header_parser_block] = ->(value) { value.to_f / 1000 }
|
|
92
91
|
end
|
|
93
92
|
|
|
94
93
|
retry_options
|
|
95
94
|
end
|
|
96
95
|
end
|
|
96
|
+
|
|
97
|
+
class RetryMiddleware < Faraday::Retry::Middleware
|
|
98
|
+
extend T::Sig
|
|
99
|
+
|
|
100
|
+
sig { params(retries: T.untyped, env: T.untyped).returns(T.untyped) }
|
|
101
|
+
def calculate_sleep_amount(retries, env)
|
|
102
|
+
retry_after = [calculate_retry_after(env), calculate_rate_limit_reset(env)].compact.max
|
|
103
|
+
retry_interval = calculate_retry_interval(retries)
|
|
104
|
+
return retry_interval if retry_after.nil?
|
|
105
|
+
|
|
106
|
+
# unlike the stock middleware, cap server delays at max_interval rather
|
|
107
|
+
# than abandoning the retry
|
|
108
|
+
[[retry_after, @options.max_interval].min, retry_interval].max
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
private
|
|
112
|
+
|
|
113
|
+
sig { params(env: T.untyped).returns(T.untyped) }
|
|
114
|
+
def calculate_retry_after(env)
|
|
115
|
+
response_headers = env[:response_headers]
|
|
116
|
+
return unless response_headers
|
|
117
|
+
|
|
118
|
+
ms_value = response_headers['retry-after-ms']
|
|
119
|
+
return ms_value.to_f / 1000 if ms_value&.match?(/\A\s*\d+\s*\z/)
|
|
120
|
+
|
|
121
|
+
value = response_headers['retry-after']
|
|
122
|
+
return if value.nil? || value.strip.empty?
|
|
123
|
+
return value.to_f if value.match?(/\A\s*\d+\s*\z/)
|
|
124
|
+
|
|
125
|
+
begin
|
|
126
|
+
Time.httpdate(value) - Time.now
|
|
127
|
+
rescue ArgumentError
|
|
128
|
+
begin
|
|
129
|
+
Time.iso8601(value) - Time.now
|
|
130
|
+
rescue ArgumentError
|
|
131
|
+
nil
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
97
136
|
end
|
|
98
137
|
end
|
data/lib/moov/utils/utils.rb
CHANGED
|
@@ -81,11 +81,15 @@ module Moov
|
|
|
81
81
|
|
|
82
82
|
sig { params(content_type: String, pattern: String).returns(T::Boolean) }
|
|
83
83
|
def self.match_content_type(content_type, pattern)
|
|
84
|
-
return true if
|
|
84
|
+
return true if ['*', '*/*'].include?(pattern)
|
|
85
|
+
|
|
86
|
+
# Media types are case-insensitive (RFC 9110 section 8.3.1).
|
|
87
|
+
pattern = pattern.strip.downcase
|
|
88
|
+
return true if content_type.strip.downcase == pattern
|
|
85
89
|
|
|
86
90
|
pieces = content_type.split(';')
|
|
87
91
|
pieces.each do |piece|
|
|
88
|
-
return true if pattern == piece.strip
|
|
92
|
+
return true if pattern == piece.strip.downcase
|
|
89
93
|
end
|
|
90
94
|
|
|
91
95
|
false
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: moov_ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 26.2.
|
|
4
|
+
version: 26.2.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Speakeasy
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-09-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: base64
|
|
@@ -424,12 +424,16 @@ files:
|
|
|
424
424
|
- lib/moov/models/components/billablefee.rbi
|
|
425
425
|
- lib/moov/models/components/billingaddress.rb
|
|
426
426
|
- lib/moov/models/components/billingaddress.rbi
|
|
427
|
+
- lib/moov/models/components/billingadjustment.rb
|
|
428
|
+
- lib/moov/models/components/billingadjustment.rbi
|
|
427
429
|
- lib/moov/models/components/billingcountandamount.rb
|
|
428
430
|
- lib/moov/models/components/billingcountandamount.rbi
|
|
429
431
|
- lib/moov/models/components/billinginterchangeprogramfee.rb
|
|
430
432
|
- lib/moov/models/components/billinginterchangeprogramfee.rbi
|
|
431
433
|
- lib/moov/models/components/billingsummary.rb
|
|
432
434
|
- lib/moov/models/components/billingsummary.rbi
|
|
435
|
+
- lib/moov/models/components/billingsummary_adjustmentfees.rb
|
|
436
|
+
- lib/moov/models/components/billingsummary_adjustmentfees.rbi
|
|
433
437
|
- lib/moov/models/components/billingsummary_platformfees.rb
|
|
434
438
|
- lib/moov/models/components/billingsummary_platformfees.rbi
|
|
435
439
|
- lib/moov/models/components/billingsummary_volumeamount.rb
|