moov_ruby 26.7.1 → 26.10.0.pre.dev.0

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 (159) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/avatars.rb +1 -276
  3. data/lib/moov/card_issuing.rb +0 -116
  4. data/lib/moov/client.rb +2 -2
  5. data/lib/moov/enriched_address.rb +1 -1
  6. data/lib/moov/enriched_profile.rb +1 -1
  7. data/lib/moov/institutions.rb +1 -1
  8. data/lib/moov/models/components/capabilityid.rb +0 -1
  9. data/lib/moov/models/components/{avataruploadrequest.rb → contributingrule.rb} +8 -8
  10. data/lib/moov/models/components/contributingrule.rbi +13 -0
  11. data/lib/moov/models/components/createdtransfer.rb +2 -6
  12. data/lib/moov/models/components/createdtransfer.rbi +0 -2
  13. data/lib/moov/models/components/createrefund.rb +2 -2
  14. data/lib/moov/models/components/createreversal.rb +1 -1
  15. data/lib/moov/models/components/createtransfer.rb +2 -6
  16. data/lib/moov/models/components/createtransfer.rbi +0 -2
  17. data/lib/moov/models/components/fullissuedcard.rb +3 -3
  18. data/lib/moov/models/components/incurredfee.rb +2 -6
  19. data/lib/moov/models/components/incurredfee.rbi +0 -2
  20. data/lib/moov/models/components/issuedcard.rb +3 -3
  21. data/lib/moov/models/components/issuingcontrols.rb +2 -18
  22. data/lib/moov/models/components/issuingcontrols.rbi +0 -8
  23. data/lib/moov/models/components/issuingcontrolserror.rb +2 -18
  24. data/lib/moov/models/components/issuingcontrolserror.rbi +0 -8
  25. data/lib/moov/models/components/issuingintervallimit.rb +1 -4
  26. data/lib/moov/models/components/issuingvelocitylimit.rb +7 -11
  27. data/lib/moov/models/components/issuingvelocitylimit.rbi +2 -4
  28. data/lib/moov/models/components/issuingvelocitylimiterror.rb +2 -6
  29. data/lib/moov/models/components/issuingvelocitylimiterror.rbi +0 -2
  30. data/lib/moov/models/components/partnerriskoutcomesresponse.rb +38 -0
  31. data/lib/moov/models/components/partnerriskoutcomesresponse.rbi +15 -0
  32. data/lib/moov/models/components/paymentlinkpayoutdetails.rb +2 -8
  33. data/lib/moov/models/components/paymentlinkpayoutdetails.rbi +0 -2
  34. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rb +2 -8
  35. data/lib/moov/models/components/paymentlinkpayoutdetailsupdate.rbi +0 -2
  36. data/lib/moov/models/components/paymentmethodswallet.rb +0 -1
  37. data/lib/moov/models/components/payoutdetailserror.rb +2 -6
  38. data/lib/moov/models/components/payoutdetailserror.rbi +0 -2
  39. data/lib/moov/models/components/product.rb +2 -6
  40. data/lib/moov/models/components/product.rbi +0 -2
  41. data/lib/moov/models/components/productrequest.rb +2 -6
  42. data/lib/moov/models/components/productrequest.rbi +0 -2
  43. data/lib/moov/models/components/sendfunds.rb +2 -6
  44. data/lib/moov/models/components/sendfunds.rbi +0 -2
  45. data/lib/moov/models/components/sendfundserror.rb +2 -6
  46. data/lib/moov/models/components/sendfundserror.rbi +0 -2
  47. data/lib/moov/models/components/transfer.rb +2 -6
  48. data/lib/moov/models/components/transfer.rbi +0 -2
  49. data/lib/moov/models/components/transferpaymentmethodswallet.rb +0 -1
  50. data/lib/moov/models/components/updateissuedcard.rb +2 -6
  51. data/lib/moov/models/components/updateissuedcard.rbi +0 -2
  52. data/lib/moov/models/components/wallet.rb +0 -1
  53. data/lib/moov/models/components/wallettype.rb +0 -2
  54. data/lib/moov/models/components/webhookdatatransferstatus.rb +0 -3
  55. data/lib/moov/models/components.rb +2 -34
  56. data/lib/moov/models/errors/productrequestvalidationerror.rb +2 -6
  57. data/lib/moov/models/errors/productrequestvalidationerror.rbi +0 -2
  58. data/lib/moov/models/errors/transfer_error.rb +2 -6
  59. data/lib/moov/models/errors/transfer_error.rbi +0 -2
  60. data/lib/moov/models/errors/updateissuedcarderror.rb +2 -6
  61. data/lib/moov/models/errors/updateissuedcarderror.rbi +0 -2
  62. data/lib/moov/models/operations/gettransferriskoutcomes_request.rb +37 -0
  63. data/lib/moov/models/operations/gettransferriskoutcomes_request.rbi +15 -0
  64. data/lib/moov/models/operations/{listissuingmerchantcategories_response.rb → gettransferriskoutcomes_response.rb} +6 -6
  65. data/lib/moov/models/operations/{deleteavatar_response.rbi → gettransferriskoutcomes_response.rbi} +4 -2
  66. data/lib/moov/models/operations/listproducts_request.rb +2 -8
  67. data/lib/moov/models/operations/listproducts_request.rbi +0 -2
  68. data/lib/moov/models/operations/listtransfers_request.rb +2 -10
  69. data/lib/moov/models/operations/listtransfers_request.rbi +0 -4
  70. data/lib/moov/models/operations.rb +2 -8
  71. data/lib/moov/products.rb +8 -113
  72. data/lib/moov/sdk_hooks/hooks.rb +0 -6
  73. data/lib/moov/sdkconfiguration.rb +4 -4
  74. data/lib/moov/transfers.rb +125 -0
  75. data/lib/moov_ruby.rb +1 -1
  76. metadata +12 -90
  77. data/lib/moov/models/components/allowedscheduleerror.rb +0 -36
  78. data/lib/moov/models/components/allowedscheduleerror.rbi +0 -15
  79. data/lib/moov/models/components/avataruploadrequest.rbi +0 -13
  80. data/lib/moov/models/components/avataruploadrequest_file.rb +0 -36
  81. data/lib/moov/models/components/avataruploadrequest_file.rbi +0 -15
  82. data/lib/moov/models/components/feepaidby.rb +0 -19
  83. data/lib/moov/models/components/feepaidby.rbi +0 -11
  84. data/lib/moov/models/components/issuedcontrols.rb +0 -52
  85. data/lib/moov/models/components/issuedcontrols.rbi +0 -23
  86. data/lib/moov/models/components/issuedcontrols_allowedschedule.rb +0 -36
  87. data/lib/moov/models/components/issuedcontrols_allowedschedule.rbi +0 -15
  88. data/lib/moov/models/components/issuedvelocitylimit.rb +0 -60
  89. data/lib/moov/models/components/issuedvelocitylimit.rbi +0 -27
  90. data/lib/moov/models/components/issuingcontrols_allowedschedule.rb +0 -36
  91. data/lib/moov/models/components/issuingcontrols_allowedschedule.rbi +0 -15
  92. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rb +0 -19
  93. data/lib/moov/models/components/issuingcontrolsrestrictionmode.rbi +0 -11
  94. data/lib/moov/models/components/issuingmerchantcategory.rb +0 -43
  95. data/lib/moov/models/components/issuingmerchantcategory.rbi +0 -11
  96. data/lib/moov/models/components/issuingscheduleday.rb +0 -24
  97. data/lib/moov/models/components/issuingscheduleday.rbi +0 -11
  98. data/lib/moov/models/components/merchantcategories.rb +0 -32
  99. data/lib/moov/models/components/merchantcategories.rbi +0 -13
  100. data/lib/moov/models/components/merchantcategory.rb +0 -37
  101. data/lib/moov/models/components/merchantcategory.rbi +0 -15
  102. data/lib/moov/models/components/merchantcategoryrestrictions.rb +0 -44
  103. data/lib/moov/models/components/merchantcategoryrestrictions.rbi +0 -19
  104. data/lib/moov/models/components/merchantcategoryrestrictionserror.rb +0 -44
  105. data/lib/moov/models/components/merchantcategoryrestrictionserror.rbi +0 -19
  106. data/lib/moov/models/components/merchantentry.rb +0 -40
  107. data/lib/moov/models/components/merchantentry.rbi +0 -17
  108. data/lib/moov/models/components/merchantentryerror.rb +0 -36
  109. data/lib/moov/models/components/merchantentryerror.rbi +0 -15
  110. data/lib/moov/models/components/merchantrestrictions.rb +0 -36
  111. data/lib/moov/models/components/merchantrestrictions.rbi +0 -15
  112. data/lib/moov/models/components/merchantrestrictionserror.rb +0 -36
  113. data/lib/moov/models/components/merchantrestrictionserror.rbi +0 -15
  114. data/lib/moov/models/components/productcategories.rb +0 -32
  115. data/lib/moov/models/components/productcategories.rbi +0 -13
  116. data/lib/moov/models/components/productcategory.rb +0 -48
  117. data/lib/moov/models/components/productcategory.rbi +0 -21
  118. data/lib/moov/models/components/schedulewindow.rb +0 -40
  119. data/lib/moov/models/components/schedulewindow.rbi +0 -17
  120. data/lib/moov/models/components/schedulewindowerror.rb +0 -40
  121. data/lib/moov/models/components/schedulewindowerror.rbi +0 -17
  122. data/lib/moov/models/components/schemebasicauth.rb +0 -36
  123. data/lib/moov/models/components/schemebasicauth.rbi +0 -15
  124. data/lib/moov/models/components/schemeoauth2auth.rb +0 -40
  125. data/lib/moov/models/components/schemeoauth2auth.rbi +0 -17
  126. data/lib/moov/models/components/sendfundswire.rb +0 -32
  127. data/lib/moov/models/components/sendfundswire.rbi +0 -13
  128. data/lib/moov/models/components/sendfundswireerror.rb +0 -32
  129. data/lib/moov/models/components/sendfundswireerror.rbi +0 -13
  130. data/lib/moov/models/components/transfercapture.rb +0 -36
  131. data/lib/moov/models/components/transfercapture.rbi +0 -15
  132. data/lib/moov/models/components/transferfeepaidby.rb +0 -32
  133. data/lib/moov/models/components/transferfeepaidby.rbi +0 -13
  134. data/lib/moov/models/components/updateissuingcontrols.rb +0 -48
  135. data/lib/moov/models/components/updateissuingcontrols.rbi +0 -21
  136. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rb +0 -36
  137. data/lib/moov/models/components/updateissuingcontrols_allowedschedule.rbi +0 -15
  138. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rb +0 -44
  139. data/lib/moov/models/components/updateissuingcontrols_merchantcategoryrestrictions.rbi +0 -19
  140. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rb +0 -36
  141. data/lib/moov/models/components/updateissuingcontrols_merchantrestrictions.rbi +0 -15
  142. data/lib/moov/models/components/updateissuingcontrolserror.rb +0 -48
  143. data/lib/moov/models/components/updateissuingcontrolserror.rbi +0 -21
  144. data/lib/moov/models/operations/deleteavatar_request.rb +0 -32
  145. data/lib/moov/models/operations/deleteavatar_request.rbi +0 -13
  146. data/lib/moov/models/operations/deleteavatar_response.rb +0 -44
  147. data/lib/moov/models/operations/deleteavatar_security.rb +0 -36
  148. data/lib/moov/models/operations/deleteavatar_security.rbi +0 -15
  149. data/lib/moov/models/operations/listissuingmerchantcategories_response.rbi +0 -21
  150. data/lib/moov/models/operations/listproductcategories_response.rb +0 -48
  151. data/lib/moov/models/operations/listproductcategories_response.rbi +0 -21
  152. data/lib/moov/models/operations/uploadavatar_request.rb +0 -36
  153. data/lib/moov/models/operations/uploadavatar_request.rbi +0 -15
  154. data/lib/moov/models/operations/uploadavatar_response.rb +0 -44
  155. data/lib/moov/models/operations/uploadavatar_response.rbi +0 -19
  156. data/lib/moov/models/operations/uploadavatar_security.rb +0 -36
  157. data/lib/moov/models/operations/uploadavatar_security.rbi +0 -15
  158. data/lib/moov/sdk_hooks/clientcredentials.rb +0 -386
  159. data/lib/moov/sdk_hooks/oauth2scopes.rb +0 -18
