moov_ruby 26.4.0 → 26.4.2

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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/client.rb +2 -1
  3. data/lib/moov/google_pay.rb +3 -1
  4. data/lib/moov/models/components/cardfundingsource.rb +21 -0
  5. data/lib/moov/models/components/cardfundingsource.rbi +11 -0
  6. data/lib/moov/models/components/cardnetwork.rb +24 -0
  7. data/lib/moov/models/components/cardnetwork.rbi +11 -0
  8. data/lib/moov/models/components/createdtransfer.rb +7 -3
  9. data/lib/moov/models/components/createdtransfer.rbi +2 -0
  10. data/lib/moov/models/components/createpaymentlink.rb +8 -3
  11. data/lib/moov/models/components/createtippresets.rb +42 -0
  12. data/lib/moov/models/components/createtippresets.rbi +17 -0
  13. data/lib/moov/models/components/createtransfer.rb +7 -3
  14. data/lib/moov/models/components/createtransfer.rbi +2 -0
  15. data/lib/moov/models/components/createtransferamountdetails.rb +32 -0
  16. data/lib/moov/models/components/createtransferamountdetails.rbi +13 -0
  17. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rb +32 -0
  18. data/lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi +13 -0
  19. data/lib/moov/models/components/createtransferconfig.rb +32 -0
  20. data/lib/moov/models/components/createtransferconfig.rbi +13 -0
  21. data/lib/moov/models/components/fileuploadmetadata.rb +36 -0
  22. data/lib/moov/models/components/fileuploadmetadata.rbi +15 -0
  23. data/lib/moov/models/components/fileuploadrequestmultipart.rb +4 -6
  24. data/lib/moov/models/components/googlepayassurancedetails.rb +36 -0
  25. data/lib/moov/models/components/googlepayassurancedetails.rbi +15 -0
  26. data/lib/moov/models/components/googlepaybillingaddress.rb +71 -0
  27. data/lib/moov/models/components/googlepaybillingaddress.rbi +31 -0
  28. data/lib/moov/models/components/googlepaycardinfo.rb +52 -0
  29. data/lib/moov/models/components/googlepaycardinfo.rbi +21 -0
  30. data/lib/moov/models/components/googlepaypaymentmethoddata.rb +48 -0
  31. data/lib/moov/models/components/googlepaypaymentmethoddata.rbi +19 -0
  32. data/lib/moov/models/components/{linkedgooglepaypaymentmethod_paymentmethodtype.rb → googlepaypaymentmethoddata_type.rb} +3 -3
  33. data/lib/moov/models/components/googlepaypaymentmethoddata_type.rbi +11 -0
  34. data/lib/moov/models/components/googlepaytokenizationdata.rb +38 -0
  35. data/lib/moov/models/components/googlepaytokenizationdata.rbi +15 -0
  36. data/lib/moov/models/components/googlepaytokenizationdata_type.rb +18 -0
  37. data/lib/moov/models/components/googlepaytokenizationdata_type.rbi +11 -0
  38. data/lib/moov/models/components/linkedgooglepaypaymentmethod.rb +3 -3
  39. data/lib/moov/models/components/linkgooglepay.rb +17 -12
  40. data/lib/moov/models/components/linkgooglepay.rbi +4 -2
  41. data/lib/moov/models/components/paymentlink.rb +7 -2
  42. data/lib/moov/models/components/paymentlinkcustomeroptions.rb +6 -2
  43. data/lib/moov/models/components/paymentlinkcustomeroptions.rbi +2 -0
  44. data/lib/moov/models/components/puttippresets.rb +42 -0
  45. data/lib/moov/models/components/puttippresets.rbi +17 -0
  46. data/lib/moov/models/components/puttransferconfig.rb +32 -0
  47. data/lib/moov/models/components/puttransferconfig.rbi +13 -0
  48. data/lib/moov/models/components/tipcalculationbasis.rb +21 -0
  49. data/lib/moov/models/components/tipcalculationbasis.rbi +11 -0
  50. data/lib/moov/models/components/tippresets.rb +42 -0
  51. data/lib/moov/models/components/tippresets.rbi +17 -0
  52. data/lib/moov/models/components/transfer.rb +7 -3
  53. data/lib/moov/models/components/transfer.rbi +2 -0
  54. data/lib/moov/models/components/transferamountdetails.rb +32 -0
  55. data/lib/moov/models/components/transferamountdetails.rbi +13 -0
  56. data/lib/moov/models/components/transferconfig.rb +32 -0
  57. data/lib/moov/models/components/transferconfig.rbi +13 -0
  58. data/lib/moov/models/components/transferdestination.rb +6 -2
  59. data/lib/moov/models/components/transferdestination.rbi +2 -0
  60. data/lib/moov/models/components/transfersource.rb +6 -2
  61. data/lib/moov/models/components/transfersource.rbi +2 -0
  62. data/lib/moov/models/components/webhookdatabankaccountcreated.rb +6 -2
  63. data/lib/moov/models/components/webhookdatabankaccountcreated.rbi +2 -0
  64. data/lib/moov/models/components.rb +20 -3
  65. data/lib/moov/models/errors/linkgooglepayerror.rb +10 -6
  66. data/lib/moov/models/errors/linkgooglepayerror.rbi +4 -2
  67. data/lib/moov/models/errors/transfer_error.rb +7 -3
  68. data/lib/moov/models/errors/transfer_error.rbi +2 -0
  69. data/lib/moov/models/errors/transferconfigvalidationerror.rb +44 -0
  70. data/lib/moov/models/errors/transferconfigvalidationerror.rbi +19 -0
  71. data/lib/moov/models/errors/transfervalidationerror.rb +6 -2
  72. data/lib/moov/models/errors/transfervalidationerror.rbi +2 -0
  73. data/lib/moov/models/errors.rb +1 -0
  74. data/lib/moov/models/operations/createtransferconfig_request.rb +36 -0
  75. data/lib/moov/models/operations/createtransferconfig_request.rbi +15 -0
  76. data/lib/moov/models/operations/createtransferconfig_response.rb +48 -0
  77. data/lib/moov/models/operations/createtransferconfig_response.rbi +21 -0
  78. data/lib/moov/models/operations/gettransferconfig_request.rb +32 -0
  79. data/lib/moov/models/operations/gettransferconfig_request.rbi +13 -0
  80. data/lib/moov/models/operations/gettransferconfig_response.rb +48 -0
  81. data/lib/moov/models/operations/gettransferconfig_response.rbi +21 -0
  82. data/lib/moov/models/operations/updatetransferconfig_request.rb +36 -0
  83. data/lib/moov/models/operations/updatetransferconfig_request.rbi +15 -0
  84. data/lib/moov/models/operations/updatetransferconfig_response.rb +48 -0
  85. data/lib/moov/models/operations/updatetransferconfig_response.rbi +21 -0
  86. data/lib/moov/models/operations.rb +6 -0
  87. data/lib/moov/sdkconfiguration.rb +3 -3
  88. data/lib/moov/transfer_config.rb +486 -0
  89. data/lib/moov_ruby.rb +1 -0
  90. metadata +57 -8
  91. data/lib/moov/models/components/googlepayintermediatesigningkey.rb +0 -36
  92. data/lib/moov/models/components/googlepayintermediatesigningkey.rbi +0 -15
  93. data/lib/moov/models/components/googlepaytoken.rb +0 -47
  94. data/lib/moov/models/components/googlepaytoken.rbi +0 -19
  95. data/lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rbi +0 -11
