moov_ruby 26.4.0.pre.dev.16 → 26.4.0.pre.dev.17

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/apple_pay.rb +5 -5
  3. data/lib/moov/card_issuing.rb +22 -13
  4. data/lib/moov/models/components/batchgettransfersrequest.rb +32 -0
  5. data/lib/moov/models/components/batchgettransfersrequest.rbi +13 -0
  6. data/lib/moov/models/components/cardpayouttype.rb +18 -0
  7. data/lib/moov/models/components/cardpayouttype.rbi +11 -0
  8. data/lib/moov/models/components/createtransferdestinationcard.rb +6 -2
  9. data/lib/moov/models/components/createtransferdestinationcard.rbi +2 -0
  10. data/lib/moov/models/components/paymentmethodtype.rb +2 -0
  11. data/lib/moov/models/components/pullfromapplepaypaymentmethod.rb +40 -0
  12. data/lib/moov/models/components/pullfromapplepaypaymentmethod.rbi +17 -0
  13. data/lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rb +18 -0
  14. data/lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rbi +11 -0
  15. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rb +40 -0
  16. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rbi +17 -0
  17. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  18. data/lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  19. data/lib/moov/models/components/pushtoapplepaypaymentmethod.rb +40 -0
  20. data/lib/moov/models/components/pushtoapplepaypaymentmethod.rbi +17 -0
  21. data/lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rb +18 -0
  22. data/lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rbi +11 -0
  23. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rb +40 -0
  24. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rbi +17 -0
  25. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rb +18 -0
  26. data/lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rbi +11 -0
  27. data/lib/moov/models/components/rtpdetails.rb +58 -0
  28. data/lib/moov/models/components/rtpdetails.rbi +25 -0
  29. data/lib/moov/models/components/rtpfailurecode.rb +27 -0
  30. data/lib/moov/models/components/rtpfailurecode.rbi +11 -0
  31. data/lib/moov/models/components/rtptransactionstatus.rb +21 -0
  32. data/lib/moov/models/components/rtptransactionstatus.rbi +11 -0
  33. data/lib/moov/models/components/transferdestination.rb +6 -2
  34. data/lib/moov/models/components/transferdestination.rbi +2 -0
  35. data/lib/moov/models/components/transferoptions.rb +3 -3
  36. data/lib/moov/models/components/transferpaymentmethodtype.rb +2 -0
  37. data/lib/moov/models/components/webhookbillingstatementcreated.rb +6 -2
  38. data/lib/moov/models/components/webhookbillingstatementcreated.rbi +2 -0
  39. data/lib/moov/models/components.rb +13 -0
  40. data/lib/moov/models/operations/batchgettransfers_request.rb +36 -0
  41. data/lib/moov/models/operations/batchgettransfers_request.rbi +15 -0
  42. data/lib/moov/models/operations/batchgettransfers_response.rb +48 -0
  43. data/lib/moov/models/operations/batchgettransfers_response.rbi +21 -0
  44. data/lib/moov/models/operations/getpaymentmethod_response.rb +2 -2
  45. data/lib/moov/models/operations/linkapplepaytoken_response.rb +5 -5
  46. data/lib/moov/models/operations/linkapplepaytoken_response.rbi +2 -2
  47. data/lib/moov/models/operations/listpaymentmethods_response.rb +2 -2
  48. data/lib/moov/models/operations/updateissuedcard_response.rb +6 -2
  49. data/lib/moov/models/operations/updateissuedcard_response.rbi +2 -0
  50. data/lib/moov/models/operations.rb +2 -0
  51. data/lib/moov/payment_methods.rb +2 -2
  52. data/lib/moov/sdkconfiguration.rb +3 -3
  53. data/lib/moov/transfers.rb +139 -0
  54. data/lib/moov/utils/security.rb +22 -11
  55. metadata +32 -2
@@ -582,6 +582,145 @@ module Moov
582
582
  end
583
583
 
584
584
 
