moov_ruby 0.3.6 → 0.3.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.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/models/components/createpaymentlink.rb +2 -2
  3. data/lib/moov/models/components/createpaymentlinklineitem.rb +53 -0
  4. data/lib/moov/models/components/createpaymentlinklineitem.rbi +23 -0
  5. data/lib/moov/models/components/createpaymentlinklineitemoption.rb +49 -0
  6. data/lib/moov/models/components/createpaymentlinklineitemoption.rbi +21 -0
  7. data/lib/moov/models/components/{paymentlinklineitemoptionvalidationerror.rb → createpaymentlinklineitemoptionvalidationerror.rb} +1 -1
  8. data/lib/moov/models/components/{paymentlinklineitemoptionvalidationerror.rbi → createpaymentlinklineitemoptionvalidationerror.rbi} +2 -2
  9. data/lib/moov/models/components/createpaymentlinklineitems.rb +34 -0
  10. data/lib/moov/models/components/{paymentlinklineitemsupdate.rbi → createpaymentlinklineitems.rbi} +2 -2
  11. data/lib/moov/models/components/{paymentlinklineitemsupdate.rb → createpaymentlinklineitemsupdate.rb} +3 -3
  12. data/lib/moov/models/components/{paymentlinklineitemsvalidationerror.rbi → createpaymentlinklineitemsupdate.rbi} +2 -2
  13. data/lib/moov/models/components/{paymentlinklineitemsvalidationerror.rb → createpaymentlinklineitemsvalidationerror.rb} +3 -3
  14. data/lib/moov/models/components/createpaymentlinklineitemsvalidationerror.rbi +13 -0
  15. data/lib/moov/models/components/{paymentlinklineitemvalidationerror.rb → createpaymentlinklineitemvalidationerror.rb} +3 -3
  16. data/lib/moov/models/components/{paymentlinklineitemvalidationerror.rbi → createpaymentlinklineitemvalidationerror.rbi} +2 -2
  17. data/lib/moov/models/components/paymentlinklineitem.rb +6 -2
  18. data/lib/moov/models/components/paymentlinklineitem.rbi +2 -0
  19. data/lib/moov/models/components/paymentlinklineitemimagemetadata.rb +45 -0
  20. data/lib/moov/models/components/paymentlinklineitemimagemetadata.rbi +19 -0
  21. data/lib/moov/models/components/paymentlinklineitemoption.rb +6 -2
  22. data/lib/moov/models/components/paymentlinklineitemoption.rbi +2 -0
  23. data/lib/moov/models/components/updatepaymentlink.rb +2 -2
  24. data/lib/moov/models/components.rb +8 -4
  25. data/lib/moov/models/errors/createpaymentlinkerror.rb +2 -2
  26. data/lib/moov/models/errors/updatepaymentlinkerror.rb +2 -2
  27. data/lib/moov/sdkconfiguration.rb +3 -3
  28. metadata +18 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6e82043d611fe54224db3e889d98f954b9ad7f1ab7e0f64a4f68889136c80888
4
- data.tar.gz: 7a08c95366851014e14bef987adff72fa91dd7806e7230b53eea4c14101a9844
3
+ metadata.gz: b908b310e2781cccf1bf89bf161ad2596da4ea12e4a05846d6ab68de51dacb6d
4
+ data.tar.gz: 64d8231eac99ce85545edc1cf7b554ed3344a581c4662b431e3c10bf1f10ce42
5
5
  SHA512:
6
- metadata.gz: d2130c4b174e5c1a6248003a01221f734d106b6d1f6cabc2e9d6b39a080174c9d5cdd6bc47cbcdc31cc916b4d957f41c418a7f6c96f2af623f0311ae68cee0bc
7
- data.tar.gz: 97cdbff89a9d057eaabb6f557beeed3d54470b647d07ef824835a0b3bb96756b5a00140e32dd132caa39fc74fc31df2f1d9918eacb7c1e5c20f40742ac77c025
6
+ metadata.gz: 331ea73904cd5c3bddc325525dfb5a39f9b9404e02a05605966fccffaaa1da450d7d5c17f13cbc199586c096bf1e814aee5ea0e13eac94277960708661ba4368
7
+ data.tar.gz: 0105733f7316b62d1036e59fc75f4d5f2f07f91362570fcf46712dfe191cb44325a4325ca790ef967b06c3d105922ad91df1b71fedd78f7fcad4dff630cef6da
@@ -41,9 +41,9 @@ module Moov
41
41
  field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetails), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