@@ -0,0 +1,486 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'faraday/retry'
9
+ require 'sorbet-runtime'
10
+ require_relative 'sdk_hooks/hooks'
11
+ require_relative 'utils/retries'
12
+
13
+ module Moov
14
+ extend T::Sig
15
+ class TransferConfig
16
+ extend T::Sig
17
+
18
+
19
+
20
+ sig { params(sdk_config: SDKConfiguration).void }
21
+ def initialize(sdk_config)
22
+ @sdk_configuration = sdk_config
23
+
24
+ end
25
+
26
+ sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
27
+ def get_url(base_url:, url_variables: nil)
28
+ sd_base_url, sd_options = @sdk_configuration.get_server_details
29
+
30
+ if base_url.nil?
31
+ base_url = sd_base_url
32
+ end
33
+
34
+ if url_variables.nil?
35
+ url_variables = sd_options
36
+ end
37
+
38
+ return Utils.template_url base_url, url_variables
39
+ end
40
+
41
+
42
+
43
+
44
+ sig { params(create_transfer_config: Models::Components::CreateTransferConfig, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::CreateTransferConfigResponse) }
45
+ def create(create_transfer_config:, account_id:, timeout_ms: nil, http_headers: nil)
46
+ # create - Create a transfer config for an account.
47
+ request = Models::Operations::CreateTransferConfigRequest.new(
48
+ account_id: account_id,
49
+ create_transfer_config: create_transfer_config
50
+ )
51
+ url, params = @sdk_configuration.get_server_details
52
+ base_url = Utils.template_url(url, params)
53
+ url = Utils.generate_url(
54
+ Models::Operations::CreateTransferConfigRequest,
55
+ base_url,
56
+ '/accounts/{accountID}/transfer-config',
57
+ request
58
+ )
59
+ headers = {}
60
+ headers = T.cast(headers, T::Hash[String, String])
61
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :create_transfer_config, :json)
62
+ headers['content-type'] = req_content_type
63
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
64
+
65
+ if form && !form.empty?
66
+ body = Utils.encode_form(form)
67
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
68
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
69
+ else
70
+ body = data
71
+ end
72
+ headers['Accept'] = 'application/json'
73
+ headers['user-agent'] = @sdk_configuration.user_agent
74
+
75
+ security = @sdk_configuration.security_source&.call
76
+
77
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
78
+ timeout ||= @sdk_configuration.timeout
79
+
80
+
81
+ connection = @sdk_configuration.client
82
+
83
+ hook_ctx = SDKHooks::HookContext.new(
84
+ config: @sdk_configuration,
85
+ base_url: base_url,
86
+ oauth2_scopes: nil,
87
+ operation_id: 'createTransferConfig',
88
+ security_source: @sdk_configuration.security_source
89
+ )
90
+
91
+ error = T.let(nil, T.nilable(StandardError))
92
+ http_response = T.let(nil, T.nilable(Faraday::Response))
93
+
94
+
95
+ begin
96
+ http_response = T.must(connection).post(url) do |req|
97
+ req.body = body
98
+ req.headers.merge!(headers)
99
+ req.options.timeout = timeout unless timeout.nil?
100
+ Utils.configure_request_security(req, security)
101
+ http_headers&.each do |key, value|
102
+ req.headers[key.to_s] = value
103
+ end
104
+
105
+ @sdk_configuration.hooks.before_request(
106
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
107
+ hook_ctx: hook_ctx
108
+ ),
109
+ request: req
110
+ )
111
+ end
112
+ rescue StandardError => e
113
+ error = e
114
+ ensure
115
+ if http_response.nil? || Utils.error_status?(http_response.status)
116
+ http_response = @sdk_configuration.hooks.after_error(
117
+ error: error,
118
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
119
+ hook_ctx: hook_ctx
120
+ ),
121
+ response: http_response
122
+ )
123
+ else
124
+ http_response = @sdk_configuration.hooks.after_success(
125
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
126
+ hook_ctx: hook_ctx
127
+ ),
128
+ response: http_response
129
+ )
130
+ end
131
+
132
+ if http_response.nil?
133
+ raise error if !error.nil?
134
+ raise 'no response'
135
+ end
136
+ end
137
+
138
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
139
+ if Utils.match_status_code(http_response.status, ['201'])
140
+ if Utils.match_content_type(content_type, 'application/json')
141
+ http_response = @sdk_configuration.hooks.after_success(
142
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
143
+ hook_ctx: hook_ctx
144
+ ),
145
+ response: http_response
146
+ )
147
+ response_data = http_response.env.response_body
148
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::TransferConfig)
149
+ response = Models::Operations::CreateTransferConfigResponse.new(
150
+ status_code: http_response.status,
151
+ content_type: content_type,
152
+ raw_response: http_response,
153
+ headers: http_response.headers,
154
+ transfer_config: T.unsafe(obj)
155
+ )
156
+
157
+ return response
158
+ else
159
+ 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'
160
+ end
161
+ elsif Utils.match_status_code(http_response.status, ['400'])
162
+ if Utils.match_content_type(content_type, 'application/json')
163
+ http_response = @sdk_configuration.hooks.after_success(
164
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
165
+ hook_ctx: hook_ctx
166
+ ),
167
+ response: http_response
168
+ )
169
+ response_data = http_response.env.response_body
170
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
171
+ obj.raw_response = http_response
172
+ raise obj
173
+ else
174
+ 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'
175
+ end
176
+ elsif Utils.match_status_code(http_response.status, ['422'])
177
+ if Utils.match_content_type(content_type, 'application/json')
178
+ http_response = @sdk_configuration.hooks.after_success(
179
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
180
+ hook_ctx: hook_ctx
181
+ ),
182
+ response: http_response
183
+ )
184
+ response_data = http_response.env.response_body
185
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TransferConfigValidationError)
186
+ obj.raw_response = http_response
187
+ raise obj
188
+ else
189
+ 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'
190
+ end
191
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
192
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
193
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
194
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
195
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
196
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
197
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
198
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
199
+ else
200
+ 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'
201
+
202
+ end
203
+ end
204
+
205
+
206
+ sig { params(account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::GetTransferConfigResponse) }
207
+ def get(account_id:, timeout_ms: nil, http_headers: nil)
208
+ # get - Get the transfer config for an account.
209
+ request = Models::Operations::GetTransferConfigRequest.new(
210
+ account_id: account_id
211
+ )
212
+ url, params = @sdk_configuration.get_server_details
213
+ base_url = Utils.template_url(url, params)
214
+ url = Utils.generate_url(
215
+ Models::Operations::GetTransferConfigRequest,
216
+ base_url,
217
+ '/accounts/{accountID}/transfer-config',
218
+ request
219
+ )
220
+ headers = {}
221
+ headers = T.cast(headers, T::Hash[String, String])
222
+ headers['Accept'] = 'application/json'
223
+ headers['user-agent'] = @sdk_configuration.user_agent
224
+
225
+ security = @sdk_configuration.security_source&.call
226
+
227
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
228
+ timeout ||= @sdk_configuration.timeout
229
+
230
+
231
+ connection = @sdk_configuration.client
232
+
233
+ hook_ctx = SDKHooks::HookContext.new(
234
+ config: @sdk_configuration,
235
+ base_url: base_url,
236
+ oauth2_scopes: nil,
237
+ operation_id: 'getTransferConfig',
238
+ security_source: @sdk_configuration.security_source
239
+ )
240
+
241
+ error = T.let(nil, T.nilable(StandardError))
242
+ http_response = T.let(nil, T.nilable(Faraday::Response))
243
+
244
+
245
+ begin
246
+ http_response = T.must(connection).get(url) do |req|
247
+ req.headers.merge!(headers)
248
+ req.options.timeout = timeout unless timeout.nil?
249
+ Utils.configure_request_security(req, security)
250
+ http_headers&.each do |key, value|
251
+ req.headers[key.to_s] = value
252
+ end
253
+
254
+ @sdk_configuration.hooks.before_request(
255
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
256
+ hook_ctx: hook_ctx
257
+ ),
258
+ request: req
259
+ )
260
+ end
261
+ rescue StandardError => e
262
+ error = e
263
+ ensure
264
+ if http_response.nil? || Utils.error_status?(http_response.status)
265
+ http_response = @sdk_configuration.hooks.after_error(
266
+ error: error,
267
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
268
+ hook_ctx: hook_ctx
269
+ ),
270
+ response: http_response
271
+ )
272
+ else
273
+ http_response = @sdk_configuration.hooks.after_success(
274
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
275
+ hook_ctx: hook_ctx
276
+ ),
277
+ response: http_response
278
+ )
279
+ end
280
+
281
+ if http_response.nil?
282
+ raise error if !error.nil?
283
+ raise 'no response'
284
+ end
285
+ end
286
+
287
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
288
+ if Utils.match_status_code(http_response.status, ['200'])
289
+ if Utils.match_content_type(content_type, 'application/json')
290
+ http_response = @sdk_configuration.hooks.after_success(
291
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
292
+ hook_ctx: hook_ctx
293
+ ),
294
+ response: http_response
295
+ )
296
+ response_data = http_response.env.response_body
297
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::TransferConfig)
298
+ response = Models::Operations::GetTransferConfigResponse.new(
299
+ status_code: http_response.status,
300
+ content_type: content_type,
301
+ raw_response: http_response,
302
+ headers: http_response.headers,
303
+ transfer_config: T.unsafe(obj)
304
+ )
305
+
306
+ return response
307
+ else
308
+ 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'
309
+ end
310
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
311
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
312
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
313
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
314
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
315
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
316
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
317
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
318
+ else
319
+ 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'
320
+
321
+ end
322
+ end
323
+
324
+
325
+ sig { params(put_transfer_config: Models::Components::PutTransferConfig, account_id: ::String, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::UpdateTransferConfigResponse) }
326
+ def update(put_transfer_config:, account_id:, timeout_ms: nil, http_headers: nil)
327
+ # update - Update the transfer config for an account.
328
+ request = Models::Operations::UpdateTransferConfigRequest.new(
329
+ account_id: account_id,
330
+ put_transfer_config: put_transfer_config
331
+ )
332
+ url, params = @sdk_configuration.get_server_details
333
+ base_url = Utils.template_url(url, params)
334
+ url = Utils.generate_url(
335
+ Models::Operations::UpdateTransferConfigRequest,
336
+ base_url,
337
+ '/accounts/{accountID}/transfer-config',
338
+ request
339
+ )
340
+ headers = {}
341
+ headers = T.cast(headers, T::Hash[String, String])
342
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :put_transfer_config, :json)
343
+ headers['content-type'] = req_content_type
344
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
345
+
346
+ if form && !form.empty?
347
+ body = Utils.encode_form(form)
348
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
349
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
350
+ else
351
+ body = data
352
+ end
353
+ headers['Accept'] = 'application/json'
354
+ headers['user-agent'] = @sdk_configuration.user_agent
355
+
356
+ security = @sdk_configuration.security_source&.call
357
+
358
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
359
+ timeout ||= @sdk_configuration.timeout
360
+
361
+
362
+ connection = @sdk_configuration.client
363
+
364
+ hook_ctx = SDKHooks::HookContext.new(
365
+ config: @sdk_configuration,
366
+ base_url: base_url,
367
+ oauth2_scopes: nil,
368
+ operation_id: 'updateTransferConfig',
369
+ security_source: @sdk_configuration.security_source
370
+ )
371
+
372
+ error = T.let(nil, T.nilable(StandardError))
373
+ http_response = T.let(nil, T.nilable(Faraday::Response))
374
+
375
+
376
+ begin
377
+ http_response = T.must(connection).put(url) do |req|
378
+ req.body = body
379
+ req.headers.merge!(headers)
380
+ req.options.timeout = timeout unless timeout.nil?
381
+ Utils.configure_request_security(req, security)
382
+ http_headers&.each do |key, value|
383
+ req.headers[key.to_s] = value
384
+ end
385
+
386
+ @sdk_configuration.hooks.before_request(
387
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
388
+ hook_ctx: hook_ctx
389
+ ),
390
+ request: req
391
+ )
392
+ end
393
+ rescue StandardError => e
394
+ error = e
395
+ ensure
396
+ if http_response.nil? || Utils.error_status?(http_response.status)
397
+ http_response = @sdk_configuration.hooks.after_error(
398
+ error: error,
399
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
400
+ hook_ctx: hook_ctx
401
+ ),
402
+ response: http_response
403
+ )
404
+ else
405
+ http_response = @sdk_configuration.hooks.after_success(
406
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
407
+ hook_ctx: hook_ctx
408
+ ),
409
+ response: http_response
410
+ )
411
+ end
412
+
413
+ if http_response.nil?
414
+ raise error if !error.nil?
415
+ raise 'no response'
416
+ end
417
+ end
418
+
419
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
420
+ if Utils.match_status_code(http_response.status, ['200'])
421
+ if Utils.match_content_type(content_type, 'application/json')
422
+ http_response = @sdk_configuration.hooks.after_success(
423
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
424
+ hook_ctx: hook_ctx
425
+ ),
426
+ response: http_response
427
+ )
428
+ response_data = http_response.env.response_body
429
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::TransferConfig)
430
+ response = Models::Operations::UpdateTransferConfigResponse.new(
431
+ status_code: http_response.status,
432
+ content_type: content_type,
433
+ raw_response: http_response,
434
+ headers: http_response.headers,
435
+ transfer_config: T.unsafe(obj)
436
+ )
437
+
438
+ return response
439
+ else
440
+ 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'
441
+ end
442
+ elsif Utils.match_status_code(http_response.status, ['400'])
443
+ if Utils.match_content_type(content_type, 'application/json')
444
+ http_response = @sdk_configuration.hooks.after_success(
445
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
446
+ hook_ctx: hook_ctx
447
+ ),
448
+ response: http_response
449
+ )
450
+ response_data = http_response.env.response_body
451
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
452
+ obj.raw_response = http_response
453
+ raise obj
454
+ else
455
+ 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'
456
+ end
457
+ elsif Utils.match_status_code(http_response.status, ['422'])
458
+ if Utils.match_content_type(content_type, 'application/json')
459
+ http_response = @sdk_configuration.hooks.after_success(
460
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
461
+ hook_ctx: hook_ctx
462
+ ),
463
+ response: http_response
464
+ )
465
+ response_data = http_response.env.response_body
466
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::TransferConfigValidationError)
467
+ obj.raw_response = http_response
468
+ raise obj
469
+ else
470
+ 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'
471
+ end
472
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
473
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
474
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
475
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
476
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
477
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
478
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
479
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
480
+ else
481
+ 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'
482
+
483
+ end
484
+ end
485
+ end
486
+ end
data/lib/moov_ruby.rb CHANGED
@@ -28,6 +28,7 @@ module Moov
28
28
  autoload :Sweeps, 'moov/sweeps'