585
+ sig { params(batch_get_transfers_request: Models::Components::BatchGetTransfersRequest, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::BatchGetTransfersResponse) }
586
+ def batch_get_transfers(batch_get_transfers_request:, account_id:, timeout_ms: nil, http_headers: nil)
587
+ # batch_get_transfers - Retrieve transfer details for multiple transfers in one request. The response is a map from each
588
+ # requested transfer ID to its full transfer details when available; IDs that are not found or not
589
+ # accessible under this account are omitted from the map.
590
+ #
591
+ # Read our [transfers overview guide](https://docs.moov.io/guides/money-movement/overview/) to learn more.
592
+ #
593
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
594
+ # you'll need to specify the `/accounts/{accountID}/transfers.read` scope.
595
+ request = Models::Operations::BatchGetTransfersRequest.new(
596
+ account_id: account_id,
597
+ batch_get_transfers_request: batch_get_transfers_request
598
+ )
599
+ url, params = @sdk_configuration.get_server_details
600
+ base_url = Utils.template_url(url, params)
601
+ url = Utils.generate_url(
602
+ Models::Operations::BatchGetTransfersRequest,
603
+ base_url,
604
+ '/accounts/{accountID}/transfers/.fetch',
605
+ request
606
+ )
607
+ headers = {}
608
+ headers = T.cast(headers, T::Hash[String, String])
609
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :batch_get_transfers_request, :json)
610
+ headers['content-type'] = req_content_type
611
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
612
+
613
+ if form && !form.empty?
614
+ body = Utils.encode_form(form)
615
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
616
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
617
+ else
618
+ body = data
619
+ end
620
+ headers['Accept'] = 'application/json'
621
+ headers['user-agent'] = @sdk_configuration.user_agent
622
+
623
+ security = @sdk_configuration.security_source&.call
624
+
625
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
626
+ timeout ||= @sdk_configuration.timeout
627
+
628
+
629
+ connection = @sdk_configuration.client
630
+
631
+ hook_ctx = SDKHooks::HookContext.new(
632
+ config: @sdk_configuration,
633
+ base_url: base_url,
634
+ oauth2_scopes: nil,
635
+ operation_id: 'batchGetTransfers',
636
+ security_source: @sdk_configuration.security_source
637
+ )
638
+
639
+ error = T.let(nil, T.nilable(StandardError))
640
+ http_response = T.let(nil, T.nilable(Faraday::Response))
641
+
642
+
643
+ begin
644
+ http_response = T.must(connection).post(url) do |req|
645
+ req.body = body
646
+ req.headers.merge!(headers)
647
+ req.options.timeout = timeout unless timeout.nil?
648
+ Utils.configure_request_security(req, security)
649
+ http_headers&.each do |key, value|
650
+ req.headers[key.to_s] = value
651
+ end
652
+
653
+ @sdk_configuration.hooks.before_request(
654
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
655
+ hook_ctx: hook_ctx
656
+ ),
657
+ request: req
658
+ )
659
+ end
660
+ rescue StandardError => e
661
+ error = e
662
+ ensure
663
+ if http_response.nil? || Utils.error_status?(http_response.status)
664
+ http_response = @sdk_configuration.hooks.after_error(
665
+ error: error,
666
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
667
+ hook_ctx: hook_ctx
668
+ ),
669
+ response: http_response
670
+ )
671
+ else
672
+ http_response = @sdk_configuration.hooks.after_success(
673
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
674
+ hook_ctx: hook_ctx
675
+ ),
676
+ response: http_response
677
+ )
678
+ end
679
+
680
+ if http_response.nil?
681
+ raise error if !error.nil?
682
+ raise 'no response'
683
+ end
684
+ end
685
+
686
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
687
+ if Utils.match_status_code(http_response.status, ['200'])
688
+ if Utils.match_content_type(content_type, 'application/json')
689
+ http_response = @sdk_configuration.hooks.after_success(
690
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
691
+ hook_ctx: hook_ctx
692
+ ),
693
+ response: http_response
694
+ )
695
+ response_data = http_response.env.response_body
696
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Hash.new(Symbol, Models::Components::Transfer))
697
+ response = Models::Operations::BatchGetTransfersResponse.new(
698
+ status_code: http_response.status,
699
+ content_type: content_type,
700
+ raw_response: http_response,
701
+ headers: http_response.headers,
702
+ object: T.unsafe(obj)
703
+ )
704
+
705
+ return response
706
+ else
707
+ 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'
708
+ end
709
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
710
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
711
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
712
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
713
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
714
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
715
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
716
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
717
+ else
718
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
719
+
720
+ end
721
+ end
722
+
723
+
585
724
  sig { params(transfer_id: ::String, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetTransferResponse) }
