moov_ruby 26.10.0.pre.dev.6 → 26.10.0.pre.dev.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 79e89245c51012c2f04302e81d39e2cdebc593bec39574b8cfc9acec9cc79b96
4
- data.tar.gz: 3fee3f5583e659c8f624cbedc2094703ea742766de183aaecc8ca7c0f4b4668d
3
+ metadata.gz: c0a6efed619cdea7c3dbeed3a9c560ca01e7740552d80f7a93bda167a0a040a3
4
+ data.tar.gz: 44c9eb061d64512ec491f672632b5df498badcb85e97844858f35369f713daf5
5
5
  SHA512:
6
- metadata.gz: af065f09635414c5d87d7bb033983061ef172bd99abfef1b3a2e6963236a0b521d2b060159a2d252537c5a621d8ca4c8ec0df77758ef0afd6e1cde538cec6ba3
7
- data.tar.gz: 3465a8d176ced7f6d7098410ec5e630bb68e1047f0ce275ba0422dec1a660fbffc1741e3ab5edf23915250a2c7c15ca02bd1721192129ea7679e2f5792d25685
6
+ metadata.gz: 8cb9ad4082093d420484b82d8c70fd1ad1d0a8cf62ba722c9399aca63ad23d31e8403eeb28f8a02f5e8141f9db0a1032f6a167f9c51530b62ecd3460ddaa0c6c
7
+ data.tar.gz: f1139460ca108f90d7fe4eb718db527c687506af3d1002bc2d1f389b8e77b5c8c7cbd4ccad8f2d35a327d9621e07cf3a20bb5ce232eeb9a29ae09598faceba01
@@ -25,14 +25,17 @@ module Moov
25
25
  field :scope, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('scope') }, 'form': { 'field_name': 'scope' } }
26
26
  # The refresh_token returned alongside the access token being refreshed. Required when `grant_type` is `refresh_token`.
27
27
  field :refresh_token, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('refresh_token') }, 'form': { 'field_name': 'refresh_token' } }
28
+ # The client type requesting a token. `device` and `service` clients do not require browser origin binding. Defaults to `web` when omitted. This field applies to the `client_credentials` grant; refreshed tokens keep the original client type.
29
+ field :client_type, Crystalline::Nilable.new(Models::Components::OAuth2ClientType), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('client_type'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::OAuth2ClientType, true) }, 'form': { 'field_name': 'client_type' } }
28
30
 
29
- sig { params(grant_type: Models::Components::GrantType, client_id: T.nilable(::String), client_secret: T.nilable(::String), scope: T.nilable(::String), refresh_token: T.nilable(::String)).void }
30
- def initialize(grant_type:, client_id: nil, client_secret: nil, scope: nil, refresh_token: nil)
31
+ sig { params(grant_type: Models::Components::GrantType, client_id: T.nilable(::String), client_secret: T.nilable(::String), scope: T.nilable(::String), refresh_token: T.nilable(::String), client_type: T.nilable(Models::Components::OAuth2ClientType)).void }
32
+ def initialize(grant_type:, client_id: nil, client_secret: nil, scope: nil, refresh_token: nil, client_type: nil)
31
33
  @grant_type = grant_type
32
34
  @client_id = client_id
33
35
  @client_secret = client_secret
34
36
  @scope = scope
35
37
  @refresh_token = refresh_token
38
+ @client_type = client_type
36
39
  end
37
40
 
38
41
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -43,6 +46,7 @@ module Moov
43
46
  return false unless @client_secret == other.client_secret
44
47
  return false unless @scope == other.scope
45
48
  return false unless @refresh_token == other.refresh_token
49
+ return false unless @client_type == other.client_type
46
50
  true
47
51
  end
48
52
  end
@@ -18,4 +18,6 @@ class Moov::Models::Components::AuthTokenRequest
18
18
  def scope=(str_); end
19
19
  def refresh_token(); end
20
20
  def refresh_token=(str_); end
21
+ def client_type(); end
22
+ def client_type=(str_); end
21
23
  end
@@ -32,9 +32,12 @@ module Moov
32
32
  field :last_four_card_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber') } }