29
29
  autoload :AccountTerminalApplications, 'moov/account_terminal_applications'
30
30
  autoload :Support, 'moov/support'
31
+ autoload :TransferConfig, 'moov/transfer_config'
31
32
  autoload :Transfers, 'moov/transfers'
32
33
  autoload :Underwriting, 'moov/underwriting'
33
34
  autoload :Wallets, 'moov/wallets'
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
4
+ version: 26.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-20 00:00:00.000000000 Z
11
+ date: 2026-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -510,8 +510,12 @@ files:
510
510
  - lib/moov/models/components/cardexpiration.rbi
511
511
  - lib/moov/models/components/cardexpirationerror.rb
512
512
  - lib/moov/models/components/cardexpirationerror.rbi
513
+ - lib/moov/models/components/cardfundingsource.rb
514
+ - lib/moov/models/components/cardfundingsource.rbi
513
515
  - lib/moov/models/components/cardissuingnetwork.rb
514
516
  - lib/moov/models/components/cardissuingnetwork.rbi
517
+ - lib/moov/models/components/cardnetwork.rb
518
+ - lib/moov/models/components/cardnetwork.rbi
515
519
  - lib/moov/models/components/cardpayment.rb
516
520
  - lib/moov/models/components/cardpayment.rbi
517
521
  - lib/moov/models/components/cardpaymentdetails.rb
