moov_ruby 26.10.0.pre.dev.9 → 26.10.0.pre.dev.10
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/moov/card_issuing.rb +2 -8
- data/lib/moov/models/components/capability.rb +2 -0
- data/lib/moov/models/components/capabilityid.rb +3 -0
- data/lib/moov/models/components/capture.rb +2 -6
- data/lib/moov/models/components/capture.rbi +0 -2
- data/lib/moov/models/components/createcapture.rb +2 -6
- data/lib/moov/models/components/createcapture.rbi +0 -2
- data/lib/moov/models/components/createsweepconfig.rb +6 -2
- data/lib/moov/models/components/createsweepconfig.rbi +2 -0
- data/lib/moov/models/components/fullissuedcard.rb +6 -4
- data/lib/moov/models/components/issuedcard.rb +6 -4
- data/lib/moov/models/components/issuedcardauthorization.rb +6 -2
- data/lib/moov/models/components/issuedcardauthorization.rbi +2 -0
- data/lib/moov/models/components/issuedcardstate.rb +6 -4
- data/lib/moov/models/components/issuedcardtransaction.rb +6 -2
- data/lib/moov/models/components/issuedcardtransaction.rbi +2 -0
- data/lib/moov/models/components/issuedcontrols_allowedschedule.rb +1 -1
- data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +1 -1
- data/lib/moov/models/components/patchsweepconfig.rb +6 -2
- data/lib/moov/models/components/patchsweepconfig.rbi +2 -0
- data/lib/moov/models/components/schedule.rb +40 -0
- data/lib/moov/models/components/schedule.rbi +17 -0
- data/lib/moov/models/components/schedulewindow.rb +1 -1
- data/lib/moov/models/components/sweepconfig.rb +6 -2
- data/lib/moov/models/components/sweepconfig.rbi +2 -0
- data/lib/moov/models/components/sweepconfigschedule.rb +40 -0
- data/lib/moov/models/components/sweepconfigschedule.rbi +17 -0
- data/lib/moov/models/components/sweepconfigscheduleerror.rb +40 -0
- data/lib/moov/models/components/sweepconfigscheduleerror.rbi +17 -0
- data/lib/moov/models/components/sweepschedulefrequency.rb +18 -0
- data/lib/moov/models/components/sweepschedulefrequency.rbi +11 -0
- data/lib/moov/models/components/updateissuedcard.rb +3 -3
- data/lib/moov/models/components/updateissuedcardstate.rb +3 -3
- data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +1 -1
- data/lib/moov/models/components/upsertunderwriting.rb +1 -1
- data/lib/moov/models/components/webhookdatacapabilityrequested.rb +2 -0
- data/lib/moov/models/components/webhookdatacapabilityupdated.rb +2 -0
- data/lib/moov/models/components.rb +4 -0
- data/lib/moov/models/errors/capturevalidationerror.rb +2 -6
- data/lib/moov/models/errors/capturevalidationerror.rbi +0 -2
- data/lib/moov/models/errors/createsweepconfigerror.rb +6 -2
- data/lib/moov/models/errors/createsweepconfigerror.rbi +2 -0
- data/lib/moov/models/errors/listtransfersvalidationerror.rb +6 -2
- data/lib/moov/models/errors/listtransfersvalidationerror.rbi +2 -0
- data/lib/moov/models/errors/patchsweepconfigerror.rb +6 -2
- data/lib/moov/models/errors/patchsweepconfigerror.rbi +2 -0
- data/lib/moov/models/operations/disablecapability_request.rb +2 -0
- data/lib/moov/models/operations/getcapability_request.rb +2 -0
- data/lib/moov/models/operations/listissuedcardauthorizations_request.rb +6 -2
- data/lib/moov/models/operations/listissuedcardauthorizations_request.rbi +2 -0
- data/lib/moov/models/operations/listissuedcards_request.rb +6 -2
- data/lib/moov/models/operations/listissuedcards_request.rbi +2 -0
- data/lib/moov/models/operations/listissuedcardtransactions_request.rb +6 -2
- data/lib/moov/models/operations/listissuedcardtransactions_request.rbi +2 -0
- data/lib/moov/models/operations/listtransfers_request.rb +7 -2
- data/lib/moov/models/operations/listtransfers_request.rbi +2 -0
- data/lib/moov/models/operations/listtransfers_response.rb +1 -1
- data/lib/moov/sdkconfiguration.rb +3 -3
- data/lib/moov/transfers.rb +6 -1
- metadata +10 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a44ddef1d9a415950b561e06e74f872b2a91f44701dd121306ea65b3a39bdea7
|
|
4
|
+
data.tar.gz: 52ed87b718258132e75de1162162b78920efff8c49e54b8570dfa910556547bf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c22cba84ccd65cd1c020b022329396c4d82ee0ca1f78a432b2ac85957bde457836e7084836794b0daf4d462ab2221919c6b3b6a95f1f2cbbc70ff3bebc9c0a89
|
|
7
|
+
data.tar.gz: 56bcab0ec1ece99f2de0771174d71d15417fcf41ffd809ae1a9f2ebecaf8b5be0518b1a0a40c5784c67f91ff84f6c829759a4b63fb8755023e26dc47e6dfdb91
|
data/lib/moov/card_issuing.rb
CHANGED
|
@@ -860,18 +860,12 @@ module Moov
|
|
|
860
860
|
end
|
|
861
861
|
|
|
862
862
|
|
|
863
|
-
sig { params(
|
|
864
|
-
def list(
|
|
863
|
+
sig { params(request: Models::Operations::ListIssuedCardsRequest, timeout_ms: T.nilable(Integer), http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])).returns(Models::Operations::ListIssuedCardsResponse) }
|
|
864
|
+
def list(request:, timeout_ms: nil, http_headers: nil)
|
|
865
865
|
# list - List Moov issued cards existing for the account.
|
|
866
866
|
#
|
|
867
867
|
# To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
|
|
868
868
|
# you'll need to specify the `/accounts/{accountID}/issued-cards.read` scope.
|
|
869
|
-
request = Models::Operations::ListIssuedCardsRequest.new(
|
|
870
|
-
account_id: account_id,
|
|
871
|
-
skip: skip,
|
|
872
|
-
count: count,
|
|
873
|
-
states: states
|
|
874
|
-
)
|
|
875
869
|
url, params = @sdk_configuration.get_server_details
|
|
876
870
|
base_url = Utils.template_url(url, params)
|
|
877
871
|
url = Utils.generate_url(
|
|
@@ -21,6 +21,8 @@ module Moov
|
|
|
21
21
|
# Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
|
|
22
22
|
#
|
|
23
23
|
# The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
|
|
24
|
+
#
|
|
25
|
+
# Starting in v2026.10.00, the `platform.moov-money` capability might appear in the list for accounts enrolled in Moov Money. This is a read-only capability that Moov requests. It requires no additional action.
|
|
24
26
|
field :capability, Models::Components::CapabilityID, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('capability'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CapabilityID, false) } }
|
|
25
27
|
|
|
26
28
|
field :account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('accountID'), required: true } }
|
|
@@ -16,6 +16,8 @@ module Moov
|
|
|
16
16
|
# Read our [capabilities reference](https://docs.moov.io/guides/accounts/capabilities/reference/) to choose the right capabilities for your integration.
|
|
17
17
|
#
|
|
18
18
|
# The `production-app`, `platform.production-app`, and / or `platform.wallet-transfers` capabilities might appear in the list for your Partner account. These are read-only capabilities that Moov requests. These capabilities remain active with your account and require no additional action.
|
|
19
|
+
#
|
|
20
|
+
# Starting in v2026.10.00, the `platform.moov-money` capability might appear in the list for accounts enrolled in Moov Money. This is a read-only capability that Moov requests. It requires no additional action.
|
|
19
21
|
class CapabilityID
|
|
20
22
|
include ::Crystalline::Enum
|
|
21
23
|
enums do
|
|
@@ -38,6 +40,7 @@ module Moov
|
|
|
38
40
|
PRODUCTION_APP = new('production-app')
|
|
39
41
|
PLATFORM_PRODUCTION_APP = new('platform.production-app')
|
|
40
42
|
PLATFORM_WALLET_TRANSFERS = new('platform.wallet-transfers')
|
|
43
|
+
PLATFORM_MOOV_MONEY = new('platform.moov-money')
|
|
41
44
|
end
|
|
42
45
|
open!
|
|
43
46
|
end
|
|
@@ -22,8 +22,6 @@ module Moov
|
|
|
22
22
|
field :status, Models::Components::CaptureStatus, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('status'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CaptureStatus, 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
|
-
# Payment method of the merchant account the funds were captured into. For card-acquiring transfers, this must be a moov-wallet payment method.
|
|
26
|
-
field :destination_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationPaymentMethodID'), required: true } }
|
|
27
25
|
# An optional description of the capture that is used on receipts and for your own internal use.
|
|
28
26
|
field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
|
|
29
27
|
# Free-form key-value pair list. Useful for storing information that is not captured elsewhere.
|
|
@@ -41,14 +39,13 @@ module Moov
|
|
|
41
39
|
|
|
42
40
|
field :failure_code, Crystalline::Nilable.new(Models::Components::CardTransactionFailureCode), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('failureCode'), 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::CardTransactionFailureCode, true) } }
|
|
43
41
|
|
|
44
|
-
sig { params(capture_id: ::String, amount: Models::Components::AmountDecimal, is_final: T::Boolean, status: Models::Components::CaptureStatus, created_on: ::DateTime,
|
|
45
|
-
def initialize(capture_id:, amount:, is_final:, status:, created_on:,
|
|
42
|
+
sig { params(capture_id: ::String, amount: Models::Components::AmountDecimal, is_final: T::Boolean, status: Models::Components::CaptureStatus, created_on: ::DateTime, description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems), amount_details: T.nilable(Models::Components::TransferAmountDetails), facilitator_fee_amount: T.nilable(Models::Components::AmountDecimal), failure_code: T.nilable(Models::Components::CardTransactionFailureCode)).void }
|
|
43
|
+
def initialize(capture_id:, amount:, is_final:, status:, created_on:, description: nil, metadata: nil, foreign_id: nil, line_items: nil, amount_details: nil, facilitator_fee_amount: nil, failure_code: nil)
|
|
46
44
|
@capture_id = capture_id
|
|
47
45
|
@amount = amount
|
|
48
46
|
@is_final = is_final
|
|
49
47
|
@status = status
|
|
50
48
|
@created_on = created_on
|
|
51
|
-
@destination_payment_method_id = destination_payment_method_id
|
|
52
49
|
@description = description
|
|
53
50
|
@metadata = metadata
|
|
54
51
|
@foreign_id = foreign_id
|
|
@@ -66,7 +63,6 @@ module Moov
|
|
|
66
63
|
return false unless @is_final == other.is_final
|
|
67
64
|
return false unless @status == other.status
|
|
68
65
|
return false unless @created_on == other.created_on
|
|
69
|
-
return false unless @destination_payment_method_id == other.destination_payment_method_id
|
|
70
66
|
return false unless @description == other.description
|
|
71
67
|
return false unless @metadata == other.metadata
|
|
72
68
|
return false unless @foreign_id == other.foreign_id
|
|
@@ -18,8 +18,6 @@ class Moov::Models::Components::Capture
|
|
|
18
18
|
def status=(str_); end
|
|
19
19
|
def created_on(); end
|
|
20
20
|
def created_on=(str_); end
|
|
21
|
-
def destination_payment_method_id(); end
|
|
22
|
-
def destination_payment_method_id=(str_); end
|
|
23
21
|
def description(); end
|
|
24
22
|
def description=(str_); end
|
|
25
23
|
def metadata(); end
|
|
@@ -12,8 +12,6 @@ module Moov
|
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
14
14
|
|
|
15
|
-
# Payment method of the merchant account to capture funds into. For card-acquiring transfers, this must be a moov-wallet payment method.
|
|
16
|
-
field :destination_payment_method_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('destinationPaymentMethodID'), required: true } }
|
|
17
15
|
# Amount to capture.
|
|
18
16
|
# If omitted, the remaining capturable amount is captured.
|
|
19
17
|
field :amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
|
|
@@ -35,9 +33,8 @@ module Moov
|
|
|
35
33
|
# The transfer's facilitator fee is the sum of its capture fees.
|
|
36
34
|
field :facilitator_fee_amount, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('facilitatorFeeAmount') } }
|
|
37
35
|
|
|
38
|
-
sig { params(
|
|
39
|
-
def initialize(
|
|
40
|
-
@destination_payment_method_id = destination_payment_method_id
|
|
36
|
+
sig { params(amount: T.nilable(Models::Components::AmountDecimal), is_final: T.nilable(T::Boolean), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems), amount_details: T.nilable(Models::Components::CreateTransferAmountDetails), facilitator_fee_amount: T.nilable(Models::Components::AmountDecimal)).void }
|
|
37
|
+
def initialize(amount: nil, is_final: nil, description: nil, metadata: nil, foreign_id: nil, line_items: nil, amount_details: nil, facilitator_fee_amount: nil)
|
|
41
38
|
@amount = amount
|
|
42
39
|
@is_final = is_final
|
|
43
40
|
@description = description
|
|
@@ -51,7 +48,6 @@ module Moov
|
|
|
51
48
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
52
49
|
def ==(other)
|
|
53
50
|
return false unless other.is_a? self.class
|
|
54
|
-
return false unless @destination_payment_method_id == other.destination_payment_method_id
|
|
55
51
|
return false unless @amount == other.amount
|
|
56
52
|
return false unless @is_final == other.is_final
|
|
57
53
|
return false unless @description == other.description
|
|
@@ -24,15 +24,18 @@ module Moov
|
|
|
24
24
|
field :statement_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statementDescriptor') } }
|
|
25
25
|
|
|
26
26
|
field :minimum_balance, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimumBalance') } }
|
|
27
|
+
# Overrides the time of day this wallet's sweep runs. Sweeps only run on US banking days.
|
|
28
|
+
field :schedule, Crystalline::Nilable.new(Models::Components::SweepConfigSchedule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('schedule') } }
|
|
27
29
|
|
|
28
|
-
sig { params(wallet_id: ::String, status: Models::Components::SweepConfigStatus, push_payment_method_id: ::String, pull_payment_method_id: ::String, statement_descriptor: T.nilable(::String), minimum_balance: T.nilable(::String)).void }
|
|
29
|
-
def initialize(wallet_id:, status:, push_payment_method_id:, pull_payment_method_id:, statement_descriptor: nil, minimum_balance: nil)
|
|
30
|
+
sig { params(wallet_id: ::String, status: Models::Components::SweepConfigStatus, push_payment_method_id: ::String, pull_payment_method_id: ::String, statement_descriptor: T.nilable(::String), minimum_balance: T.nilable(::String), schedule: T.nilable(Models::Components::SweepConfigSchedule)).void }
|
|
31
|
+
def initialize(wallet_id:, status:, push_payment_method_id:, pull_payment_method_id:, statement_descriptor: nil, minimum_balance: nil, schedule: nil)
|
|
30
32
|
@wallet_id = wallet_id
|
|
31
33
|
@status = status
|
|
32
34
|
@push_payment_method_id = push_payment_method_id
|
|
33
35
|
@pull_payment_method_id = pull_payment_method_id
|
|
34
36
|
@statement_descriptor = statement_descriptor
|
|
35
37
|
@minimum_balance = minimum_balance
|
|
38
|
+
@schedule = schedule
|
|
36
39
|
end
|
|
37
40
|
|
|
38
41
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -44,6 +47,7 @@ module Moov
|
|
|
44
47
|
return false unless @pull_payment_method_id == other.pull_payment_method_id
|
|
45
48
|
return false unless @statement_descriptor == other.statement_descriptor
|
|
46
49
|
return false unless @minimum_balance == other.minimum_balance
|
|
50
|
+
return false unless @schedule == other.schedule
|
|
47
51
|
true
|
|
48
52
|
end
|
|
49
53
|
end
|
|
@@ -22,11 +22,13 @@ module Moov
|
|
|
22
22
|
field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
|
|
23
23
|
# Unique identifier for the wallet funding the card.
|
|
24
24
|
field :funding_wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fundingWalletID'), required: true } }
|
|
25
|
-
# The `state` represents the operational status of an issued card.
|
|
25
|
+
# The `state` represents the operational status of an issued card.
|
|
26
26
|
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
# - `
|
|
27
|
+
# Authorizations can only be approved while the card is `active`:
|
|
28
|
+
#
|
|
29
|
+
# - `active`: The card is operational and authorizations can be approved.
|
|
30
|
+
# - `frozen`: The card is temporarily suspended and authorizations cannot be approved. Set the state back to `active` to reactivate it. A card can move between `frozen` and `active` as often as needed.
|
|
31
|
+
# - `closed`: The card is permanently deactivated. A card is closed by request or when it expires, and cannot be reopened.
|
|
30
32
|
field :state, Models::Components::IssuedCardState, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuedCardState, false) } }
|
|
31
33
|
# Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
|
|
32
34
|
field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
|
|
@@ -22,11 +22,13 @@ module Moov
|
|
|
22
22
|
field :expiration, Models::Components::CardExpiration, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiration'), required: true } }
|
|
23
23
|
# Unique identifier for the wallet funding the card.
|
|
24
24
|
field :funding_wallet_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('fundingWalletID'), required: true } }
|
|
25
|
-
# The `state` represents the operational status of an issued card.
|
|
25
|
+
# The `state` represents the operational status of an issued card.
|
|
26
26
|
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
# - `
|
|
27
|
+
# Authorizations can only be approved while the card is `active`:
|
|
28
|
+
#
|
|
29
|
+
# - `active`: The card is operational and authorizations can be approved.
|
|
30
|
+
# - `frozen`: The card is temporarily suspended and authorizations cannot be approved. Set the state back to `active` to reactivate it. A card can move between `frozen` and `active` as often as needed.
|
|
31
|
+
# - `closed`: The card is permanently deactivated. A card is closed by request or when it expires, and cannot be reopened.
|
|
30
32
|
field :state, Models::Components::IssuedCardState, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('state'), required: true, 'decoder': ::Moov::Utils.open_enum_from_string(Models::Components::IssuedCardState, false) } }
|
|
31
33
|
# Specifies the type of spend card to be issued. Presently supports virtual only, providing a digital number without a physical card.
|
|
32
34
|
field :form_factor, Models::Components::IssuedCardFormFactor, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('formFactor'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuedCardFormFactor, false) } }
|
|
@@ -30,14 +30,16 @@ module Moov
|
|
|
30
30
|
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
31
31
|
# Last four digits of the card number. Omitted for authorizations recorded before this was captured.
|
|
32
32
|
field :last_four_card_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber') } }
|
|
33
|
+
# Identifier for the account of the card's authorized user.
|
|
34
|
+
field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
|
|
33
35
|
# List of card transaction IDs associated with this authorization.
|
|
34
36
|
field :card_transactions, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cardTransactions') } }
|
|
35
37
|
# The reason an authorization or authorization event was declined. Only present if the
|
|
36
38
|
# authorization or event has been declined.
|
|
37
39
|
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) } }
|
|
38
40
|
|
|
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)
|
|
41
|
+
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), authorized_user_account_id: T.nilable(::String), card_transactions: T.nilable(T::Array[::String]), decline_reason: T.nilable(Models::Components::IssuingDeclineReason)).void }
|
|
42
|
+
def initialize(authorization_id:, issued_card_id:, funding_wallet_id:, network:, authorized_amount:, status:, merchant_data:, created_on:, last_four_card_number: nil, authorized_user_account_id: nil, card_transactions: nil, decline_reason: nil)
|
|
41
43
|
@authorization_id = authorization_id
|
|
42
44
|
@issued_card_id = issued_card_id
|
|
43
45
|
@funding_wallet_id = funding_wallet_id
|
|
@@ -47,6 +49,7 @@ module Moov
|
|
|
47
49
|
@merchant_data = merchant_data
|
|
48
50
|
@created_on = created_on
|
|
49
51
|
@last_four_card_number = last_four_card_number
|
|
52
|
+
@authorized_user_account_id = authorized_user_account_id
|
|
50
53
|
@card_transactions = card_transactions
|
|
51
54
|
@decline_reason = decline_reason
|
|
52
55
|
end
|
|
@@ -63,6 +66,7 @@ module Moov
|
|
|
63
66
|
return false unless @merchant_data == other.merchant_data
|
|
64
67
|
return false unless @created_on == other.created_on
|
|
65
68
|
return false unless @last_four_card_number == other.last_four_card_number
|
|
69
|
+
return false unless @authorized_user_account_id == other.authorized_user_account_id
|
|
66
70
|
return false unless @card_transactions == other.card_transactions
|
|
67
71
|
return false unless @decline_reason == other.decline_reason
|
|
68
72
|
true
|
|
@@ -26,6 +26,8 @@ class Moov::Models::Components::IssuedCardAuthorization
|
|
|
26
26
|
def created_on=(str_); end
|
|
27
27
|
def last_four_card_number(); end
|
|
28
28
|
def last_four_card_number=(str_); end
|
|
29
|
+
def authorized_user_account_id(); end
|
|
30
|
+
def authorized_user_account_id=(str_); end
|
|
29
31
|
def card_transactions(); end
|
|
30
32
|
def card_transactions=(str_); end
|
|
31
33
|
def decline_reason(); end
|
|
@@ -7,11 +7,13 @@
|
|
|
7
7
|
module Moov
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
|
-
# IssuedCardState - The `state` represents the operational status of an issued card.
|
|
10
|
+
# IssuedCardState - The `state` represents the operational status of an issued card.
|
|
11
11
|
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
# - `
|
|
12
|
+
# Authorizations can only be approved while the card is `active`:
|
|
13
|
+
#
|
|
14
|
+
# - `active`: The card is operational and authorizations can be approved.
|
|
15
|
+
# - `frozen`: The card is temporarily suspended and authorizations cannot be approved. Set the state back to `active` to reactivate it. A card can move between `frozen` and `active` as often as needed.
|
|
16
|
+
# - `closed`: The card is permanently deactivated. A card is closed by request or when it expires, and cannot be reopened.
|
|
15
17
|
class IssuedCardState
|
|
16
18
|
include ::Crystalline::Enum
|
|
17
19
|
enums do
|
|
@@ -28,11 +28,13 @@ module Moov
|
|
|
28
28
|
field :created_on, ::DateTime, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('createdOn'), required: true, 'decoder': ::Moov::Utils.datetime_from_iso_format(false) } }
|
|
29
29
|
# Last four digits of the card number. Omitted for transactions recorded before this was captured.
|
|
30
30
|
field :last_four_card_number, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lastFourCardNumber') } }
|
|
31
|
+
# Identifier for the account of the card's authorized user.
|
|
32
|
+
field :authorized_user_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizedUserAccountID') } }
|
|
31
33
|
|
|
32
34
|
field :authorization_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('authorizationID') } }
|
|
33
35
|
|
|
34
|
-
sig { params(card_transaction_id: ::String, issued_card_id: ::String, funding_wallet_id: ::String, amount: ::String, authorized_on: ::DateTime, merchant_data: Models::Components::IssuingMerchantData, created_on: ::DateTime, last_four_card_number: T.nilable(::String), authorization_id: T.nilable(::String)).void }
|
|
35
|
-
def initialize(card_transaction_id:, issued_card_id:, funding_wallet_id:, amount:, authorized_on:, merchant_data:, created_on:, last_four_card_number: nil, authorization_id: nil)
|
|
36
|
+
sig { params(card_transaction_id: ::String, issued_card_id: ::String, funding_wallet_id: ::String, amount: ::String, authorized_on: ::DateTime, merchant_data: Models::Components::IssuingMerchantData, created_on: ::DateTime, last_four_card_number: T.nilable(::String), authorized_user_account_id: T.nilable(::String), authorization_id: T.nilable(::String)).void }
|
|
37
|
+
def initialize(card_transaction_id:, issued_card_id:, funding_wallet_id:, amount:, authorized_on:, merchant_data:, created_on:, last_four_card_number: nil, authorized_user_account_id: nil, authorization_id: nil)
|
|
36
38
|
@card_transaction_id = card_transaction_id
|
|
37
39
|
@issued_card_id = issued_card_id
|
|
38
40
|
@funding_wallet_id = funding_wallet_id
|
|
@@ -41,6 +43,7 @@ module Moov
|
|
|
41
43
|
@merchant_data = merchant_data
|
|
42
44
|
@created_on = created_on
|
|
43
45
|
@last_four_card_number = last_four_card_number
|
|
46
|
+
@authorized_user_account_id = authorized_user_account_id
|
|
44
47
|
@authorization_id = authorization_id
|
|
45
48
|
end
|
|
46
49
|
|
|
@@ -55,6 +58,7 @@ module Moov
|
|
|
55
58
|
return false unless @merchant_data == other.merchant_data
|
|
56
59
|
return false unless @created_on == other.created_on
|
|
57
60
|
return false unless @last_four_card_number == other.last_four_card_number
|
|
61
|
+
return false unless @authorized_user_account_id == other.authorized_user_account_id
|
|
58
62
|
return false unless @authorization_id == other.authorization_id
|
|
59
63
|
true
|
|
60
64
|
end
|
|
@@ -24,6 +24,8 @@ class Moov::Models::Components::IssuedCardTransaction
|
|
|
24
24
|
def created_on=(str_); end
|
|
25
25
|
def last_four_card_number(); end
|
|
26
26
|
def last_four_card_number=(str_); end
|
|
27
|
+
def authorized_user_account_id(); end
|
|
28
|
+
def authorized_user_account_id=(str_); end
|
|
27
29
|
def authorization_id(); end
|
|
28
30
|
def authorization_id=(str_); end
|
|
29
31
|
end
|
|
@@ -14,7 +14,7 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# IANA timezone string used to evaluate window boundaries against the authorization time.
|
|
16
16
|
field :timezone, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('timezone'), required: true } }
|
|
17
|
-
# Time windows during which the card
|
|
17
|
+
# Time windows during which authorizations on the card can be approved. Any matching window allows the transaction.
|
|
18
18
|
field :windows, Crystalline::Array.new(Models::Components::ScheduleWindow), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('windows'), required: true } }
|
|
19
19
|
|
|
20
20
|
sig { params(timezone: ::String, windows: T::Array[Models::Components::ScheduleWindow]).void }
|
|
@@ -14,7 +14,7 @@ module Moov
|
|
|
14
14
|
|
|
15
15
|
# IANA timezone string used to evaluate window boundaries against the authorization time.
|
|
16
16
|
field :timezone, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('timezone'), required: true } }
|
|
17
|
-
# Time windows during which the card
|
|
17
|
+
# Time windows during which authorizations on the card can be approved. Any matching window allows the transaction.
|
|
18
18
|
field :windows, Crystalline::Array.new(Models::Components::ScheduleWindow), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('windows'), required: true } }
|
|
19
19
|
|
|
20
20
|
sig { params(timezone: ::String, windows: T::Array[Models::Components::ScheduleWindow]).void }
|
|
@@ -22,14 +22,17 @@ module Moov
|
|
|
22
22
|
field :statement_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statementDescriptor') } }
|
|
23
23
|
|
|
24
24
|
field :minimum_balance, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimumBalance') } }
|
|
25
|
+
# Overrides the time of day this wallet's sweep runs. Sweeps only run on US banking days.
|
|
26
|
+
field :schedule, Crystalline::Nilable.new(Models::Components::Schedule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('schedule') } }
|
|
25
27
|
|
|
26
|
-
sig { params(status: T.nilable(Models::Components::Status), push_payment_method_id: T.nilable(::String), pull_payment_method_id: T.nilable(::String), statement_descriptor: T.nilable(::String), minimum_balance: T.nilable(::String)).void }
|
|
27
|
-
def initialize(status: nil, push_payment_method_id: nil, pull_payment_method_id: nil, statement_descriptor: nil, minimum_balance: nil)
|
|
28
|
+
sig { params(status: T.nilable(Models::Components::Status), push_payment_method_id: T.nilable(::String), pull_payment_method_id: T.nilable(::String), statement_descriptor: T.nilable(::String), minimum_balance: T.nilable(::String), schedule: T.nilable(Models::Components::Schedule)).void }
|
|
29
|
+
def initialize(status: nil, push_payment_method_id: nil, pull_payment_method_id: nil, statement_descriptor: nil, minimum_balance: nil, schedule: nil)
|
|
28
30
|
@status = status
|
|
29
31
|
@push_payment_method_id = push_payment_method_id
|
|
30
32
|
@pull_payment_method_id = pull_payment_method_id
|
|
31
33
|
@statement_descriptor = statement_descriptor
|
|
32
34
|
@minimum_balance = minimum_balance
|
|
35
|
+
@schedule = schedule
|
|
33
36
|
end
|
|
34
37
|
|
|
35
38
|
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
@@ -40,6 +43,7 @@ module Moov
|
|
|
40
43
|
return false unless @pull_payment_method_id == other.pull_payment_method_id
|
|
41
44
|
return false unless @statement_descriptor == other.statement_descriptor
|
|
42
45
|
return false unless @minimum_balance == other.minimum_balance
|
|
46
|
+
return false unless @schedule == other.schedule
|
|
43
47
|
true
|
|
44
48
|
end
|
|
45
49
|
end
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
# Overrides the time of day this wallet's sweep runs. Sweeps only run on US banking days.
|
|
11
|
+
class Schedule
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# Time of day the sweep runs, in 24-hour `HH:mm` format. Must fall on a 15-minute mark (`:00`, `:15`, `:30`, `:45`).
|
|
16
|
+
field :cutoff_time, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cutoffTime'), required: true } }
|
|
17
|
+
# IANA timezone for `cutoffTime`, such as `America/New_York` or `UTC`.
|
|
18
|
+
field :timezone, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('timezone'), required: true } }
|
|
19
|
+
# How often the sweep runs. Defaults to `daily`.
|
|
20
|
+
field :frequency, Crystalline::Nilable.new(Models::Components::SweepScheduleFrequency), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('frequency'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::SweepScheduleFrequency, true) } }
|
|
21
|
+
|
|
22
|
+
sig { params(cutoff_time: ::String, timezone: ::String, frequency: T.nilable(Models::Components::SweepScheduleFrequency)).void }
|
|
23
|
+
def initialize(cutoff_time:, timezone:, frequency: nil)
|
|
24
|
+
@cutoff_time = cutoff_time
|
|
25
|
+
@timezone = timezone
|
|
26
|
+
@frequency = frequency
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
|
+
def ==(other)
|
|
31
|
+
return false unless other.is_a? self.class
|
|
32
|
+
return false unless @cutoff_time == other.cutoff_time
|
|
33
|
+
return false unless @timezone == other.timezone
|
|
34
|
+
return false unless @frequency == other.frequency
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::Schedule
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::Schedule
|
|
11
|
+
def cutoff_time(); end
|
|
12
|
+
def cutoff_time=(str_); end
|
|
13
|
+
def timezone(); end
|
|
14
|
+
def timezone=(str_); end
|
|
15
|
+
def frequency(); end
|
|
16
|
+
def frequency=(str_); end
|
|
17
|
+
end
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
module Moov
|
|
8
8
|
module Models
|
|
9
9
|
module Components
|
|
10
|
-
# A window of time during which the card
|
|
10
|
+
# A window of time during which authorizations on the card can be approved.
|
|
11
11
|
class ScheduleWindow
|
|
12
12
|
extend T::Sig
|
|
13
13
|
include Crystalline::MetadataFields
|
|
@@ -32,11 +32,13 @@ module Moov
|
|
|
32
32
|
field :minimum_balance, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('minimumBalance') } }
|
|
33
33
|
# The text that appears on the banking statement. The default descriptor is a 10 character ID if an override is not set in the sweep configs statementDescriptor.
|
|
34
34
|
field :statement_descriptor, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('statementDescriptor') } }
|
|
35
|
+
# A configured wallet-level override of the time of day the sweep runs.
|
|
36
|
+
field :schedule, Crystalline::Nilable.new(Models::Components::SweepConfigSchedule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('schedule') } }
|
|
35
37
|
# An array of fields that are locked. To request updates, please contact Moov support.
|
|
36
38
|
field :locked_fields, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lockedFields') } }
|
|
37
39
|
|
|
38
|
-
sig { params(sweep_config_id: ::String, wallet_id: ::String, status: Models::Components::SweepConfigStatus, push_payment_method: Models::Components::SweepConfigPaymentMethod, pull_payment_method: Models::Components::SweepConfigPaymentMethod, created_on: ::DateTime, updated_on: ::DateTime, minimum_balance: T.nilable(::String), statement_descriptor: T.nilable(::String), locked_fields: T.nilable(T::Array[::String])).void }
|
|
39
|
-
def initialize(sweep_config_id:, wallet_id:, status:, push_payment_method:, pull_payment_method:, created_on:, updated_on:, minimum_balance: nil, statement_descriptor: nil, locked_fields: nil)
|
|
40
|
+
sig { params(sweep_config_id: ::String, wallet_id: ::String, status: Models::Components::SweepConfigStatus, push_payment_method: Models::Components::SweepConfigPaymentMethod, pull_payment_method: Models::Components::SweepConfigPaymentMethod, created_on: ::DateTime, updated_on: ::DateTime, minimum_balance: T.nilable(::String), statement_descriptor: T.nilable(::String), schedule: T.nilable(Models::Components::SweepConfigSchedule), locked_fields: T.nilable(T::Array[::String])).void }
|
|
41
|
+
def initialize(sweep_config_id:, wallet_id:, status:, push_payment_method:, pull_payment_method:, created_on:, updated_on:, minimum_balance: nil, statement_descriptor: nil, schedule: nil, locked_fields: nil)
|
|
40
42
|
@sweep_config_id = sweep_config_id
|
|
41
43
|
@wallet_id = wallet_id
|
|
42
44
|
@status = status
|
|
@@ -46,6 +48,7 @@ module Moov
|
|
|
46
48
|
@updated_on = updated_on
|
|
47
49
|
@minimum_balance = minimum_balance
|
|
48
50
|
@statement_descriptor = statement_descriptor
|
|
51
|
+
@schedule = schedule
|
|
49
52
|
@locked_fields = locked_fields
|
|
50
53
|
end
|
|
51
54
|
|
|
@@ -61,6 +64,7 @@ module Moov
|
|
|
61
64
|
return false unless @updated_on == other.updated_on
|
|
62
65
|
return false unless @minimum_balance == other.minimum_balance
|
|
63
66
|
return false unless @statement_descriptor == other.statement_descriptor
|
|
67
|
+
return false unless @schedule == other.schedule
|
|
64
68
|
return false unless @locked_fields == other.locked_fields
|
|
65
69
|
true
|
|
66
70
|
end
|
|
@@ -26,6 +26,8 @@ class Moov::Models::Components::SweepConfig
|
|
|
26
26
|
def minimum_balance=(str_); end
|
|
27
27
|
def statement_descriptor(); end
|
|
28
28
|
def statement_descriptor=(str_); end
|
|
29
|
+
def schedule(); end
|
|
30
|
+
def schedule=(str_); end
|
|
29
31
|
def locked_fields(); end
|
|
30
32
|
def locked_fields=(str_); end
|
|
31
33
|
end
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
|
|
11
|
+
class SweepConfigSchedule
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
# Time of day the sweep runs, in 24-hour `HH:mm` format. Must fall on a 15-minute mark (`:00`, `:15`, `:30`, `:45`).
|
|
16
|
+
field :cutoff_time, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cutoffTime'), required: true } }
|
|
17
|
+
# IANA timezone for `cutoffTime`, such as `America/New_York` or `UTC`.
|
|
18
|
+
field :timezone, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('timezone'), required: true } }
|
|
19
|
+
# How often the sweep runs. Defaults to `daily`.
|
|
20
|
+
field :frequency, Crystalline::Nilable.new(Models::Components::SweepScheduleFrequency), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('frequency'), 'decoder': ::Moov::Utils.enum_from_string(Models::Components::SweepScheduleFrequency, true) } }
|
|
21
|
+
|
|
22
|
+
sig { params(cutoff_time: ::String, timezone: ::String, frequency: T.nilable(Models::Components::SweepScheduleFrequency)).void }
|
|
23
|
+
def initialize(cutoff_time:, timezone:, frequency: nil)
|
|
24
|
+
@cutoff_time = cutoff_time
|
|
25
|
+
@timezone = timezone
|
|
26
|
+
@frequency = frequency
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
|
+
def ==(other)
|
|
31
|
+
return false unless other.is_a? self.class
|
|
32
|
+
return false unless @cutoff_time == other.cutoff_time
|
|
33
|
+
return false unless @timezone == other.timezone
|
|
34
|
+
return false unless @frequency == other.frequency
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# typed: true
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Moov::Models::Components::SweepConfigSchedule
|
|
6
|
+
extend ::Crystalline::MetadataFields::ClassMethods
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Moov::Models::Components::SweepConfigSchedule
|
|
11
|
+
def cutoff_time(); end
|
|
12
|
+
def cutoff_time=(str_); end
|
|
13
|
+
def timezone(); end
|
|
14
|
+
def timezone=(str_); end
|
|
15
|
+
def frequency(); end
|
|
16
|
+
def frequency=(str_); end
|
|
17
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
|
|
11
|
+
class SweepConfigScheduleError
|
|
12
|
+
extend T::Sig
|
|
13
|
+
include Crystalline::MetadataFields
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
field :cutoff_time, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('cutoffTime') } }
|
|
17
|
+
|
|
18
|
+
field :timezone, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('timezone') } }
|
|
19
|
+
|
|
20
|
+
field :frequency, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('frequency') } }
|
|
21
|
+
|
|
22
|
+
sig { params(cutoff_time: T.nilable(::String), timezone: T.nilable(::String), frequency: T.nilable(::String)).void }
|
|
23
|
+
def initialize(cutoff_time: nil, timezone: nil, frequency: nil)
|
|
24
|
+
@cutoff_time = cutoff_time
|
|
25
|
+
@timezone = timezone
|
|
26
|
+
@frequency = frequency
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { params(other: T.untyped).returns(T::Boolean) }
|
|
30
|
+
def ==(other)
|
|
31
|
+
return false unless other.is_a? self.class
|
|
32
|
+
return false unless @cutoff_time == other.cutoff_time
|
|
33
|
+
return false unless @timezone == other.timezone
|
|
34
|
+
return false unless @frequency == other.frequency
|
|
35
|
+
true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|