33
33
  # List of card transaction IDs associated with this authorization.
34
34
  field :card_transactions, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardTransactions') } }
35
+ # The reason an authorization or authorization event was declined. Only present if the
36
+ # authorization or event has been declined.
37
+ field :decline_reason, Crystalline::Nilable.new(Models::Components::IssuingDeclineReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('declineReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingDeclineReason, true) } }
35
38
 
36
- sig { params(authorization_id: ::String, issued_card_id: ::String, funding_wallet_id: ::String, network: Models::Components::CardIssuingNetwork, authorized_amount: ::String, status: Models::Components::IssuingAuthorizationStatus, merchant_data: Models::Components::IssuingMerchantData, created_on: ::DateTime, last_four_card_number: T.nilable(::String), card_transactions: T.nilable(T::Array[::String])).void }
37
- def initialize(authorization_id:, issued_card_id:, funding_wallet_id:, network:, authorized_amount:, status:, merchant_data:, created_on:, last_four_card_number: nil, card_transactions: nil)
39
+ sig { params(authorization_id: ::String, issued_card_id: ::String, funding_wallet_id: ::String, network: Models::Components::CardIssuingNetwork, authorized_amount: ::String, status: Models::Components::IssuingAuthorizationStatus, merchant_data: Models::Components::IssuingMerchantData, created_on: ::DateTime, last_four_card_number: T.nilable(::String), card_transactions: T.nilable(T::Array[::String]), decline_reason: T.nilable(Models::Components::IssuingDeclineReason)).void }
40
+ def initialize(authorization_id:, issued_card_id:, funding_wallet_id:, network:, authorized_amount:, status:, merchant_data:, created_on:, last_four_card_number: nil, card_transactions: nil, decline_reason: nil)
38
41
  @authorization_id = authorization_id
39
42
  @issued_card_id = issued_card_id
40
43
  @funding_wallet_id = funding_wallet_id
@@ -45,6 +48,7 @@ module Moov
45
48
  @created_on = created_on
46
49
  @last_four_card_number = last_four_card_number
47
50
  @card_transactions = card_transactions
51
+ @decline_reason = decline_reason
48
52
  end
49
53
 
50
54
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -60,6 +64,7 @@ module Moov
60
64
  return false unless @created_on == other.created_on
61
65
  return false unless @last_four_card_number == other.last_four_card_number
62
66
  return false unless @card_transactions == other.card_transactions
67
+ return false unless @decline_reason == other.decline_reason
63
68
  true
64
69
  end
65
70
  end
@@ -28,4 +28,6 @@ class Moov::Models::Components::IssuedCardAuthorization
28
28
  def last_four_card_number=(str_); end
29
29
  def card_transactions(); end
30
30
  def card_transactions=(str_); end
31
+ def decline_reason(); end
32
+ def decline_reason=(str_); end
31
33
  end
@@ -22,14 +22,18 @@ module Moov
22
22
  field :result, Models::Components::IssuedCardAuthorizationEventResult, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('result'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuedCardAuthorizationEventResult, false) } }
23
23
 
24
24
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
25
+ # The reason an authorization or authorization event was declined. Only present if the
26
+ # authorization or event has been declined.
27
+ field :decline_reason, Crystalline::Nilable.new(Models::Components::IssuingDeclineReason), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('declineReason'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuingDeclineReason, true) } }
25
28
 
26
- sig { params(event_id: ::String, event_type: Models::Components::IssuedCardEventType, amount: ::String, result: Models::Components::IssuedCardAuthorizationEventResult, created_on: ::DateTime).void }
27
- def initialize(event_id:, event_type:, amount:, result:, created_on:)
29
+ sig { params(event_id: ::String, event_type: Models::Components::IssuedCardEventType, amount: ::String, result: Models::Components::IssuedCardAuthorizationEventResult, created_on: ::DateTime, decline_reason: T.nilable(Models::Components::IssuingDeclineReason)).void }
30
+ def initialize(event_id:, event_type:, amount:, result:, created_on:, decline_reason: nil)
28
31
  @event_id = event_id