42
42
  # An optional collection of line items for a payment link.
43
43
  # When line items are provided, their total plus sales tax must equal the payment link amount.
44
- field :line_items, Crystalline::Nilable.new(Models::Components::PaymentLinkLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
44
+ field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
45
45
 
46
- sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, amount: Models::Components::Amount, display: Models::Components::PaymentLinkDisplayOptions, max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::PaymentLinkLineItems)).void }
46
+ sig { params(partner_account_id: ::String, merchant_payment_method_id: ::String, amount: Models::Components::Amount, display: Models::Components::PaymentLinkDisplayOptions, max_uses: T.nilable(::Integer), expires_on: T.nilable(::DateTime), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetails), payout: T.nilable(Models::Components::PaymentLinkPayoutDetails), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItems)).void }
47
47
  def initialize(partner_account_id:, merchant_payment_method_id:, amount:, display:, max_uses: nil, expires_on: nil, customer: nil, payment: nil, payout: nil, line_items: nil)
48
48
  @partner_account_id = partner_account_id
49
49
  @merchant_payment_method_id = merchant_payment_method_id
@@ -0,0 +1,53 @@
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
+ # Represents a single line item in a payment link, including optional modifiers and quantity.
12
+ class CreatePaymentLinkLineItem
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The name of the item.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # The base price of the item before applying option modifiers.
19
+ field :base_price, Models::Components::AmountDecimal, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice'), required: true } }
20
+ # The quantity of this item.
21
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
22
+ # Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
23
+ field :options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CreatePaymentLinkLineItemOption)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
+ # Optional list of images associated with this line item.
25
+ field :image_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageIDs') } }
26
+ # Optional unique identifier associating the line item with a product.
27
+ field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
28
+
29
+ sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::CreatePaymentLinkLineItemOption]), image_i_ds: T.nilable(T::Array[::String]), product_id: T.nilable(::String)).void }
30
+ def initialize(name:, base_price:, quantity:, options: nil, image_i_ds: nil, product_id: nil)
31
+ @name = name
32
+ @base_price = base_price
33
+ @quantity = quantity
34
+ @options = options
35
+ @image_i_ds = image_i_ds
36
+ @product_id = product_id
37
+ end
38
+
39
+ sig { params(other: T.untyped).returns(T::Boolean) }
40
+ def ==(other)
41
+ return false unless other.is_a? self.class
42
+ return false unless @name == other.name
43
+ return false unless @base_price == other.base_price
44
+ return false unless @quantity == other.quantity
45
+ return false unless @options == other.options
46
+ return false unless @image_i_ds == other.image_i_ds
47
+ return false unless @product_id == other.product_id
48
+ true
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreatePaymentLinkLineItem
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkLineItem
11
+ def name(); end
12
+ def name=(str_); end
13
+ def base_price(); end
14
+ def base_price=(str_); end
15
+ def quantity(); end
16
+ def quantity=(str_); end
17
+ def options(); end
18
+ def options=(str_); end
19
+ def image_i_ds(); end
20
+ def image_i_ds=(str_); end
21
+ def product_id(); end
22
+ def product_id=(str_); end
23
+ end
@@ -0,0 +1,49 @@
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
+ # Represents a modifier or option applied to a line item.
12
+ class CreatePaymentLinkLineItemOption
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The name of the option or modifier.
17
+ field :name, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('name'), required: true } }
18
+ # The quantity of this option.
19
+ field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
20
+ # Optional price modification applied by this option. Can be positive, negative, or zero.
21
+ field :price_modifier, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priceModifier') } }
22
+ # Optional list of images associated with this line item option.
23
+ field :image_i_ds, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageIDs') } }
24
+ # Optional group identifier to categorize related options (e.g., 'toppings').
25
+ field :group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('group') } }
26
+
27
+ sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), image_i_ds: T.nilable(T::Array[::String]), group: T.nilable(::String)).void }
28
+ def initialize(name:, quantity:, price_modifier: nil, image_i_ds: nil, group: nil)
29
+ @name = name
30
+ @quantity = quantity
31
+ @price_modifier = price_modifier
32
+ @image_i_ds = image_i_ds
33
+ @group = group
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @name == other.name
40
+ return false unless @quantity == other.quantity
41
+ return false unless @price_modifier == other.price_modifier
42
+ return false unless @image_i_ds == other.image_i_ds
43
+ return false unless @group == other.group
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreatePaymentLinkLineItemOption
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkLineItemOption
11
+ def name(); end
12
+ def name=(str_); end
13
+ def quantity(); end
14
+ def quantity=(str_); end
15
+ def price_modifier(); end
16
+ def price_modifier=(str_); end
17
+ def image_i_ds(); end
18
+ def image_i_ds=(str_); end
19
+ def group(); end
20
+ def group=(str_); end
21
+ end
@@ -9,7 +9,7 @@ module Moov
9
9
  module Components