586
725
  def get(transfer_id:, account_id:, timeout_ms: nil, http_headers: nil)
587
726
  # get - Retrieve full transfer details for an individual transfer of a particular Moov account.
@@ -12,26 +12,37 @@ module Moov
12
12
  module Utils
13
13
  extend T::Sig
14
14
 
15
- sig { params(req: Faraday::Request, security: Object).void }
16
- def self.configure_request_security(req, security)
15
+ sig { params(req: Faraday::Request, security: Object, allowed_fields: T.nilable(T::Array[Symbol])).void }
16
+ def self.configure_request_security(req, security, allowed_fields = nil)
17
17
  return if security.nil?
18
- T.unsafe(security).fields.each do |sec_field|
18
+
19
+ sec_fields = if allowed_fields.nil?
20
+ T.unsafe(security).fields
21
+ else
22
+ allowed_fields.filter_map { |name| T.unsafe(security).fields.find { |f| f.name == name } }
23
+ end
24
+
25
+ sec_fields.each do |sec_field|
19
26
  value = security.send(sec_field.name)
20
27
  next if value.nil?
21
28
 
22
29
  metadata = sec_field.metadata[:security]
23
30
  next if metadata.nil?
24
31
 
25
- _parse_security_option(req, value) if metadata[:option]
32
+ if metadata[:option]
33
+ _parse_security_option(req, value)
34
+ break unless metadata[:composite]
35
+ end
36
+
37
+ next unless metadata[:scheme]
26
38
 
27
- if metadata[:scheme]
28
- # Special case for basic auth which could be a flattened struct
29
- if metadata[:sub_type] == 'basic' && !value.respond_to?(:fields)
30
- _parse_security_scheme(req, metadata, security)
31
- else
32
- _parse_security_scheme(req, metadata, value)
33
- end
39
+ # Special case for basic auth which could be a flattened struct
40
+ if metadata[:sub_type] == 'basic' && !value.respond_to?(:fields)
41
+ _parse_security_scheme(req, metadata, security)
42
+ else
43
+ _parse_security_scheme(req, metadata, value)
34
44
  end
45
+ break unless metadata[:composite]
35
46
  end
36
47
  end
37
48
 
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.4.0.pre.dev.16
4
+ version: 26.4.0.pre.dev.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-24 00:00:00.000000000 Z
11
+ date: 2026-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -423,6 +423,8 @@ files:
423
423
  - lib/moov/models/components/bankaccountwaitfor.rbi
424
424
  - lib/moov/models/components/basicpaymentmethod.rb
425
425
  - lib/moov/models/components/basicpaymentmethod.rbi
426
+ - lib/moov/models/components/batchgettransfersrequest.rb
427
+ - lib/moov/models/components/batchgettransfersrequest.rbi
426
428
  - lib/moov/models/components/billablefee.rb
427
429
  - lib/moov/models/components/billablefee.rbi
428
430
  - lib/moov/models/components/billingcountandamount.rb
@@ -525,6 +527,8 @@ files:
525
527
  - lib/moov/models/components/cardpaymenttransferpaymentmethod.rbi
526
528
  - lib/moov/models/components/cardpaymenttransferpaymentmethod_paymentmethodtype.rb
527
529
  - lib/moov/models/components/cardpaymenttransferpaymentmethod_paymentmethodtype.rbi
530
+ - lib/moov/models/components/cardpayouttype.rb
531
+ - lib/moov/models/components/cardpayouttype.rbi
528
532
  - lib/moov/models/components/cardpresentpaymentpaymentmethod.rb
529
533
  - lib/moov/models/components/cardpresentpaymentpaymentmethod.rbi
530
534
  - lib/moov/models/components/cardpresentpaymentpaymentmethod_paymentmethodtype.rb
@@ -1141,6 +1145,14 @@ files:
1141
1145
  - lib/moov/models/components/productrequest.rbi
1142
1146
  - lib/moov/models/components/profile.rb
1143
1147
  - lib/moov/models/components/profile.rbi