29
32
  @event_type = event_type
30
33
  @amount = amount
31
34
  @result = result
32
35
  @created_on = created_on
36
+ @decline_reason = decline_reason
33
37
  end
34
38
 
35
39
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -40,6 +44,7 @@ module Moov
40
44
  return false unless @amount == other.amount
41
45
  return false unless @result == other.result
42
46
  return false unless @created_on == other.created_on
47
+ return false unless @decline_reason == other.decline_reason
43
48
  true
44
49
  end
45
50
  end
@@ -18,4 +18,6 @@ class Moov::Models::Components::IssuedCardAuthorizationEvent
18
18
  def result=(str_); end
19
19
  def created_on(); end
20
20
  def created_on=(str_); end
21
+ def decline_reason(); end
22
+ def decline_reason=(str_); end
21
23
  end
@@ -0,0 +1,35 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # IssuingDeclineReason - The reason an authorization or authorization event was declined. Only present if the
11
+ # authorization or event has been declined.
12
+ class IssuingDeclineReason
13
+ include ::Crystalline::Enum
14
+ enums do
15
+ INSUFFICIENT_FUNDS = new('insufficient-funds')
16
+ CARD_NOT_ACTIVE = new('card-not-active')
17
+ CARD_EXPIRATION = new('card-expiration')
18
+ SPEND_CUTOFF_REACHED = new('spend-cutoff-reached')
19
+ OUTSIDE_ALLOWED_SCHEDULE = new('outside-allowed-schedule')
20
+ SPEND_LIMIT_EXCEEDED = new('spend-limit-exceeded')
21
+ MERCHANT_CATEGORY_NOT_SUPPORTED = new('merchant-category-not-supported')
22
+ MERCHANT_CATEGORY_RESTRICTED = new('merchant-category-restricted')
23
+ MERCHANT_RESTRICTED = new('merchant-restricted')
24
+ MERCHANT_COUNTRY_NOT_SUPPORTED = new('merchant-country-not-supported')
25
+ UNSUPPORTED_TRANSACTION = new('unsupported-transaction')
26
+ NETWORK_STAND_IN = new('network-stand-in')
27
+ DECLINED_BY_ISSUER = new('declined-by-issuer')
28
+ INVALID_REQUEST = new('invalid-request')
29
+ SYSTEM_ERROR = new('system-error')
30
+ end
31
+ open!
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::IssuingDeclineReason
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::IssuingDeclineReason
11
+ end
@@ -0,0 +1,23 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+ # OAuth2ClientType - The type of client requesting an OAuth2 token. Short codes are accepted as aliases for the corresponding client types.
11
+ class OAuth2ClientType < T::Enum
12
+ enums do
13
+ WEB = new('web')
14
+ DEVICE = new('device')
15
+ SERVICE = new('service')
16
+ W = new('w')
17
+ D = new('d')
18
+ S = new('s')
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::OAuth2ClientType
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::OAuth2ClientType
11
+ end
@@ -18,6 +18,8 @@ module Moov
18
18
  field :title, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('title'), required: true } }
19
19
  # A product's starting price, before applying modifiers.
20
20
  field :base_price, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice'), required: true } }
21
+ # Whether applicable tax rules may be applied to this product. True does not guarantee tax is charged; false excludes the product from tax calculation. This setting does not determine jurisdiction-specific taxability.
22
+ field :is_taxable, Crystalline::Boolean.new, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isTaxable'), required: true } }
21
23
  # The date and time when the product was added.
22
24
  field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
23
25
  # The date and time when the product was last updated.
@@ -37,11 +39,12 @@ module Moov
37
39
  # The date and time when the product was disabled.
38
40
  field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
39
41
 