@@ -692,10 +696,18 @@ files:
692
696
  - lib/moov/models/components/createticket.rbi
693
697
  - lib/moov/models/components/createticketcontacterror.rb
694
698
  - lib/moov/models/components/createticketcontacterror.rbi
699
+ - lib/moov/models/components/createtippresets.rb
700
+ - lib/moov/models/components/createtippresets.rbi
695
701
  - lib/moov/models/components/createtransfer.rb
696
702
  - lib/moov/models/components/createtransfer.rbi
697
703
  - lib/moov/models/components/createtransferachaddendarecord.rb
698
704
  - lib/moov/models/components/createtransferachaddendarecord.rbi
705
+ - lib/moov/models/components/createtransferamountdetails.rb
706
+ - lib/moov/models/components/createtransferamountdetails.rbi
707
+ - lib/moov/models/components/createtransferamountdetailsvalidationerror.rb
708
+ - lib/moov/models/components/createtransferamountdetailsvalidationerror.rbi
709
+ - lib/moov/models/components/createtransferconfig.rb
710
+ - lib/moov/models/components/createtransferconfig.rbi
699
711
  - lib/moov/models/components/createtransferdestination.rb
700
712
  - lib/moov/models/components/createtransferdestination.rbi
701
713
  - lib/moov/models/components/createtransferdestinationach.rb