10
10
 
11
11
 
12
- class PaymentLinkLineItemOptionValidationError
12
+ class CreatePaymentLinkLineItemOptionValidationError
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::PaymentLinkLineItemOptionValidationError
5
+ class Moov::Models::Components::CreatePaymentLinkLineItemOptionValidationError
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::PaymentLinkLineItemOptionValidationError
10
+ class Moov::Models::Components::CreatePaymentLinkLineItemOptionValidationError
11
11
  def name(); end
12
12
  def name=(str_); end
13
13
  def group(); end
@@ -0,0 +1,34 @@
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
+ # An optional collection of line items for a payment link.
12
+ # When line items are provided, their total plus sales tax must equal the payment link amount.
13
+ class CreatePaymentLinkLineItems
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # The list of line items.
18
+ field :items, Crystalline::Array.new(Models::Components::CreatePaymentLinkLineItem), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items'), required: true } }
19
+
20
+ sig { params(items: T::Array[Models::Components::CreatePaymentLinkLineItem]).void }
21
+ def initialize(items:)
22
+ @items = items
23
+ end
24
+
25
+ sig { params(other: T.untyped).returns(T::Boolean) }
26
+ def ==(other)
27
+ return false unless other.is_a? self.class
28
+ return false unless @items == other.items
29
+ true
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::PaymentLinkLineItemsUpdate
5
+ class Moov::Models::Components::CreatePaymentLinkLineItems
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::PaymentLinkLineItemsUpdate
10
+ class Moov::Models::Components::CreatePaymentLinkLineItems
11
11
  def items(); end
12
12
  def items=(str_); end
13
13
  end
@@ -10,14 +10,14 @@ module Moov
10
10
 
11
11
  # An optional collection of line items for a payment link.
12
12
  # When line items are provided, their total plus sales tax must equal the payment link amount.
13
- class PaymentLinkLineItemsUpdate
13
+ class CreatePaymentLinkLineItemsUpdate
14
14
  extend T::Sig
15
15
  include Crystalline::MetadataFields
16
16
 
17
17
  # The list of line items.
18
- field :items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PaymentLinkLineItem)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
18
+ field :items, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::CreatePaymentLinkLineItem)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
19
19
 
20
- sig { params(items: T.nilable(T::Array[Models::Components::PaymentLinkLineItem])).void }
20
+ sig { params(items: T.nilable(T::Array[Models::Components::CreatePaymentLinkLineItem])).void }
21
21
  def initialize(items: nil)
22
22
  @items = items
23
23
  end
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::PaymentLinkLineItemsValidationError
5
+ class Moov::Models::Components::CreatePaymentLinkLineItemsUpdate
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::PaymentLinkLineItemsValidationError
10
+ class Moov::Models::Components::CreatePaymentLinkLineItemsUpdate
11
11
  def items(); end
12
12
  def items=(str_); end