40
- sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), category: T.nilable(Models::Components::ProductCategory), disabled_on: T.nilable(::DateTime)).void }
41
- def initialize(product_id:, title:, base_price:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, category: nil, disabled_on: nil)
42
+ sig { params(product_id: ::String, title: ::String, base_price: Models::Components::AmountDecimal, is_taxable: T::Boolean, created_on: ::DateTime, updated_on: ::DateTime, description: T.nilable(::String), option_groups: T.nilable(T::Array[Models::Components::ProductOptionGroup]), images: T.nilable(T::Array[Models::Components::ProductImageMetadata]), category: T.nilable(Models::Components::ProductCategory), disabled_on: T.nilable(::DateTime)).void }
43
+ def initialize(product_id:, title:, base_price:, is_taxable:, created_on:, updated_on:, description: nil, option_groups: nil, images: nil, category: nil, disabled_on: nil)
42
44
  @product_id = product_id
43
45
  @title = title
44
46
  @base_price = base_price
47
+ @is_taxable = is_taxable
45
48
  @created_on = created_on
46
49
  @updated_on = updated_on
47
50
  @description = description
@@ -57,6 +60,7 @@ module Moov
57
60
  return false unless @product_id == other.product_id
58
61
  return false unless @title == other.title
59
62
  return false unless @base_price == other.base_price
63
+ return false unless @is_taxable == other.is_taxable
60
64
  return false unless @created_on == other.created_on
61
65
  return false unless @updated_on == other.updated_on
62
66
  return false unless @description == other.description
@@ -14,6 +14,8 @@ class Moov::Models::Components::Product
14
14
  def title=(str_); end
15
15
  def base_price(); end
16
16
  def base_price=(str_); end
17
+ def is_taxable(); end
18
+ def is_taxable=(str_); end
17
19
  def created_on(); end
18
20
  def created_on=(str_); end
19
21
  def updated_on(); end
@@ -22,6 +22,8 @@ module Moov
22
22
  # - Supports Markdown for formatting
23
23
  # - HTML is not permitted and will be rejected
24
24
  field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
25
+ # Whether applicable tax rules may be applied to this product. True does not guarantee tax is charged; false excludes the product from tax calculation. Omitted values default to true on creation and preserve the existing setting on update.
26
+ field :is_taxable, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('isTaxable') } }
25
27
  # Assign previously uploaded images to a product or option.
26
28
  field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::AssignProductImage)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
27
29
  # Optional configuration options for a product, such as size or color.
@@ -29,11 +31,12 @@ module Moov
29
31
  # The ID of a product taxonomy category to associate with the product.
30
32
  field :category_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categoryID') } }
31
33
 
32
- sig { params(title: ::String, base_price: Models::Components::AmountDecimal, description: T.nilable(::String), images: T.nilable(T::Array[Models::Components::AssignProductImage]), option_groups: T.nilable(T::Array[Models::Components::CreateProductOptionGroup]), category_id: T.nilable(::String)).void }
33
- def initialize(title:, base_price:, description: nil, images: nil, option_groups: nil, category_id: nil)
34
+ sig { params(title: ::String, base_price: Models::Components::AmountDecimal, description: T.nilable(::String), is_taxable: T.nilable(T::Boolean), images: T.nilable(T::Array[Models::Components::AssignProductImage]), option_groups: T.nilable(T::Array[Models::Components::CreateProductOptionGroup]), category_id: T.nilable(::String)).void }
35
+ def initialize(title:, base_price:, description: nil, is_taxable: nil, images: nil, option_groups: nil, category_id: nil)
34
36
  @title = title
35
37
  @base_price = base_price
36
38
  @description = description
39
+ @is_taxable = is_taxable
37
40
  @images = images
38
41
  @option_groups = option_groups
39
42
  @category_id = category_id
@@ -45,6 +48,7 @@ module Moov
45
48
  return false unless @title == other.title
46
49
  return false unless @base_price == other.base_price
47
50
  return false unless @description == other.description
51
+ return false unless @is_taxable == other.is_taxable
48
52
  return false unless @images == other.images
49
53
  return false unless @option_groups == other.option_groups
50
54
  return false unless @category_id == other.category_id
@@ -14,6 +14,8 @@ class Moov::Models::Components::ProductRequest
14
14
  def base_price=(str_); end
15
15
  def description(); end
16
16
  def description=(str_); end
17
+ def is_taxable(); end
18
+ def is_taxable=(str_); end
17
19
  def images(); end