@@ -808,6 +820,8 @@ files:
808
820
  - lib/moov/models/components/filepurpose.rbi
809
821
  - lib/moov/models/components/filestatus.rb
810
822
  - lib/moov/models/components/filestatus.rbi
823
+ - lib/moov/models/components/fileuploadmetadata.rb
824
+ - lib/moov/models/components/fileuploadmetadata.rbi
811
825
  - lib/moov/models/components/fileuploadrequestmultipart.rb
812
826
  - lib/moov/models/components/fileuploadrequestmultipart.rbi
813
827
  - lib/moov/models/components/fileuploadrequestmultipart_file.rb
@@ -834,16 +848,26 @@ files:
834
848
  - lib/moov/models/components/generatedby.rbi
835
849
  - lib/moov/models/components/geographicreach.rb
836
850
  - lib/moov/models/components/geographicreach.rbi
837
- - lib/moov/models/components/googlepayintermediatesigningkey.rb
838
- - lib/moov/models/components/googlepayintermediatesigningkey.rbi
851
+ - lib/moov/models/components/googlepayassurancedetails.rb
852
+ - lib/moov/models/components/googlepayassurancedetails.rbi
853
+ - lib/moov/models/components/googlepaybillingaddress.rb
854
+ - lib/moov/models/components/googlepaybillingaddress.rbi
855
+ - lib/moov/models/components/googlepaycardinfo.rb
856
+ - lib/moov/models/components/googlepaycardinfo.rbi
839
857
  - lib/moov/models/components/googlepaypaymentmethod.rb