13
13
  end
@@ -9,14 +9,14 @@ module Moov
9
9
  module Components
10
10
 
11
11
 
12
- class PaymentLinkLineItemsValidationError
12
+ class CreatePaymentLinkLineItemsValidationError
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
16
16
 
17
- field :items, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::PaymentLinkLineItemValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
17
+ field :items, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::CreatePaymentLinkLineItemValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
18
18
 
19
- sig { params(items: T.nilable(T::Hash[Symbol, Models::Components::PaymentLinkLineItemValidationError])).void }
19
+ sig { params(items: T.nilable(T::Hash[Symbol, Models::Components::CreatePaymentLinkLineItemValidationError])).void }
20
20
  def initialize(items: nil)
21
21
  @items = items
22
22
  end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreatePaymentLinkLineItemsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreatePaymentLinkLineItemsValidationError
11
+ def items(); end
12
+ def items=(str_); end
13
+ end
@@ -9,7 +9,7 @@ module Moov
9
9
  module Components
10
10
 
11
11
 
12
- class PaymentLinkLineItemValidationError
12
+ class CreatePaymentLinkLineItemValidationError
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -20,11 +20,11 @@ module Moov
20
20
 
21
21
  field :base_price, Crystalline::Nilable.new(Models::Components::AmountDecimalValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('basePrice') } }
22
22
 
23
- field :options, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::PaymentLinkLineItemOptionValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
23
+ field :options, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::CreatePaymentLinkLineItemOptionValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
24
 
25
25
  field :quantity, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity') } }
26
26
 
27
- sig { params(product_id: T.nilable(::String), name: T.nilable(::String), base_price: T.nilable(Models::Components::AmountDecimalValidationError), options: T.nilable(T::Hash[Symbol, Models::Components::PaymentLinkLineItemOptionValidationError]), quantity: T.nilable(::String)).void }
27
+ sig { params(product_id: T.nilable(::String), name: T.nilable(::String), base_price: T.nilable(Models::Components::AmountDecimalValidationError), options: T.nilable(T::Hash[Symbol, Models::Components::CreatePaymentLinkLineItemOptionValidationError]), quantity: T.nilable(::String)).void }
28
28
  def initialize(product_id: nil, name: nil, base_price: nil, options: nil, quantity: nil)
29
29
  @product_id = product_id
30
30
  @name = name
@@ -2,12 +2,12 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::PaymentLinkLineItemValidationError
5
+ class Moov::Models::Components::CreatePaymentLinkLineItemValidationError
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::PaymentLinkLineItemValidationError
10
+ class Moov::Models::Components::CreatePaymentLinkLineItemValidationError
11
11
  def product_id(); end
12
12
  def product_id=(str_); end
13
13
  def name(); end
@@ -21,15 +21,18 @@ module Moov
21
21
  field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
22
22
  # Optional list of modifiers applied to this item (e.g., toppings, upgrades, customizations).
23
23
  field :options, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PaymentLinkLineItemOption)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
24
+ # Optional list of images associated with this line item.
25
+ field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PaymentLinkLineItemImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
24
26
  # Optional unique identifier associating the line item with a product.
25
27
  field :product_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('productID') } }
26
28
 
27
- sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::PaymentLinkLineItemOption]), product_id: T.nilable(::String)).void }
28
- def initialize(name:, base_price:, quantity:, options: nil, product_id: nil)
29
+ sig { params(name: ::String, base_price: Models::Components::AmountDecimal, quantity: ::Integer, options: T.nilable(T::Array[Models::Components::PaymentLinkLineItemOption]), images: T.nilable(T::Array[Models::Components::PaymentLinkLineItemImageMetadata]), product_id: T.nilable(::String)).void }
30
+ def initialize(name:, base_price:, quantity:, options: nil, images: nil, product_id: nil)
29
31
  @name = name
30
32
  @base_price = base_price
31
33
  @quantity = quantity
32
34
  @options = options
35
+ @images = images
33
36
  @product_id = product_id
34
37
  end
35
38
 