@@ -1,15 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::AllowedScheduleError
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::AllowedScheduleError
11
- def timezone(); end
12
- def timezone=(str_); end
13
- def windows(); end
14
- def windows=(str_); end
15
- end
@@ -1,13 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::AvatarUploadRequest
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::AvatarUploadRequest
11
- def file(); end
12
- def file=(str_); end
13
- end
@@ -1,36 +0,0 @@
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 AvatarUploadRequestFile
12
- extend T::Sig
13
- include Crystalline::MetadataFields
14
-
15
-
16
- field :file_name, ::String, { 'multipart_form': { 'field_name': 'fileName' } }
17
-
18
- field :content, ::String, { 'multipart_form': { 'content': true } }
19
-
20
- sig { params(file_name: ::String, content: ::String).void }
21
- def initialize(file_name:, content:)
22
- @file_name = file_name
23
- @content = content
24
- end
25
-
26
- sig { params(other: T.untyped).returns(T::Boolean) }
27
- def ==(other)
28
- return false unless other.is_a? self.class
29
- return false unless @file_name == other.file_name
30
- return false unless @content == other.content
31
- true
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,15 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::AvatarUploadRequestFile
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::AvatarUploadRequestFile
11
- def file_name(); end
12
- def file_name=(str_); end
13
- def content(); end
14
- def content=(str_); end
15
- end
@@ -1,19 +0,0 @@
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
- # FeePaidBy - Indicates which party to a money movement bears an incurred fee.
11
- class FeePaidBy < T::Enum
12
- enums do
13
- SOURCE = new('source')
14
- DESTINATION = new('destination')
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::FeePaidBy
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::FeePaidBy
11
- end
@@ -1,52 +0,0 @@
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
- # Spend controls applied to an issued card, including velocity runtime state.
11
- class IssuedControls
12
- extend T::Sig
13
- include Crystalline::MetadataFields
14
-
15
- # Indicates if the card is single-use. If true, the card closes after the first authorization.
16
- field :single_use, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('singleUse') } }
17
- # The spending limits per time interval, including current runtime state.
18
- field :velocity_limits, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IssuedVelocityLimit)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('velocityLimits') } }
19
- # Restricts card usage by merchant category. When not set, all categories are allowed.
20
- field :merchant_category_restrictions, Crystalline::Nilable.new(Models::Components::MerchantCategoryRestrictions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantCategoryRestrictions') } }
21
- # Restricts card usage to specific merchants, or blocks specific merchants.
22
- field :merchant_restrictions, Crystalline::Nilable.new(Models::Components::MerchantRestrictions), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantRestrictions') } }
23
- # Limits card usage to specific days and times.
24
- field :allowed_schedule, Crystalline::Nilable.new(Models::Components::IssuedControlsAllowedSchedule), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowedSchedule') } }
25
- # A spend cutoff date and time. When set, all authorizations after this datetime are declined regardless of other controls.
26
- field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
27
-
28
- sig { params(single_use: T.nilable(T::Boolean), velocity_limits: T.nilable(T::Array[Models::Components::IssuedVelocityLimit]), merchant_category_restrictions: T.nilable(Models::Components::MerchantCategoryRestrictions), merchant_restrictions: T.nilable(Models::Components::MerchantRestrictions), allowed_schedule: T.nilable(Models::Components::IssuedControlsAllowedSchedule), expires_on: T.nilable(::DateTime)).void }
29
- def initialize(single_use: nil, velocity_limits: nil, merchant_category_restrictions: nil, merchant_restrictions: nil, allowed_schedule: nil, expires_on: nil)
30
- @single_use = single_use
31
- @velocity_limits = velocity_limits
32
- @merchant_category_restrictions = merchant_category_restrictions
33
- @merchant_restrictions = merchant_restrictions
34
- @allowed_schedule = allowed_schedule
35
- @expires_on = expires_on
36
- end
37
-
38
- sig { params(other: T.untyped).returns(T::Boolean) }
39
- def ==(other)
40
- return false unless other.is_a? self.class
41
- return false unless @single_use == other.single_use
42
- return false unless @velocity_limits == other.velocity_limits
43
- return false unless @merchant_category_restrictions == other.merchant_category_restrictions
44
- return false unless @merchant_restrictions == other.merchant_restrictions
45
- return false unless @allowed_schedule == other.allowed_schedule
46
- return false unless @expires_on == other.expires_on
47
- true
48
- end
49
- end
50
- end
51
- end
52
- end
@@ -1,23 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::IssuedControls
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::IssuedControls
11
- def single_use(); end
12
- def single_use=(str_); end
13
- def velocity_limits(); end
14
- def velocity_limits=(str_); end
15
- def merchant_category_restrictions(); end
16
- def merchant_category_restrictions=(str_); end
17
- def merchant_restrictions(); end
18
- def merchant_restrictions=(str_); end
19
- def allowed_schedule(); end
20
- def allowed_schedule=(str_); end
21
- def expires_on(); end
22
- def expires_on=(str_); end
23
- end
@@ -1,36 +0,0 @@
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
- # Limits card usage to specific days and times.
11
- class IssuedControlsAllowedSchedule
12
- extend T::Sig
13
- include Crystalline::MetadataFields
14
-
15
- # IANA timezone string used to evaluate window boundaries against the authorization time.
16
- field :timezone, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('timezone'), required: true } }
17
- # Time windows during which the card may authorize. Any matching window allows the transaction.
18
- field :windows, Crystalline::Array.new(Models::Components::ScheduleWindow), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('windows'), required: true } }
19
-
20
- sig { params(timezone: ::String, windows: T::Array[Models::Components::ScheduleWindow]).void }
21
- def initialize(timezone:, windows:)
22
- @timezone = timezone
23
- @windows = windows
24
- end
25
-
26
- sig { params(other: T.untyped).returns(T::Boolean) }
27
- def ==(other)
28
- return false unless other.is_a? self.class
29
- return false unless @timezone == other.timezone
30
- return false unless @windows == other.windows
31
- true
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,15 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::IssuedControlsAllowedSchedule
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::IssuedControlsAllowedSchedule
11
- def timezone(); end
12
- def timezone=(str_); end
13
- def windows(); end
14
- def windows=(str_); end
15
- end
@@ -1,60 +0,0 @@
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
- # A velocity limit with its current runtime state.
11
- class IssuedVelocityLimit
12
- extend T::Sig
13
- include Crystalline::MetadataFields
14
-
15
- # Specifies the time frame for a velocity limit. `per-transaction` applies to each individual authorization and never resets. Time-based intervals (where supported) reset at midnight ET.
16
- field :interval, Models::Components::IssuingIntervalLimit, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('interval'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingIntervalLimit, false) } }
17
- # The maximum amount in cents that can be spent in a given interval.
18
- field :amount, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amount') } }
19
- # The maximum number of transactions allowed in the given interval.
20
- field :count, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('count') } }
21
- # The amount in cents already spent in the current interval.
22
- field :amount_used, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountUsed') } }
23
- # The amount in cents remaining in the current interval.
24
- field :amount_remaining, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('amountRemaining') } }
25
- # The number of transactions already made in the current interval.
26
- field :count_used, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('countUsed') } }
27
- # The number of transactions remaining in the current interval.
28
- field :count_remaining, Crystalline::Nilable.new(::Integer), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('countRemaining') } }
29
- # When the current interval resets. Absent for per-transaction limits.
30
- field :resets_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('resetsOn'), 'decoder': ::Moov::Utils.datetime_from_iso_format(true) } }
31
-
32
- sig { params(interval: Models::Components::IssuingIntervalLimit, amount: T.nilable(::Integer), count: T.nilable(::Integer), amount_used: T.nilable(::Integer), amount_remaining: T.nilable(::Integer), count_used: T.nilable(::Integer), count_remaining: T.nilable(::Integer), resets_on: T.nilable(::DateTime)).void }
33
- def initialize(interval:, amount: nil, count: nil, amount_used: nil, amount_remaining: nil, count_used: nil, count_remaining: nil, resets_on: nil)
34
- @interval = interval
35
- @amount = amount
36
- @count = count
37
- @amount_used = amount_used
38
- @amount_remaining = amount_remaining
39
- @count_used = count_used
40
- @count_remaining = count_remaining
41
- @resets_on = resets_on
42
- end
43
-
44
- sig { params(other: T.untyped).returns(T::Boolean) }
45
- def ==(other)
46
- return false unless other.is_a? self.class
47
- return false unless @interval == other.interval
48
- return false unless @amount == other.amount
49
- return false unless @count == other.count
50
- return false unless @amount_used == other.amount_used
51
- return false unless @amount_remaining == other.amount_remaining
52
- return false unless @count_used == other.count_used
53
- return false unless @count_remaining == other.count_remaining
54
- return false unless @resets_on == other.resets_on
55
- true
56
- end
57
- end
58
- end
59
- end
60
- end
@@ -1,27 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::IssuedVelocityLimit
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::IssuedVelocityLimit
11
- def interval(); end
12
- def interval=(str_); end
13
- def amount(); end
14
- def amount=(str_); end
15
- def count(); end
16
- def count=(str_); end
17
- def amount_used(); end
18
- def amount_used=(str_); end
19
- def amount_remaining(); end
20
- def amount_remaining=(str_); end
21
- def count_used(); end
22
- def count_used=(str_); end
23
- def count_remaining(); end
24
- def count_remaining=(str_); end
25
- def resets_on(); end
26
- def resets_on=(str_); end
27
- end
@@ -1,36 +0,0 @@
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
- # Limits card usage to specific days and times. Set to `null` to remove all schedule restrictions.
11
- class IssuingControlsAllowedSchedule
12
- extend T::Sig
13
- include Crystalline::MetadataFields
14
-
15
- # IANA timezone string used to evaluate window boundaries against the authorization time.
16
- field :timezone, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('timezone'), required: true } }
17
- # Time windows during which the card may authorize. Any matching window allows the transaction.
18
- field :windows, Crystalline::Array.new(Models::Components::ScheduleWindow), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('windows'), required: true } }
19
-
20
- sig { params(timezone: ::String, windows: T::Array[Models::Components::ScheduleWindow]).void }
21
- def initialize(timezone:, windows:)
22
- @timezone = timezone
23
- @windows = windows
24
- end
25
-
26
- sig { params(other: T.untyped).returns(T::Boolean) }
27
- def ==(other)
28
- return false unless other.is_a? self.class
29
- return false unless @timezone == other.timezone
30
- return false unless @windows == other.windows
31
- true
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,15 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::IssuingControlsAllowedSchedule
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::IssuingControlsAllowedSchedule
11
- def timezone(); end
12
- def timezone=(str_); end
13
- def windows(); end
14
- def windows=(str_); end
15
- end
@@ -1,19 +0,0 @@
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
- # IssuingControlsRestrictionMode - Whether the listed items are the only ones allowed (`allow`) or the ones to block (`block`).
11
- class IssuingControlsRestrictionMode < T::Enum
12
- enums do
13
- ALLOW = new('allow')
14
- BLOCK = new('block')
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::IssuingControlsRestrictionMode
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::IssuingControlsRestrictionMode
11
- end
@@ -1,43 +0,0 @@
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
- # IssuingMerchantCategory - Predefined merchant category groups.
11
- class IssuingMerchantCategory < T::Enum
12
- enums do
13
- ADVERTISING = new('advertising')
14
- AIRLINES = new('airlines')
15
- ALCOHOL_AND_BARS = new('alcohol-and-bars')
16
- CAR_RENTAL = new('car-rental')
17
- EDUCATION = new('education')
18
- ELECTRONICS = new('electronics')
19
- FUEL_AND_GAS = new('fuel-and-gas')
20
- GAMBLING = new('gambling')
21
- GROCERIES = new('groceries')
22
- GROUND_TRANSPORTATION = new('ground-transportation')
23
- HARDWARE_AND_HOME = new('hardware-and-home')
24
- HEALTHCARE = new('healthcare')
25
- LIVE_ENTERTAINMENT = new('live-entertainment')
26
- LODGING = new('lodging')
27
- MOVIES = new('movies')
28
- OFFICE_SUPPLIES = new('office-supplies')
29
- PARKING = new('parking')
30
- PERSONAL_CARE = new('personal-care')
31
- PROFESSIONAL_SERVICES = new('professional-services')
32
- RESTAURANTS_AND_DINING = new('restaurants-and-dining')
33
- RETAIL_GENERAL = new('retail-general')
34
- RIDESHARE_AND_TAXIS = new('rideshare-and-taxis')
35
- SOFTWARE_AND_SAAS = new('software-and-saas')
36
- SPORTS_AND_RECREATION = new('sports-and-recreation')
37
- SUBSCRIPTIONS = new('subscriptions')
38
- TRAVEL_AGENCIES = new('travel-agencies')
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::IssuingMerchantCategory
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::IssuingMerchantCategory
11
- end
@@ -1,24 +0,0 @@
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 IssuingScheduleDay < T::Enum
12
- enums do
13
- MONDAY = new('monday')
14
- TUESDAY = new('tuesday')
15
- WEDNESDAY = new('wednesday')
16
- THURSDAY = new('thursday')
17
- FRIDAY = new('friday')
18
- SATURDAY = new('saturday')
19
- SUNDAY = new('sunday')
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,11 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::IssuingScheduleDay
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::IssuingScheduleDay
11
- end
@@ -1,32 +0,0 @@
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
- # The predefined merchant category groups available for issued card spend controls.
11
- class MerchantCategories
12
- extend T::Sig
13
- include Crystalline::MetadataFields
14
-
15
-
16
- field :merchant_categories, Crystalline::Array.new(Models::Components::MerchantCategory), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('merchantCategories'), required: true } }
17
-
18
- sig { params(merchant_categories: T::Array[Models::Components::MerchantCategory]).void }
19
- def initialize(merchant_categories:)
20
- @merchant_categories = merchant_categories
21
- end
22
-
23
- sig { params(other: T.untyped).returns(T::Boolean) }
24
- def ==(other)
25
- return false unless other.is_a? self.class
26
- return false unless @merchant_categories == other.merchant_categories
27
- true
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,13 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::MerchantCategories
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::MerchantCategories
11
- def merchant_categories(); end
12
- def merchant_categories=(str_); end
13
- end
@@ -1,37 +0,0 @@
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
- # A predefined merchant category group and the merchant category codes (MCCs) it covers.
11
- class MerchantCategory
12
- extend T::Sig
13
- include Crystalline::MetadataFields
14
-
15
- # The predefined category group.
16
- field :category, Models::Components::IssuingMerchantCategory, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('category'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingMerchantCategory, false) } }
17
- # The merchant category codes (MCCs) covered by this category. Each entry is either a single
18
- # 4-digit MCC, such as `4511`, or an inclusive range of MCCs, such as `3000-3299`.
19
- field :mccs, Crystalline::Array.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mccs'), required: true } }
20
-
21
- sig { params(category: Models::Components::IssuingMerchantCategory, mccs: T::Array[::String]).void }
22
- def initialize(category:, mccs:)
23
- @category = category
24
- @mccs = mccs
25
- end
26
-
27
- sig { params(other: T.untyped).returns(T::Boolean) }
28
- def ==(other)
29
- return false unless other.is_a? self.class
30
- return false unless @category == other.category
31
- return false unless @mccs == other.mccs
32
- true
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,15 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::MerchantCategory
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::MerchantCategory
11
- def category(); end
12
- def category=(str_); end
13
- def mccs(); end
14
- def mccs=(str_); end
15
- end
@@ -1,44 +0,0 @@
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
- # Restricts card usage by merchant category.
11
- class MerchantCategoryRestrictions
12
- extend T::Sig
13
- include Crystalline::MetadataFields
14
-
15
- # Whether the listed categories are the only ones allowed, or the ones to block.
16
- field :mode, Models::Components::IssuingControlsRestrictionMode, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('mode'), required: true, 'decoder': ::Moov::Utils.enum_from_string(Models::Components::IssuingControlsRestrictionMode, false) } }
17
- # Predefined category groups to allow or block.
18
- field :categories, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::IssuingMerchantCategory)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('categories') } }
19
- # Individual merchant category codes (MCCs) to allow or block, for codes not covered by a predefined category.
20
- field :custom_mc_cs, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('customMCCs') } }
21
- # Merchants that are exempt from category restrictions regardless of their category.
22
- field :exempt_merchants, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::MerchantEntry)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('exemptMerchants') } }
23
-
24
- sig { params(mode: Models::Components::IssuingControlsRestrictionMode, categories: T.nilable(T::Array[Models::Components::IssuingMerchantCategory]), custom_mc_cs: T.nilable(T::Array[::String]), exempt_merchants: T.nilable(T::Array[Models::Components::MerchantEntry])).void }
25
- def initialize(mode:, categories: nil, custom_mc_cs: nil, exempt_merchants: nil)
26
- @mode = mode
27
- @categories = categories
28
- @custom_mc_cs = custom_mc_cs
29
- @exempt_merchants = exempt_merchants
30
- end
31
-
32
- sig { params(other: T.untyped).returns(T::Boolean) }
33
- def ==(other)
34
- return false unless other.is_a? self.class
35
- return false unless @mode == other.mode
36
- return false unless @categories == other.categories
37
- return false unless @custom_mc_cs == other.custom_mc_cs
38
- return false unless @exempt_merchants == other.exempt_merchants
39
- true
40
- end
41
- end
42
- end
43
- end
44
- end