840
858
  - lib/moov/models/components/googlepaypaymentmethod.rbi
841
859
  - lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rb
842
860
  - lib/moov/models/components/googlepaypaymentmethod_paymentmethodtype.rbi
861
+ - lib/moov/models/components/googlepaypaymentmethoddata.rb
862
+ - lib/moov/models/components/googlepaypaymentmethoddata.rbi
863
+ - lib/moov/models/components/googlepaypaymentmethoddata_type.rb
864
+ - lib/moov/models/components/googlepaypaymentmethoddata_type.rbi
843
865
  - lib/moov/models/components/googlepayresponse.rb
844
866
  - lib/moov/models/components/googlepayresponse.rbi
845
- - lib/moov/models/components/googlepaytoken.rb
846
- - lib/moov/models/components/googlepaytoken.rbi
867
+ - lib/moov/models/components/googlepaytokenizationdata.rb
868
+ - lib/moov/models/components/googlepaytokenizationdata.rbi
869
+ - lib/moov/models/components/googlepaytokenizationdata_type.rb
870
+ - lib/moov/models/components/googlepaytokenizationdata_type.rbi
847
871
  - lib/moov/models/components/googlepaytransferpaymentmethod.rb
848
872
  - lib/moov/models/components/googlepaytransferpaymentmethod.rbi