@@ -40,6 +43,7 @@ module Moov
40
43
  return false unless @base_price == other.base_price
41
44
  return false unless @quantity == other.quantity
42
45
  return false unless @options == other.options
46
+ return false unless @images == other.images
43
47
  return false unless @product_id == other.product_id
44
48
  true
45
49
  end
@@ -16,6 +16,8 @@ class Moov::Models::Components::PaymentLinkLineItem
16
16
  def quantity=(str_); end
17
17
  def options(); end
18
18
  def options=(str_); end
19
+ def images(); end
20
+ def images=(str_); end
19
21
  def product_id(); end
20
22
  def product_id=(str_); end
21
23
  end
@@ -0,0 +1,45 @@
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
+
12
+ class PaymentLinkLineItemImageMetadata
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Unique identifier for a image resource.
17
+ field :image_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageID'), required: true } }
18
+ # The image's public URL.
19
+ field :link, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('link'), required: true } }
20
+ # A unique identifier for an image, used in public image links.
21
+ field :public_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('publicID'), required: true } }
22
+ # Alternative text for the image.
23
+ field :alt_text, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('altText') } }
24
+
25
+ sig { params(image_id: ::String, link: ::String, public_id: ::String, alt_text: T.nilable(::String)).void }
26
+ def initialize(image_id:, link:, public_id:, alt_text: nil)
27
+ @image_id = image_id
28
+ @link = link
29
+ @public_id = public_id
30
+ @alt_text = alt_text
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @image_id == other.image_id
37
+ return false unless @link == other.link
38
+ return false unless @public_id == other.public_id
39
+ return false unless @alt_text == other.alt_text
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::PaymentLinkLineItemImageMetadata
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::PaymentLinkLineItemImageMetadata
11
+ def image_id(); end
12
+ def image_id=(str_); end
13
+ def link(); end
14
+ def link=(str_); end
15
+ def public_id(); end
16
+ def public_id=(str_); end
17
+ def alt_text(); end
18
+ def alt_text=(str_); end
19
+ end
@@ -19,14 +19,17 @@ module Moov
19
19
  field :quantity, ::Integer, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity'), required: true } }
20
20
  # Optional price modification applied by this option. Can be positive, negative, or zero.
21
21
  field :price_modifier, Crystalline::Nilable.new(Models::Components::AmountDecimal), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('priceModifier') } }
22
+ # Optional list of images associated with this line item option.
23
+ field :images, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::PaymentLinkLineItemImageMetadata)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('images') } }
22
24
  # Optional group identifier to categorize related options (e.g., 'toppings').
23
25
  field :group, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('group') } }
24
26
 
25
- sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), group: T.nilable(::String)).void }
26
- def initialize(name:, quantity:, price_modifier: nil, group: nil)
27
+ sig { params(name: ::String, quantity: ::Integer, price_modifier: T.nilable(Models::Components::AmountDecimal), images: T.nilable(T::Array[Models::Components::PaymentLinkLineItemImageMetadata]), group: T.nilable(::String)).void }
28
+ def initialize(name:, quantity:, price_modifier: nil, images: nil, group: nil)
27
29
  @name = name
28
30
  @quantity = quantity
29
31
  @price_modifier = price_modifier
32
+ @images = images
30
33
  @group = group
31
34
  end
32
35
 
@@ -36,6 +39,7 @@ module Moov
36
39
  return false unless @name == other.name
37
40
  return false unless @quantity == other.quantity
38
41
  return false unless @price_modifier == other.price_modifier
42
+ return false unless @images == other.images
39
43
  return false unless @group == other.group
40
44
  true
41
45
  end
@@ -14,6 +14,8 @@ class Moov::Models::Components::PaymentLinkLineItemOption
14
14
  def quantity=(str_); end
15
15
  def price_modifier(); end
16
16
  def price_modifier=(str_); end
17
+ def images(); end
18
+ def images=(str_); end
17
19
  def group(); end
18
20
  def group=(str_); end
19
21
  end