1148
+ - lib/moov/models/components/pullfromapplepaypaymentmethod.rb
1149
+ - lib/moov/models/components/pullfromapplepaypaymentmethod.rbi
1150
+ - lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rb
1151
+ - lib/moov/models/components/pullfromapplepaypaymentmethod_paymentmethodtype.rbi
1152
+ - lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rb
1153
+ - lib/moov/models/components/pullfromapplepaytransferpaymentmethod.rbi
1154
+ - lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rb
1155
+ - lib/moov/models/components/pullfromapplepaytransferpaymentmethod_paymentmethodtype.rbi
1144
1156
  - lib/moov/models/components/pullfromcardpaymentmethod.rb
1145
1157
  - lib/moov/models/components/pullfromcardpaymentmethod.rbi
1146
1158
  - lib/moov/models/components/pullfromcardpaymentmethod_paymentmethodtype.rb
@@ -1149,6 +1161,14 @@ files:
1149
1161
  - lib/moov/models/components/pullfromcardtransferpaymentmethod.rbi
1150
1162
  - lib/moov/models/components/pullfromcardtransferpaymentmethod_paymentmethodtype.rb
1151
1163
  - lib/moov/models/components/pullfromcardtransferpaymentmethod_paymentmethodtype.rbi
1164
+ - lib/moov/models/components/pushtoapplepaypaymentmethod.rb
1165
+ - lib/moov/models/components/pushtoapplepaypaymentmethod.rbi
1166
+ - lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rb
1167
+ - lib/moov/models/components/pushtoapplepaypaymentmethod_paymentmethodtype.rbi
1168
+ - lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rb
1169
+ - lib/moov/models/components/pushtoapplepaytransferpaymentmethod.rbi
1170
+ - lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rb
1171
+ - lib/moov/models/components/pushtoapplepaytransferpaymentmethod_paymentmethodtype.rbi
1152
1172
  - lib/moov/models/components/pushtocardpaymentmethod.rb
1153
1173
  - lib/moov/models/components/pushtocardpaymentmethod.rbi
1154
1174
  - lib/moov/models/components/pushtocardpaymentmethod_paymentmethodtype.rb
@@ -1221,12 +1241,18 @@ files:
1221
1241
  - lib/moov/models/components/rtpcredittransferpaymentmethod.rbi
1222
1242
  - lib/moov/models/components/rtpcredittransferpaymentmethod_paymentmethodtype.rb
1223
1243
  - lib/moov/models/components/rtpcredittransferpaymentmethod_paymentmethodtype.rbi
1244
+ - lib/moov/models/components/rtpdetails.rb
1245
+ - lib/moov/models/components/rtpdetails.rbi
1246
+ - lib/moov/models/components/rtpfailurecode.rb
1247
+ - lib/moov/models/components/rtpfailurecode.rbi
1224
1248
  - lib/moov/models/components/rtpinstitution.rb
1225
1249
  - lib/moov/models/components/rtpinstitution.rbi
1226
1250
  - lib/moov/models/components/rtprejectioncode.rb
1227
1251
  - lib/moov/models/components/rtprejectioncode.rbi
1228
1252
  - lib/moov/models/components/rtpservices.rb
1229
1253
  - lib/moov/models/components/rtpservices.rbi
1254
+ - lib/moov/models/components/rtptransactionstatus.rb
1255
+ - lib/moov/models/components/rtptransactionstatus.rbi
1230
1256
  - lib/moov/models/components/runtransfer.rb
1231
1257
  - lib/moov/models/components/runtransfer.rbi
1232
1258
  - lib/moov/models/components/scheduledtransferimagemetadata.rb
@@ -1677,6 +1703,10 @@ files:
1677
1703
  - lib/moov/models/operations/assignaccountcountries_request.rbi
1678
1704
  - lib/moov/models/operations/assignaccountcountries_response.rb
1679
1705
  - lib/moov/models/operations/assignaccountcountries_response.rbi
1706
+ - lib/moov/models/operations/batchgettransfers_request.rb
1707
+ - lib/moov/models/operations/batchgettransfers_request.rbi
1708
+ - lib/moov/models/operations/batchgettransfers_response.rb
1709
+ - lib/moov/models/operations/batchgettransfers_response.rbi
1680
1710
  - lib/moov/models/operations/cancelschedule_request.rb
1681
1711
  - lib/moov/models/operations/cancelschedule_request.rbi
1682
1712
  - lib/moov/models/operations/cancelschedule_response.rb