849
873
  - lib/moov/models/components/googlepaytransferpaymentmethod_paymentmethodtype.rb
@@ -990,8 +1014,6 @@ files:
990
1014
  - lib/moov/models/components/linkedapplepaypaymentmethod.rbi
991
1015
  - lib/moov/models/components/linkedgooglepaypaymentmethod.rb
992
1016
  - lib/moov/models/components/linkedgooglepaypaymentmethod.rbi
993
- - lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rb
994
- - lib/moov/models/components/linkedgooglepaypaymentmethod_paymentmethodtype.rbi
995
1017
  - lib/moov/models/components/linkgooglepay.rb
996
1018
  - lib/moov/models/components/linkgooglepay.rbi
997
1019
  - lib/moov/models/components/listfeesfetchrequest.rb
@@ -1214,6 +1236,10 @@ files:
1214
1236
  - lib/moov/models/components/pushtogooglepaytransferpaymentmethod.rbi
1215
1237
  - lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rb
1216
1238
  - lib/moov/models/components/pushtogooglepaytransferpaymentmethod_paymentmethodtype.rbi
1239
+ - lib/moov/models/components/puttippresets.rb
1240
+ - lib/moov/models/components/puttippresets.rbi
1241
+ - lib/moov/models/components/puttransferconfig.rb
1242
+ - lib/moov/models/components/puttransferconfig.rbi
1217
1243
  - lib/moov/models/components/qrcode.rb
1218
1244
  - lib/moov/models/components/qrcode.rbi
1219
1245
  - lib/moov/models/components/receiptkind.rb
@@ -1396,6 +1422,10 @@ files:
1396
1422
  - lib/moov/models/components/ticketmessage.rbi
1397
1423
  - lib/moov/models/components/ticketstatus.rb
1398
1424
  - lib/moov/models/components/ticketstatus.rbi
1425
+ - lib/moov/models/components/tipcalculationbasis.rb
1426
+ - lib/moov/models/components/tipcalculationbasis.rbi
1427
+ - lib/moov/models/components/tippresets.rb
1428
+ - lib/moov/models/components/tippresets.rbi
1399
1429
  - lib/moov/models/components/token_type_hint.rb
1400
1430
  - lib/moov/models/components/token_type_hint.rbi
1401
1431
  - lib/moov/models/components/tokentype.rb