@@ -25,11 +25,11 @@ module Moov
25
25
  field :payout, Crystalline::Nilable.new(Models::Components::PaymentLinkPayoutDetailsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
26
26
  # An optional collection of line items for a payment link.
27
27
  # When line items are provided, their total plus sales tax must equal the payment link amount.
28
- field :line_items, Crystalline::Nilable.new(Models::Components::PaymentLinkLineItemsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
28
+ field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItemsUpdate), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
29
29
 
30
30
  field :expires_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('expiresOn'), 'decoder': Utils.datetime_from_iso_format(true) } }
31
31
 
32
- sig { params(amount: T.nilable(Models::Components::AmountUpdate), display: T.nilable(Models::Components::PaymentLinkDisplayOptionsUpdate), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetailsUpdate), payout: T.nilable(Models::Components::PaymentLinkPayoutDetailsUpdate), line_items: T.nilable(Models::Components::PaymentLinkLineItemsUpdate), expires_on: T.nilable(::DateTime)).void }
32
+ sig { params(amount: T.nilable(Models::Components::AmountUpdate), display: T.nilable(Models::Components::PaymentLinkDisplayOptionsUpdate), customer: T.nilable(Models::Components::PaymentLinkCustomerOptions), payment: T.nilable(Models::Components::PaymentLinkPaymentDetailsUpdate), payout: T.nilable(Models::Components::PaymentLinkPayoutDetailsUpdate), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItemsUpdate), expires_on: T.nilable(::DateTime)).void }
33
33
  def initialize(amount: nil, display: nil, customer: nil, payment: nil, payout: nil, line_items: nil, expires_on: nil)
34
34
  @amount = amount
35
35
  @display = display
@@ -161,6 +161,13 @@ module Moov
161
161
  autoload :CreateIndividualProfile, 'moov/models/components/createindividualprofile.rb'
162
162
  autoload :CreateInvoice, 'moov/models/components/createinvoice.rb'
163
163
  autoload :CreatePaymentLink, 'moov/models/components/createpaymentlink.rb'
164
+ autoload :CreatePaymentLinkLineItem, 'moov/models/components/createpaymentlinklineitem.rb'
165
+ autoload :CreatePaymentLinkLineItemOption, 'moov/models/components/createpaymentlinklineitemoption.rb'
166
+ autoload :CreatePaymentLinkLineItemOptionValidationError, 'moov/models/components/createpaymentlinklineitemoptionvalidationerror.rb'
167
+ autoload :CreatePaymentLinkLineItemValidationError, 'moov/models/components/createpaymentlinklineitemvalidationerror.rb'
168
+ autoload :CreatePaymentLinkLineItems, 'moov/models/components/createpaymentlinklineitems.rb'
169
+ autoload :CreatePaymentLinkLineItemsUpdate, 'moov/models/components/createpaymentlinklineitemsupdate.rb'
170
+ autoload :CreatePaymentLinkLineItemsValidationError, 'moov/models/components/createpaymentlinklineitemsvalidationerror.rb'
164
171
  autoload :CreateProductOption, 'moov/models/components/createproductoption.rb'
165
172
  autoload :CreateProductOptionGroup, 'moov/models/components/createproductoptiongroup.rb'
166
173
  autoload :CreateProfile, 'moov/models/components/createprofile.rb'
@@ -348,12 +355,9 @@ module Moov
348
355
  autoload :PaymentLinkDisplayOptions, 'moov/models/components/paymentlinkdisplayoptions.rb'
349
356
  autoload :PaymentLinkDisplayOptionsUpdate, 'moov/models/components/paymentlinkdisplayoptionsupdate.rb'
350
357
  autoload :PaymentLinkLineItem, 'moov/models/components/paymentlinklineitem.rb'
358
+ autoload :PaymentLinkLineItemImageMetadata, 'moov/models/components/paymentlinklineitemimagemetadata.rb'
351
359
  autoload :PaymentLinkLineItemOption, 'moov/models/components/paymentlinklineitemoption.rb'
352
- autoload :PaymentLinkLineItemOptionValidationError, 'moov/models/components/paymentlinklineitemoptionvalidationerror.rb'
353
- autoload :PaymentLinkLineItemValidationError, 'moov/models/components/paymentlinklineitemvalidationerror.rb'
354
360
  autoload :PaymentLinkLineItems, 'moov/models/components/paymentlinklineitems.rb'