18
20
  def images=(str_); end
19
21
  def option_groups(); end
@@ -391,6 +391,7 @@ module Moov
391
391
  autoload :IssuingControlsError, 'moov/models/components/issuingcontrolserror.rb'
392
392
  autoload :IssuingControlsRestrictionMode, 'moov/models/components/issuingcontrolsrestrictionmode.rb'
393
393
  autoload :IssuingControlsAllowedSchedule, 'moov/models/components/issuingcontrols_allowedschedule.rb'
394
+ autoload :IssuingDeclineReason, 'moov/models/components/issuingdeclinereason.rb'
394
395
  autoload :IssuingIntervalLimit, 'moov/models/components/issuingintervallimit.rb'
395
396
  autoload :IssuingMerchantCategory, 'moov/models/components/issuingmerchantcategory.rb'
396
397
  autoload :IssuingMerchantData, 'moov/models/components/issuingmerchantdata.rb'
@@ -440,6 +441,7 @@ module Moov
440
441
  autoload :MoovWalletTransferPaymentMethod, 'moov/models/components/moovwallettransferpaymentmethod.rb'
441
442
  autoload :MoovWalletTransferPaymentMethodPaymentMethodType, 'moov/models/components/moovwallettransferpaymentmethod_paymentmethodtype.rb'
442
443
  autoload :MxPayload, 'moov/models/components/mxpayload.rb'
444
+ autoload :OAuth2ClientType, 'moov/models/components/oauth2clienttype.rb'
443
445
  autoload :Occurrence, 'moov/models/components/occurrence.rb'
444
446
  autoload :OccurrenceStatus, 'moov/models/components/occurrencestatus.rb'
445
447
  autoload :OccurrencesResponse, 'moov/models/components/occurrencesresponse.rb'
@@ -88,9 +88,9 @@ module Moov
88
88
  end
89
89
  @language = 'ruby'
90
90
  @openapi_doc_version = 'v2026.10.00'
91
- @sdk_version = '26.10.0-dev.6'
92
- @gen_version = '2.937.18'
93
- @user_agent = 'speakeasy-sdk/ruby 26.10.0-dev.6 2.937.18 v2026.10.00 moov_ruby'
91
+ @sdk_version = '26.10.0-dev.7'
92
+ @gen_version = '2.938.0'
93
+ @user_agent = 'speakeasy-sdk/ruby 26.10.0-dev.7 2.938.0 v2026.10.00 moov_ruby'
94
94
  end
95
95
 
96
96
  sig { returns([String, T::Hash[Symbol, String]]) }
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.10.0.pre.dev.6
4
+ version: 26.10.0.pre.dev.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-09-15 00:00:00.000000000 Z
11
+ date: 2026-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -1055,6 +1055,8 @@ files:
1055
1055
  - lib/moov/models/components/issuingcontrolserror.rbi
1056
1056
  - lib/moov/models/components/issuingcontrolsrestrictionmode.rb
1057
1057
  - lib/moov/models/components/issuingcontrolsrestrictionmode.rbi
1058
+ - lib/moov/models/components/issuingdeclinereason.rb
1059
+ - lib/moov/models/components/issuingdeclinereason.rbi
1058
1060
  - lib/moov/models/components/issuingintervallimit.rb
1059
1061
  - lib/moov/models/components/issuingintervallimit.rbi
1060
1062
  - lib/moov/models/components/issuingmerchantcategory.rb
@@ -1159,6 +1161,8 @@ files:
1159
1161
  - lib/moov/models/components/mxauthorizationcode.rbi
1160
1162
  - lib/moov/models/components/mxpayload.rb
1161
1163
  - lib/moov/models/components/mxpayload.rbi
1164
+ - lib/moov/models/components/oauth2clienttype.rb
1165
+ - lib/moov/models/components/oauth2clienttype.rbi
1162
1166
  - lib/moov/models/components/occurrence.rb
1163
1167
  - lib/moov/models/components/occurrence.rbi
1164
1168
  - lib/moov/models/components/occurrencesresponse.rb