@@ -1408,6 +1438,10 @@ files:
1408
1438
  - lib/moov/models/components/transferaccount.rbi
1409
1439
  - lib/moov/models/components/transferachaddendarecord.rb
1410
1440
  - lib/moov/models/components/transferachaddendarecord.rbi
1441
+ - lib/moov/models/components/transferamountdetails.rb
1442
+ - lib/moov/models/components/transferamountdetails.rbi
1443
+ - lib/moov/models/components/transferconfig.rb
1444
+ - lib/moov/models/components/transferconfig.rbi
1411
1445
  - lib/moov/models/components/transferdestination.rb
1412
1446
  - lib/moov/models/components/transferdestination.rbi
1413
1447
  - lib/moov/models/components/transferentrymode.rb
@@ -1715,6 +1749,8 @@ files:
1715
1749
  - lib/moov/models/errors/terminalapplicationerror.rbi
1716
1750
  - lib/moov/models/errors/transfer_error.rb
1717
1751
  - lib/moov/models/errors/transfer_error.rbi
1752
+ - lib/moov/models/errors/transferconfigvalidationerror.rb
1753
+ - lib/moov/models/errors/transferconfigvalidationerror.rbi
1718
1754
  - lib/moov/models/errors/transferoptionsvalidationerror.rb
1719
1755
  - lib/moov/models/errors/transferoptionsvalidationerror.rbi
1720
1756
  - lib/moov/models/errors/transfervalidationerror.rb
@@ -1838,6 +1874,10 @@ files:
1838
1874
  - lib/moov/models/operations/createtransfer_request.rbi
1839
1875
  - lib/moov/models/operations/createtransfer_response.rb
1840
1876
  - lib/moov/models/operations/createtransfer_response.rbi
1877
+ - lib/moov/models/operations/createtransferconfig_request.rb
1878
+ - lib/moov/models/operations/createtransferconfig_request.rbi
1879
+ - lib/moov/models/operations/createtransferconfig_response.rb
1880
+ - lib/moov/models/operations/createtransferconfig_response.rbi
1841
1881
  - lib/moov/models/operations/createtransferoptions_request.rb
1842
1882
  - lib/moov/models/operations/createtransferoptions_request.rbi
1843
1883
  - lib/moov/models/operations/createtransferoptions_response.rb
@@ -2082,6 +2122,10 @@ files:
2082
2122
  - lib/moov/models/operations/gettransfer_request.rbi
2083
2123
  - lib/moov/models/operations/gettransfer_response.rb
2084
2124
  - lib/moov/models/operations/gettransfer_response.rbi
2125
+ - lib/moov/models/operations/gettransferconfig_request.rb
2126
+ - lib/moov/models/operations/gettransferconfig_request.rbi
2127
+ - lib/moov/models/operations/gettransferconfig_response.rb
2128
+ - lib/moov/models/operations/gettransferconfig_response.rbi
2085
2129
  - lib/moov/models/operations/getunderwriting_request.rb
2086
2130
  - lib/moov/models/operations/getunderwriting_request.rbi
2087
2131
  - lib/moov/models/operations/getunderwriting_response.rb
@@ -2414,6 +2458,10 @@ files:
2414
2458
  - lib/moov/models/operations/updatetransfer_request.rbi
2415
2459
  - lib/moov/models/operations/updatetransfer_response.rb
2416
2460
  - lib/moov/models/operations/updatetransfer_response.rbi
2461
+ - lib/moov/models/operations/updatetransferconfig_request.rb
2462
+ - lib/moov/models/operations/updatetransferconfig_request.rbi
2463
+ - lib/moov/models/operations/updatetransferconfig_response.rb
2464
+ - lib/moov/models/operations/updatetransferconfig_response.rbi
2417
2465
  - lib/moov/models/operations/updatewallet_request.rb
2418
2466
  - lib/moov/models/operations/updatewallet_request.rbi
2419
2467
  - lib/moov/models/operations/updatewallet_response.rb
@@ -2465,6 +2513,7 @@ files:
2465
2513
  - lib/moov/support.rb
2466
2514
  - lib/moov/sweeps.rb
2467
2515
  - lib/moov/terminal_applications.rb
2516
+ - lib/moov/transfer_config.rb
2468
2517
  - lib/moov/transfers.rb
2469
2518
  - lib/moov/underwriting.rb
2470
2519
  - lib/moov/utils/forms.rb