355
- autoload :PaymentLinkLineItemsUpdate, 'moov/models/components/paymentlinklineitemsupdate.rb'
356
- autoload :PaymentLinkLineItemsValidationError, 'moov/models/components/paymentlinklineitemsvalidationerror.rb'
357
361
  autoload :PaymentLinkPaymentDetails, 'moov/models/components/paymentlinkpaymentdetails.rb'
358
362
  autoload :PaymentLinkPaymentDetailsUpdate, 'moov/models/components/paymentlinkpaymentdetailsupdate.rb'
359
363
  autoload :PaymentLinkPayoutDetails, 'moov/models/components/paymentlinkpayoutdetails.rb'
@@ -30,11 +30,11 @@ module Moov
30
30
 
31
31
  field :payout, Crystalline::Nilable.new(Models::Components::PayoutDetailsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
32
32
 
33
- field :line_items, Crystalline::Nilable.new(Models::Components::PaymentLinkLineItemsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
33
+ field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItemsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
34
34
  # Raw HTTP response; suitable for custom response parsing
35
35
  field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
36
36
 
37
- sig { params(partner_account_id: T.nilable(::String), merchant_payment_method_id: T.nilable(::String), amount: T.nilable(Models::Components::AmountValidationError), max_uses: T.nilable(::String), expires_on: T.nilable(::String), display: T.nilable(Models::Components::DisplayOptionsError), payment: T.nilable(Models::Components::PaymentDetailsError), payout: T.nilable(Models::Components::PayoutDetailsError), line_items: T.nilable(Models::Components::PaymentLinkLineItemsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
37
+ sig { params(partner_account_id: T.nilable(::String), merchant_payment_method_id: T.nilable(::String), amount: T.nilable(Models::Components::AmountValidationError), max_uses: T.nilable(::String), expires_on: T.nilable(::String), display: T.nilable(Models::Components::DisplayOptionsError), payment: T.nilable(Models::Components::PaymentDetailsError), payout: T.nilable(Models::Components::PayoutDetailsError), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItemsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
38
38
  def initialize(partner_account_id: nil, merchant_payment_method_id: nil, amount: nil, max_uses: nil, expires_on: nil, display: nil, payment: nil, payout: nil, line_items: nil, raw_response: nil)
39
39
  @partner_account_id = partner_account_id
40
40
  @merchant_payment_method_id = merchant_payment_method_id
@@ -24,11 +24,11 @@ module Moov
24
24
 
25
25
  field :payout, Crystalline::Nilable.new(Models::Components::PayoutDetailsError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('payout') } }
26
26
 
27
- field :line_items, Crystalline::Nilable.new(Models::Components::PaymentLinkLineItemsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
27
+ field :line_items, Crystalline::Nilable.new(Models::Components::CreatePaymentLinkLineItemsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
28
28
  # Raw HTTP response; suitable for custom response parsing
29
29
  field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
30
30
 
31
- sig { params(amount: T.nilable(Models::Components::AmountValidationError), expires_on: T.nilable(::String), display: T.nilable(Models::Components::DisplayOptionsError), payment: T.nilable(Models::Components::PaymentDetailsError), payout: T.nilable(Models::Components::PayoutDetailsError), line_items: T.nilable(Models::Components::PaymentLinkLineItemsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
31
+ sig { params(amount: T.nilable(Models::Components::AmountValidationError), expires_on: T.nilable(::String), display: T.nilable(Models::Components::DisplayOptionsError), payment: T.nilable(Models::Components::PaymentDetailsError), payout: T.nilable(Models::Components::PayoutDetailsError), line_items: T.nilable(Models::Components::CreatePaymentLinkLineItemsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
32
32
  def initialize(amount: nil, expires_on: nil, display: nil, payment: nil, payout: nil, line_items: nil, raw_response: nil)
33
33
  @amount = amount
34
34
  @expires_on = expires_on
@@ -95,9 +95,9 @@ module Moov
95
95
  @globals = globals.nil? ? {} : globals
96
96
  @language = 'ruby'
97
97
  @openapi_doc_version = 'latest'
98
- @sdk_version = '0.3.6'
99
- @gen_version = '2.755.9'
100
- @user_agent = 'speakeasy-sdk/ruby 0.3.6 2.755.9 latest moov_ruby'
98
+ @sdk_version = '0.3.7'
99
+ @gen_version = '2.760.2'
100
+ @user_agent = 'speakeasy-sdk/ruby 0.3.7 2.760.2 latest moov_ruby'
101
101
  end
102
102
 
103
103
  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: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-11-21 00:00:00.000000000 Z
11
+ date: 2025-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -542,6 +542,20 @@ files:
542
542
  - lib/moov/models/components/createinvoice.rbi
543
543
  - lib/moov/models/components/createpaymentlink.rb
544
544
  - lib/moov/models/components/createpaymentlink.rbi
545
+ - lib/moov/models/components/createpaymentlinklineitem.rb
546
+ - lib/moov/models/components/createpaymentlinklineitem.rbi
547
+ - lib/moov/models/components/createpaymentlinklineitemoption.rb
548
+ - lib/moov/models/components/createpaymentlinklineitemoption.rbi
549
+ - lib/moov/models/components/createpaymentlinklineitemoptionvalidationerror.rb
550
+ - lib/moov/models/components/createpaymentlinklineitemoptionvalidationerror.rbi
551
+ - lib/moov/models/components/createpaymentlinklineitems.rb
552
+ - lib/moov/models/components/createpaymentlinklineitems.rbi
553
+ - lib/moov/models/components/createpaymentlinklineitemsupdate.rb
554
+ - lib/moov/models/components/createpaymentlinklineitemsupdate.rbi
555
+ - lib/moov/models/components/createpaymentlinklineitemsvalidationerror.rb
556
+ - lib/moov/models/components/createpaymentlinklineitemsvalidationerror.rbi
557
+ - lib/moov/models/components/createpaymentlinklineitemvalidationerror.rb
558
+ - lib/moov/models/components/createpaymentlinklineitemvalidationerror.rbi
545
559
  - lib/moov/models/components/createproductoption.rb
546
560
  - lib/moov/models/components/createproductoption.rbi
547
561
  - lib/moov/models/components/createproductoptiongroup.rb
@@ -926,18 +940,12 @@ files:
926
940
  - lib/moov/models/components/paymentlinkdisplayoptionsupdate.rbi
927
941
  - lib/moov/models/components/paymentlinklineitem.rb
928
942
  - lib/moov/models/components/paymentlinklineitem.rbi
943
+ - lib/moov/models/components/paymentlinklineitemimagemetadata.rb
944
+ - lib/moov/models/components/paymentlinklineitemimagemetadata.rbi
929
945
  - lib/moov/models/components/paymentlinklineitemoption.rb
930
946
  - lib/moov/models/components/paymentlinklineitemoption.rbi
931
- - lib/moov/models/components/paymentlinklineitemoptionvalidationerror.rb
932
- - lib/moov/models/components/paymentlinklineitemoptionvalidationerror.rbi
933
947
  - lib/moov/models/components/paymentlinklineitems.rb
934
948
  - lib/moov/models/components/paymentlinklineitems.rbi
935
- - lib/moov/models/components/paymentlinklineitemsupdate.rb
936
- - lib/moov/models/components/paymentlinklineitemsupdate.rbi
937
- - lib/moov/models/components/paymentlinklineitemsvalidationerror.rb
938
- - lib/moov/models/components/paymentlinklineitemsvalidationerror.rbi
939
- - lib/moov/models/components/paymentlinklineitemvalidationerror.rb
940
- - lib/moov/models/components/paymentlinklineitemvalidationerror.rbi
941
949
  - lib/moov/models/components/paymentlinkpaymentdetails.rb
942
950
  - lib/moov/models/components/paymentlinkpaymentdetails.rbi
943
951
  - lib/moov/models/components/paymentlinkpaymentdetailsupdate.rb