moov_ruby 0.3.18 → 0.3.20

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/lib/moov/images.rb +4 -1
  3. data/lib/moov/invoices.rb +0 -166
  4. data/lib/moov/models/components/createtransfer.rb +2 -2
  5. data/lib/moov/models/components/createtransferlineitem.rb +53 -0
  6. data/lib/moov/models/components/{transferlineitemvalidationerror.rbi → createtransferlineitem.rbi} +8 -6
  7. data/lib/moov/models/components/createtransferlineitemoption.rb +49 -0
  8. data/lib/moov/models/components/{transferlineitemoptionvalidationerror.rbi → createtransferlineitemoption.rbi} +8 -6
  9. data/lib/moov/models/components/{transferlineitemoptionvalidationerror.rb → createtransferlineitemoptionvalidationerror.rb} +7 -3
  10. data/lib/moov/models/components/createtransferlineitemoptionvalidationerror.rbi +21 -0
  11. data/lib/moov/models/components/createtransferlineitems.rb +34 -0
  12. data/lib/moov/models/components/{transferlineitemsvalidationerror.rbi → createtransferlineitems.rbi} +2 -2
  13. data/lib/moov/models/components/{transferlineitemsvalidationerror.rb → createtransferlineitemsvalidationerror.rb} +3 -3
  14. data/lib/moov/models/components/createtransferlineitemsvalidationerror.rbi +13 -0
  15. data/lib/moov/models/components/{transferlineitemvalidationerror.rb → createtransferlineitemvalidationerror.rb} +8 -4
  16. data/lib/moov/models/components/createtransferlineitemvalidationerror.rbi +23 -0
  17. data/lib/moov/models/components/imagemetadata.rb +6 -2
  18. data/lib/moov/models/components/imagemetadata.rbi +2 -0
  19. data/lib/moov/models/components/transferlineitem.rb +6 -2
  20. data/lib/moov/models/components/transferlineitem.rbi +2 -0
  21. data/lib/moov/models/components/transferlineitemimagemetadata.rb +45 -0
  22. data/lib/moov/models/components/transferlineitemimagemetadata.rbi +19 -0
  23. data/lib/moov/models/components/transferlineitemoption.rb +6 -2
  24. data/lib/moov/models/components/transferlineitemoption.rbi +2 -0
  25. data/lib/moov/models/components.rb +7 -4
  26. data/lib/moov/models/errors/transfervalidationerror.rb +2 -2
  27. data/lib/moov/models/errors.rb +0 -1
  28. data/lib/moov/models/operations.rb +0 -2
  29. data/lib/moov/sdkconfiguration.rb +3 -3
  30. metadata +16 -16
  31. data/lib/moov/models/components/markinvoicepaid.rb +0 -41
  32. data/lib/moov/models/components/markinvoicepaid.rbi +0 -17
  33. data/lib/moov/models/errors/markinvoicepaiderror.rb +0 -45
  34. data/lib/moov/models/errors/markinvoicepaiderror.rbi +0 -19
  35. data/lib/moov/models/operations/markpaidinvoice_request.rb +0 -54
  36. data/lib/moov/models/operations/markpaidinvoice_request.rbi +0 -19
  37. data/lib/moov/models/operations/markpaidinvoice_response.rb +0 -49
  38. data/lib/moov/models/operations/markpaidinvoice_response.rbi +0 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8771cf9bd0c7937112cdb9348182567578b85be043fca0382164daf4e5dfc0c5
4
- data.tar.gz: 3e485b0be461bdbb3cb4daa27ecc09b80e331c04712bdb2ef30cddd88197171c
3
+ metadata.gz: 4851832f2945c8c6bd1248f91ec513cdebedf035786f2804f308ff78c8cae994
4
+ data.tar.gz: 642348c732c78146f8f3ed746f4fa6b6cbbd26ff8c60e7e7d5328846c5fe908f
5
5
  SHA512:
6
- metadata.gz: fe737bdaf9d152863cf082d0c7311ff704cf873e4cf9328b9711c841ef49ae820cc015511ce1f4cd4cd2cc58c25adcd880eb2f096b139254bbc164131f398df7
7
- data.tar.gz: 05b872b10e88e25f78544e0f5b43ae3e3e2499d76bc6d4bb9c1266aa2fc340c224505bf7404293a00aea4ff3ddf8d2198fc3fa6c309cc76393e16929a1de0a0e
6
+ metadata.gz: 5ec904930442ff25f0f37da4d6509186bcb1205440da34be61345e201619e02897e95b83c15e49d3f994f5644acb98ade7bd66cf06ac7b0456ab384825d9ae07
7
+ data.tar.gz: 6bfc3b404b2a0d2ada0af2a9b5f7266988a3a89a0af792a8468f15ae30ff487ee7b23b85c29274509629da90d3d1525afd4ff90586548e02ff9ad3c88fdb4904
data/lib/moov/images.rb CHANGED
@@ -609,7 +609,10 @@ module Moov
609
609
 
610
610
  sig { params(account_id: ::String, image_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::DeleteImageResponse) }
611
611
  def delete(account_id:, image_id:, x_moov_version: nil, timeout_ms: nil)
612
- # delete - Permanently delete an image by its ID.
612
+ # delete - Disable an image by its ID.
613
+ #
614
+ # Disabled images are still be accessible via their public URL, and cannot be assigned
615
+ # to products or line-items.
613
616
  request = Models::Operations::DeleteImageRequest.new(
614
617
  account_id: account_id,
615
618
  image_id: image_id,
data/lib/moov/invoices.rb CHANGED
@@ -622,171 +622,5 @@ module Moov
622
622
 
623
623
  end
624
624
  end
625
-
626
-
627
- sig { params(mark_invoice_paid: Models::Components::MarkInvoicePaid, account_id: ::String, invoice_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::MarkPaidInvoiceResponse) }
628
- def mark_paid_invoice(mark_invoice_paid:, account_id:, invoice_id:, x_moov_version: nil, timeout_ms: nil)
629
- # mark_paid_invoice - Marks an invoice as paid outside of the Moov platform.
630
- # If a payment link was created, the corresponding payment link is canceled, but a receipt is still sent.
631
- #
632
- # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
633
- # you'll need to specify the `/accounts/{accountID}/invoices.write` scope.
634
- request = Models::Operations::MarkPaidInvoiceRequest.new(
635
- account_id: account_id,
636
- invoice_id: invoice_id,
637
- mark_invoice_paid: mark_invoice_paid,
638
- x_moov_version: x_moov_version
639
- )
640
- url, params = @sdk_configuration.get_server_details
641
- base_url = Utils.template_url(url, params)
642
- url = Utils.generate_url(
643
- Models::Operations::MarkPaidInvoiceRequest,
644
- base_url,
645
- '/accounts/{accountID}/invoices/{invoiceID}/mark-paid',
646
- request,
647
- @sdk_configuration.globals
648
- )
649
- headers = Utils.get_headers(request, @sdk_configuration.globals)
650
- headers = T.cast(headers, T::Hash[String, String])
651
- req_content_type, data, form = Utils.serialize_request_body(request, false, false, :mark_invoice_paid, :json)
652
- headers['content-type'] = req_content_type
653
- raise StandardError, 'request body is required' if data.nil? && form.nil?
654
-
655
- if form
656
- body = Utils.encode_form(form)
657
- elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
658
- body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
659
- else
660
- body = data
661
- end
662
- headers['Accept'] = 'application/json'
663
- headers['user-agent'] = @sdk_configuration.user_agent
664
-
665
- security = @sdk_configuration.security_source&.call
666
-
667
- timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
668
- timeout ||= @sdk_configuration.timeout
669
-
670
-
671
- connection = @sdk_configuration.client
672
-
673
- hook_ctx = SDKHooks::HookContext.new(
674
- config: @sdk_configuration,
675
- base_url: base_url,
676
- oauth2_scopes: nil,
677
- operation_id: 'markPaidInvoice',
678
- security_source: @sdk_configuration.security_source
679
- )
680
-
681
- error = T.let(nil, T.nilable(StandardError))
682
- http_response = T.let(nil, T.nilable(Faraday::Response))
683
-
684
-
685
- begin
686
- http_response = T.must(connection).put(url) do |req|
687
- req.body = body
688
- req.headers.merge!(headers)
689
- req.options.timeout = timeout unless timeout.nil?
690
- Utils.configure_request_security(req, security)
691
-
692
- @sdk_configuration.hooks.before_request(
693
- hook_ctx: SDKHooks::BeforeRequestHookContext.new(
694
- hook_ctx: hook_ctx
695
- ),
696
- request: req
697
- )
698
- end
699
- rescue StandardError => e
700
- error = e
701
- ensure
702
- if http_response.nil? || Utils.error_status?(http_response.status)
703
- http_response = @sdk_configuration.hooks.after_error(
704
- error: error,
705
- hook_ctx: SDKHooks::AfterErrorHookContext.new(
706
- hook_ctx: hook_ctx
707
- ),
708
- response: http_response
709
- )
710
- else
711
- http_response = @sdk_configuration.hooks.after_success(
712
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
713
- hook_ctx: hook_ctx
714
- ),
715
- response: http_response
716
- )
717
- end
718
-
719
- if http_response.nil?
720
- raise error if !error.nil?
721
- raise 'no response'
722
- end
723
- end
724
-
725
- content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
726
- if Utils.match_status_code(http_response.status, ['200'])
727
- if Utils.match_content_type(content_type, 'application/json')
728
- http_response = @sdk_configuration.hooks.after_success(
729
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
730
- hook_ctx: hook_ctx
731
- ),
732
- response: http_response
733
- )
734
- response_data = http_response.env.response_body
735
- obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Components::Invoice)
736
- response = Models::Operations::MarkPaidInvoiceResponse.new(
737
- status_code: http_response.status,
738
- content_type: content_type,
739
- raw_response: http_response,
740
- headers: http_response.headers,
741
- invoice: T.unsafe(obj)
742
- )
743
-
744
- return response
745
- else
746
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
747
- end
748
- elsif Utils.match_status_code(http_response.status, ['400', '409'])
749
- if Utils.match_content_type(content_type, 'application/json')
750
- http_response = @sdk_configuration.hooks.after_success(
751
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
752
- hook_ctx: hook_ctx
753
- ),
754
- response: http_response
755
- )
756
- response_data = http_response.env.response_body
757
- obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
758
- obj.raw_response = http_response
759
- raise obj
760
- else
761
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
762
- end
763
- elsif Utils.match_status_code(http_response.status, ['422'])
764
- if Utils.match_content_type(content_type, 'application/json')
765
- http_response = @sdk_configuration.hooks.after_success(
766
- hook_ctx: SDKHooks::AfterSuccessHookContext.new(
767
- hook_ctx: hook_ctx
768
- ),
769
- response: http_response
770
- )
771
- response_data = http_response.env.response_body
772
- obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::MarkInvoicePaidError)
773
- obj.raw_response = http_response
774
- raise obj
775
- else
776
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
777
- end
778
- elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
779
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
780
- elsif Utils.match_status_code(http_response.status, ['500', '504'])
781
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
782
- elsif Utils.match_status_code(http_response.status, ['4XX'])
783
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
784
- elsif Utils.match_status_code(http_response.status, ['5XX'])
785
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
786
- else
787
- raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
788
-
789
- end
790
- end
791
625
  end
792
626
  end
@@ -31,9 +31,9 @@ module Moov
31
31
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
32
32
  # An optional collection of line items for a transfer.
33
33
  # When line items are provided, their total plus sales tax must equal the transfer amount.
34
- field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
34
+ field :line_items, Crystalline::Nilable.new(Models::Components::CreateTransferLineItems), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
35
35
 
36
- sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItems)).void }
36
+ sig { params(source: Models::Components::CreateTransferSource, destination: Models::Components::CreateTransferDestination, amount: Models::Components::Amount, facilitator_fee: T.nilable(Models::Components::FacilitatorFee), description: T.nilable(::String), metadata: T.nilable(T::Hash[Symbol, ::String]), sales_tax_amount: T.nilable(Models::Components::Amount), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItems)).void }
37
37
  def initialize(source:, destination:, amount:, facilitator_fee: nil, description: nil, metadata: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil)
38
38
  @source = source
39
39
  @destination = destination
@@ -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 item in a transfer, including optional modifiers and quantity.
12
+ class CreateTransferLineItem
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::CreateTransferLineItemOption)), { '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::CreateTransferLineItemOption]), 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
@@ -2,20 +2,22 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::TransferLineItemValidationError
5
+ class Moov::Models::Components::CreateTransferLineItem
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::TransferLineItemValidationError
11
- def product_id(); end
12
- def product_id=(str_); end
10
+ class Moov::Models::Components::CreateTransferLineItem
13
11
  def name(); end
14
12
  def name=(str_); end
15
13
  def base_price(); end
16
14
  def base_price=(str_); end
17
- def options(); end
18
- def options=(str_); end
19
15
  def quantity(); end
20
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
21
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 CreateTransferLineItemOption
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
@@ -2,18 +2,20 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
 
5
- class Moov::Models::Components::TransferLineItemOptionValidationError
5
+ class Moov::Models::Components::CreateTransferLineItemOption
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::TransferLineItemOptionValidationError
10
+ class Moov::Models::Components::CreateTransferLineItemOption
11
11
  def name(); end
12
12
  def name=(str_); end
13
- def group(); end
14
- def group=(str_); end
15
- def price_modifier(); end
16
- def price_modifier=(str_); end
17
13
  def quantity(); end
18
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
19
21
  end
@@ -9,7 +9,7 @@ module Moov
9
9
  module Components
10
10
 
11
11
 
12
- class TransferLineItemOptionValidationError
12
+ class CreateTransferLineItemOptionValidationError
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -22,12 +22,15 @@ module Moov
22
22
 
23
23
  field :quantity, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('quantity') } }
24
24
 
25
- sig { params(name: T.nilable(::String), group: T.nilable(::String), price_modifier: T.nilable(Models::Components::AmountDecimalValidationError), quantity: T.nilable(::String)).void }
26
- def initialize(name: nil, group: nil, price_modifier: nil, quantity: nil)
25
+ field :image_i_ds, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageIDs') } }
26
+
27
+ sig { params(name: T.nilable(::String), group: T.nilable(::String), price_modifier: T.nilable(Models::Components::AmountDecimalValidationError), quantity: T.nilable(::String), image_i_ds: T.nilable(::String)).void }
28
+ def initialize(name: nil, group: nil, price_modifier: nil, quantity: nil, image_i_ds: nil)
27
29
  @name = name
28
30
  @group = group
29
31
  @price_modifier = price_modifier
30
32
  @quantity = quantity
33
+ @image_i_ds = image_i_ds
31
34
  end
32
35
 
33
36
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -37,6 +40,7 @@ module Moov
37
40
  return false unless @group == other.group
38
41
  return false unless @price_modifier == other.price_modifier
39
42
  return false unless @quantity == other.quantity
43
+ return false unless @image_i_ds == other.image_i_ds
40
44
  true
41
45
  end
42
46
  end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateTransferLineItemOptionValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateTransferLineItemOptionValidationError
11
+ def name(); end
12
+ def name=(str_); end
13
+ def group(); end
14
+ def group=(str_); end
15
+ def price_modifier(); end
16
+ def price_modifier=(str_); end
17
+ def quantity(); end
18
+ def quantity=(str_); end
19
+ def image_i_ds(); end
20
+ def image_i_ds=(str_); end
21
+ 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 transfer.
12
+ # When line items are provided, their total plus sales tax must equal the transfer amount.
13
+ class CreateTransferLineItems
14
+ extend T::Sig
15
+ include Crystalline::MetadataFields
16
+
17
+ # The list of line items.
18
+ field :items, Crystalline::Array.new(Models::Components::CreateTransferLineItem), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items'), required: true } }
19
+
20
+ sig { params(items: T::Array[Models::Components::CreateTransferLineItem]).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::TransferLineItemsValidationError
5
+ class Moov::Models::Components::CreateTransferLineItems
6
6
  extend ::Crystalline::MetadataFields::ClassMethods
7
7
  end
8
8
 
9
9
 
10
- class Moov::Models::Components::TransferLineItemsValidationError
10
+ class Moov::Models::Components::CreateTransferLineItems
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 TransferLineItemsValidationError
12
+ class CreateTransferLineItemsValidationError
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::TransferLineItemValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
17
+ field :items, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::CreateTransferLineItemValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('items') } }
18
18
 
19
- sig { params(items: T.nilable(T::Hash[Symbol, Models::Components::TransferLineItemValidationError])).void }
19
+ sig { params(items: T.nilable(T::Hash[Symbol, Models::Components::CreateTransferLineItemValidationError])).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::CreateTransferLineItemsValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateTransferLineItemsValidationError
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 TransferLineItemValidationError
12
+ class CreateTransferLineItemValidationError
13
13
  extend T::Sig
14
14
  include Crystalline::MetadataFields
15
15
 
@@ -20,17 +20,20 @@ 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::TransferLineItemOptionValidationError)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('options') } }
23
+ field :options, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, Models::Components::CreateTransferLineItemOptionValidationError)), { '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::TransferLineItemOptionValidationError]), quantity: T.nilable(::String)).void }
28
- def initialize(product_id: nil, name: nil, base_price: nil, options: nil, quantity: nil)
27
+ field :image_i_ds, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('imageIDs') } }
28
+
29
+ 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::CreateTransferLineItemOptionValidationError]), quantity: T.nilable(::String), image_i_ds: T.nilable(::String)).void }
30
+ def initialize(product_id: nil, name: nil, base_price: nil, options: nil, quantity: nil, image_i_ds: nil)
29
31
  @product_id = product_id
30
32
  @name = name
31
33
  @base_price = base_price
32
34
  @options = options
33
35
  @quantity = quantity
36
+ @image_i_ds = image_i_ds
34
37
  end
35
38
 
36
39
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -41,6 +44,7 @@ module Moov
41
44
  return false unless @base_price == other.base_price
42
45
  return false unless @options == other.options
43
46
  return false unless @quantity == other.quantity
47
+ return false unless @image_i_ds == other.image_i_ds
44
48
  true
45
49
  end
46
50
  end
@@ -0,0 +1,23 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::CreateTransferLineItemValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::CreateTransferLineItemValidationError
11
+ def product_id(); end
12
+ def product_id=(str_); end
13
+ def name(); end
14
+ def name=(str_); end
15
+ def base_price(); end
16
+ def base_price=(str_); end
17
+ def options(); end
18
+ def options=(str_); end
19
+ def quantity(); end
20
+ def quantity=(str_); end
21
+ def image_i_ds(); end
22
+ def image_i_ds=(str_); end
23
+ end
@@ -27,14 +27,17 @@ module Moov
27
27
  # Alternative text for the image.
28
28
  field :alt_text, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('altText') } }
29
29
 
30
- sig { params(image_id: ::String, public_id: ::String, link: ::String, created_on: ::DateTime, updated_on: ::DateTime, alt_text: T.nilable(::String)).void }
31
- def initialize(image_id:, public_id:, link:, created_on:, updated_on:, alt_text: nil)
30
+ field :disabled_on, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('disabledOn'), 'decoder': Utils.datetime_from_iso_format(true) } }
31
+
32
+ sig { params(image_id: ::String, public_id: ::String, link: ::String, created_on: ::DateTime, updated_on: ::DateTime, alt_text: T.nilable(::String), disabled_on: T.nilable(::DateTime)).void }
33
+ def initialize(image_id:, public_id:, link:, created_on:, updated_on:, alt_text: nil, disabled_on: nil)
32
34
  @image_id = image_id
33
35
  @public_id = public_id
34
36
  @link = link
35
37
  @created_on = created_on
36
38
  @updated_on = updated_on
37
39
  @alt_text = alt_text
40
+ @disabled_on = disabled_on
38
41
  end
39
42
 
40
43
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -46,6 +49,7 @@ module Moov
46
49
  return false unless @created_on == other.created_on
47
50
  return false unless @updated_on == other.updated_on
48
51
  return false unless @alt_text == other.alt_text
52
+ return false unless @disabled_on == other.disabled_on
49
53
  true
50
54
  end
51
55
  end
@@ -20,4 +20,6 @@ class Moov::Models::Components::ImageMetadata
20
20
  def updated_on=(str_); end
21
21
  def alt_text(); end
22
22
  def alt_text=(str_); end
23
+ def disabled_on(); end
24
+ def disabled_on=(str_); end
23
25
  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::TransferLineItemOption)), { '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::TransferLineItemImageMetadata)), { '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::TransferLineItemOption]), 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::TransferLineItemOption]), images: T.nilable(T::Array[Models::Components::TransferLineItemImageMetadata]), 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::TransferLineItem
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 TransferLineItemImageMetadata
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::TransferLineItemImageMetadata
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::TransferLineItemImageMetadata
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::TransferLineItemImageMetadata)), { '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::TransferLineItemImageMetadata]), 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::TransferLineItemOption
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
@@ -195,6 +195,12 @@ module Moov
195
195
  autoload :CreateTransferDestination, 'moov/models/components/createtransferdestination.rb'
196
196
  autoload :CreateTransferDestinationACH, 'moov/models/components/createtransferdestinationach.rb'
197
197
  autoload :CreateTransferDestinationCard, 'moov/models/components/createtransferdestinationcard.rb'
198
+ autoload :CreateTransferLineItem, 'moov/models/components/createtransferlineitem.rb'
199
+ autoload :CreateTransferLineItemOption, 'moov/models/components/createtransferlineitemoption.rb'
200
+ autoload :CreateTransferLineItemOptionValidationError, 'moov/models/components/createtransferlineitemoptionvalidationerror.rb'
201
+ autoload :CreateTransferLineItemValidationError, 'moov/models/components/createtransferlineitemvalidationerror.rb'
202
+ autoload :CreateTransferLineItems, 'moov/models/components/createtransferlineitems.rb'
203
+ autoload :CreateTransferLineItemsValidationError, 'moov/models/components/createtransferlineitemsvalidationerror.rb'
198
204
  autoload :CreateTransferOptions, 'moov/models/components/createtransferoptions.rb'
199
205
  autoload :CreateTransferSource, 'moov/models/components/createtransfersource.rb'
200
206
  autoload :CreateTransferSourceACH, 'moov/models/components/createtransfersourceach.rb'
@@ -322,7 +328,6 @@ module Moov
322
328
  autoload :MXAuthorizationCode, 'moov/models/components/mxauthorizationcode.rb'
323
329
  autoload :ManualTermsOfService, 'moov/models/components/manualtermsofservice.rb'
324
330
  autoload :ManualTermsOfServiceUpdate, 'moov/models/components/manualtermsofserviceupdate.rb'
325
- autoload :MarkInvoicePaid, 'moov/models/components/markinvoicepaid.rb'
326
331
  autoload :MicroDepositStatus, 'moov/models/components/microdepositstatus.rb'
327
332
  autoload :MinimumCommitment, 'moov/models/components/minimumcommitment.rb'
328
333
  autoload :Mode, 'moov/models/components/mode.rb'
@@ -492,11 +497,9 @@ module Moov
492
497
  autoload :TransferDestination, 'moov/models/components/transferdestination.rb'
493
498
  autoload :TransferFailureReason, 'moov/models/components/transferfailurereason.rb'
494
499
  autoload :TransferLineItem, 'moov/models/components/transferlineitem.rb'
500
+ autoload :TransferLineItemImageMetadata, 'moov/models/components/transferlineitemimagemetadata.rb'
495
501
  autoload :TransferLineItemOption, 'moov/models/components/transferlineitemoption.rb'
496
- autoload :TransferLineItemOptionValidationError, 'moov/models/components/transferlineitemoptionvalidationerror.rb'
497
- autoload :TransferLineItemValidationError, 'moov/models/components/transferlineitemvalidationerror.rb'
498
502
  autoload :TransferLineItems, 'moov/models/components/transferlineitems.rb'
499
- autoload :TransferLineItemsValidationError, 'moov/models/components/transferlineitemsvalidationerror.rb'
500
503
  autoload :TransferOptions, 'moov/models/components/transferoptions.rb'
501
504
  autoload :TransferParty, 'moov/models/components/transferparty.rb'
502
505
  autoload :TransferSource, 'moov/models/components/transfersource.rb'
@@ -34,11 +34,11 @@ module Moov
34
34
 
35
35
  field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
36
36
 
37
- field :line_items, Crystalline::Nilable.new(Models::Components::TransferLineItemsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
37
+ field :line_items, Crystalline::Nilable.new(Models::Components::CreateTransferLineItemsValidationError), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('lineItems') } }
38
38
  # Raw HTTP response; suitable for custom response parsing
39
39
  field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
40
40
 
41
- sig { params(amount: T.nilable(::String), source: T.nilable(::String), source_payment_method_id: T.nilable(::String), destination_payment_method_id: T.nilable(::String), description: T.nilable(::String), facilitator_fee_total_decimal: T.nilable(::String), facilitator_fee_markup_decimal: T.nilable(::String), metadata: T.nilable(::String), sales_tax_amount: T.nilable(::String), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::TransferLineItemsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
41
+ sig { params(amount: T.nilable(::String), source: T.nilable(::String), source_payment_method_id: T.nilable(::String), destination_payment_method_id: T.nilable(::String), description: T.nilable(::String), facilitator_fee_total_decimal: T.nilable(::String), facilitator_fee_markup_decimal: T.nilable(::String), metadata: T.nilable(::String), sales_tax_amount: T.nilable(::String), foreign_id: T.nilable(::String), line_items: T.nilable(Models::Components::CreateTransferLineItemsValidationError), raw_response: T.nilable(::Faraday::Response)).void }
42
42
  def initialize(amount: nil, source: nil, source_payment_method_id: nil, destination_payment_method_id: nil, description: nil, facilitator_fee_total_decimal: nil, facilitator_fee_markup_decimal: nil, metadata: nil, sales_tax_amount: nil, foreign_id: nil, line_items: nil, raw_response: nil)
43
43
  @amount = amount
44
44
  @source = source
@@ -33,7 +33,6 @@ module Moov
33
33
  autoload :ListTransfersValidationError, 'moov/models/errors/listtransfersvalidationerror.rb'
34
34
  autoload :ListWalletTransactionsValidationError, 'moov/models/errors/listwallettransactionsvalidationerror.rb'
35
35
  autoload :ListWalletsValidationError, 'moov/models/errors/listwalletsvalidationerror.rb'
36
- autoload :MarkInvoicePaidError, 'moov/models/errors/markinvoicepaiderror.rb'
37
36
  autoload :MicroDepositValidationError, 'moov/models/errors/microdepositvalidationerror.rb'
38
37
  autoload :OnboardingInviteError, 'moov/models/errors/onboardinginviteerror.rb'
39
38
  autoload :PatchAccountError, 'moov/models/errors/patchaccounterror.rb'
@@ -278,8 +278,6 @@ module Moov
278
278
  autoload :ListWalletTransactionsResponse, 'moov/models/operations/listwallettransactions_response.rb'
279
279
  autoload :ListWalletsRequest, 'moov/models/operations/listwallets_request.rb'
280
280
  autoload :ListWalletsResponse, 'moov/models/operations/listwallets_response.rb'
281
- autoload :MarkPaidInvoiceRequest, 'moov/models/operations/markpaidinvoice_request.rb'
282
- autoload :MarkPaidInvoiceResponse, 'moov/models/operations/markpaidinvoice_response.rb'
283
281
  autoload :PingRequest, 'moov/models/operations/ping_request.rb'
284
282
  autoload :PingResponse, 'moov/models/operations/ping_response.rb'
285
283
  autoload :RegisterApplePayMerchantDomainsRequest, 'moov/models/operations/registerapplepaymerchantdomains_request.rb'
@@ -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.18'
99
- @gen_version = '2.788.5'
100
- @user_agent = 'speakeasy-sdk/ruby 0.3.18 2.788.5 latest moov_ruby'
98
+ @sdk_version = '0.3.20'
99
+ @gen_version = '2.788.7'
100
+ @user_agent = 'speakeasy-sdk/ruby 0.3.20 2.788.7 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.18
4
+ version: 0.3.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-19 00:00:00.000000000 Z
11
+ date: 2025-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -612,6 +612,18 @@ files:
612
612
  - lib/moov/models/components/createtransferdestinationach.rbi
613
613
  - lib/moov/models/components/createtransferdestinationcard.rb
614
614
  - lib/moov/models/components/createtransferdestinationcard.rbi
615
+ - lib/moov/models/components/createtransferlineitem.rb
616
+ - lib/moov/models/components/createtransferlineitem.rbi
617
+ - lib/moov/models/components/createtransferlineitemoption.rb
618
+ - lib/moov/models/components/createtransferlineitemoption.rbi
619
+ - lib/moov/models/components/createtransferlineitemoptionvalidationerror.rb
620
+ - lib/moov/models/components/createtransferlineitemoptionvalidationerror.rbi
621
+ - lib/moov/models/components/createtransferlineitems.rb
622
+ - lib/moov/models/components/createtransferlineitems.rbi
623
+ - lib/moov/models/components/createtransferlineitemsvalidationerror.rb
624
+ - lib/moov/models/components/createtransferlineitemsvalidationerror.rbi
625
+ - lib/moov/models/components/createtransferlineitemvalidationerror.rb
626
+ - lib/moov/models/components/createtransferlineitemvalidationerror.rbi
615
627
  - lib/moov/models/components/createtransferoptions.rb
616
628
  - lib/moov/models/components/createtransferoptions.rbi
617
629
  - lib/moov/models/components/createtransfersource.rb
@@ -870,8 +882,6 @@ files:
870
882
  - lib/moov/models/components/manualtermsofservice.rbi
871
883
  - lib/moov/models/components/manualtermsofserviceupdate.rb
872
884
  - lib/moov/models/components/manualtermsofserviceupdate.rbi
873
- - lib/moov/models/components/markinvoicepaid.rb
874
- - lib/moov/models/components/markinvoicepaid.rbi
875
885
  - lib/moov/models/components/microdepositstatus.rb
876
886
  - lib/moov/models/components/microdepositstatus.rbi
877
887
  - lib/moov/models/components/minimumcommitment.rb
@@ -1222,16 +1232,12 @@ files:
1222
1232
  - lib/moov/models/components/transferfailurereason.rbi
1223
1233
  - lib/moov/models/components/transferlineitem.rb
1224
1234
  - lib/moov/models/components/transferlineitem.rbi
1235
+ - lib/moov/models/components/transferlineitemimagemetadata.rb
1236
+ - lib/moov/models/components/transferlineitemimagemetadata.rbi
1225
1237
  - lib/moov/models/components/transferlineitemoption.rb
1226
1238
  - lib/moov/models/components/transferlineitemoption.rbi
1227
- - lib/moov/models/components/transferlineitemoptionvalidationerror.rb
1228
- - lib/moov/models/components/transferlineitemoptionvalidationerror.rbi
1229
1239
  - lib/moov/models/components/transferlineitems.rb
1230
1240
  - lib/moov/models/components/transferlineitems.rbi
1231
- - lib/moov/models/components/transferlineitemsvalidationerror.rb
1232
- - lib/moov/models/components/transferlineitemsvalidationerror.rbi
1233
- - lib/moov/models/components/transferlineitemvalidationerror.rb
1234
- - lib/moov/models/components/transferlineitemvalidationerror.rbi
1235
1241
  - lib/moov/models/components/transferoptions.rb
1236
1242
  - lib/moov/models/components/transferoptions.rbi
1237
1243
  - lib/moov/models/components/transferparty.rb
@@ -1465,8 +1471,6 @@ files:
1465
1471
  - lib/moov/models/errors/listwalletsvalidationerror.rbi
1466
1472
  - lib/moov/models/errors/listwallettransactionsvalidationerror.rb
1467
1473
  - lib/moov/models/errors/listwallettransactionsvalidationerror.rbi
1468
- - lib/moov/models/errors/markinvoicepaiderror.rb
1469
- - lib/moov/models/errors/markinvoicepaiderror.rbi
1470
1474
  - lib/moov/models/errors/microdepositvalidationerror.rb
1471
1475
  - lib/moov/models/errors/microdepositvalidationerror.rbi
1472
1476
  - lib/moov/models/errors/onboardinginviteerror.rb
@@ -2060,10 +2064,6 @@ files:
2060
2064
  - lib/moov/models/operations/listwallettransactions_request.rbi
2061
2065
  - lib/moov/models/operations/listwallettransactions_response.rb
2062
2066
  - lib/moov/models/operations/listwallettransactions_response.rbi
2063
- - lib/moov/models/operations/markpaidinvoice_request.rb
2064
- - lib/moov/models/operations/markpaidinvoice_request.rbi
2065
- - lib/moov/models/operations/markpaidinvoice_response.rb
2066
- - lib/moov/models/operations/markpaidinvoice_response.rbi
2067
2067
  - lib/moov/models/operations/ping_request.rb
2068
2068
  - lib/moov/models/operations/ping_request.rbi
2069
2069
  - lib/moov/models/operations/ping_response.rb
@@ -1,41 +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
-
12
- class MarkInvoicePaid
13
- extend T::Sig
14
- include Crystalline::MetadataFields
15
-
16
-
17
- field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
18
-
19
- field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
20
-
21
- field :payment_date, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentDate'), 'decoder': Utils.datetime_from_iso_format(true) } }
22
-
23
- sig { params(foreign_id: T.nilable(::String), description: T.nilable(::String), payment_date: T.nilable(::DateTime)).void }
24
- def initialize(foreign_id: nil, description: nil, payment_date: nil)
25
- @foreign_id = foreign_id
26
- @description = description
27
- @payment_date = payment_date
28
- end
29
-
30
- sig { params(other: T.untyped).returns(T::Boolean) }
31
- def ==(other)
32
- return false unless other.is_a? self.class
33
- return false unless @foreign_id == other.foreign_id
34
- return false unless @description == other.description
35
- return false unless @payment_date == other.payment_date
36
- true
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,17 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Components::MarkInvoicePaid
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Components::MarkInvoicePaid
11
- def foreign_id(); end
12
- def foreign_id=(str_); end
13
- def description(); end
14
- def description=(str_); end
15
- def payment_date(); end
16
- def payment_date=(str_); end
17
- end
@@ -1,45 +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 Errors
10
-
11
-
12
- class MarkInvoicePaidError < StandardError
13
- extend T::Sig
14
- include Crystalline::MetadataFields
15
-
16
-
17
- field :foreign_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('foreignID') } }
18
-
19
- field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('description') } }
20
-
21
- field :payment_date, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('paymentDate') } }
22
- # Raw HTTP response; suitable for custom response parsing
23
- field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
24
-
25
- sig { params(foreign_id: T.nilable(::String), description: T.nilable(::String), payment_date: T.nilable(::String), raw_response: T.nilable(::Faraday::Response)).void }
26
- def initialize(foreign_id: nil, description: nil, payment_date: nil, raw_response: nil)
27
- @foreign_id = foreign_id
28
- @description = description
29
- @payment_date = payment_date
30
- @raw_response = raw_response
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 @foreign_id == other.foreign_id
37
- return false unless @description == other.description
38
- return false unless @payment_date == other.payment_date
39
- return false unless @raw_response == other.raw_response
40
- true
41
- end
42
- end
43
- end
44
- end
45
- end
@@ -1,19 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Errors::MarkInvoicePaidError
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Errors::MarkInvoicePaidError
11
- def foreign_id(); end
12
- def foreign_id=(str_); end
13
- def description(); end
14
- def description=(str_); end
15
- def payment_date(); end
16
- def payment_date=(str_); end
17
- def raw_response(); end
18
- def raw_response=(str_); end
19
- end
@@ -1,54 +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 Operations
10
-
11
-
12
- class MarkPaidInvoiceRequest
13
- extend T::Sig
14
- include Crystalline::MetadataFields
15
-
16
-
17
- field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
18
-
19
- field :invoice_id, ::String, { 'path_param': { 'field_name': 'invoiceID', 'style': 'simple', 'explode': false } }
20
-
21
- field :mark_invoice_paid, Models::Components::MarkInvoicePaid, { 'request': { 'media_type': 'application/json' } }
22
- # Specify an API version.
23
- #
24
- # API versioning follows the format `vYYYY.QQ.BB`, where
25
- # - `YYYY` is the year
26
- # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
27
- # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
28
- # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
29
- #
30
- # The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
31
- # When no version is specified, the API defaults to `v2024.01.00`.
32
- field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Moov-Version', 'style': 'simple', 'explode': false } }
33
-
34
- sig { params(account_id: ::String, invoice_id: ::String, mark_invoice_paid: Models::Components::MarkInvoicePaid, x_moov_version: T.nilable(::String)).void }
35
- def initialize(account_id:, invoice_id:, mark_invoice_paid:, x_moov_version: nil)
36
- @account_id = account_id
37
- @invoice_id = invoice_id
38
- @mark_invoice_paid = mark_invoice_paid
39
- @x_moov_version = x_moov_version
40
- end
41
-
42
- sig { params(other: T.untyped).returns(T::Boolean) }
43
- def ==(other)
44
- return false unless other.is_a? self.class
45
- return false unless @account_id == other.account_id
46
- return false unless @invoice_id == other.invoice_id
47
- return false unless @mark_invoice_paid == other.mark_invoice_paid
48
- return false unless @x_moov_version == other.x_moov_version
49
- true
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,19 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Operations::MarkPaidInvoiceRequest
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Operations::MarkPaidInvoiceRequest
11
- def account_id(); end
12
- def account_id=(str_); end
13
- def invoice_id(); end
14
- def invoice_id=(str_); end
15
- def mark_invoice_paid(); end
16
- def mark_invoice_paid=(str_); end
17
- def x_moov_version(); end
18
- def x_moov_version=(str_); end
19
- end
@@ -1,49 +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 Operations
10
-
11
-
12
- class MarkPaidInvoiceResponse
13
- extend T::Sig
14
- include Crystalline::MetadataFields
15
-
16
- # HTTP response content type for this operation
17
- field :content_type, ::String
18
- # HTTP response status code for this operation
19
- field :status_code, ::Integer
20
- # Raw HTTP response; suitable for custom response parsing
21
- field :raw_response, ::Faraday::Response
22
-
23
- field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
- # The request completed successfully.
25
- field :invoice, Crystalline::Nilable.new(Models::Components::Invoice)
26
-
27
- sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], invoice: T.nilable(Models::Components::Invoice)).void }
28
- def initialize(content_type:, status_code:, raw_response:, headers:, invoice: nil)
29
- @content_type = content_type
30
- @status_code = status_code
31
- @raw_response = raw_response
32
- @headers = headers
33
- @invoice = invoice
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 @content_type == other.content_type
40
- return false unless @status_code == other.status_code
41
- return false unless @raw_response == other.raw_response
42
- return false unless @headers == other.headers
43
- return false unless @invoice == other.invoice
44
- true
45
- end
46
- end
47
- end
48
- end
49
- end
@@ -1,21 +0,0 @@
1
- # typed: true
2
- # frozen_string_literal: true
3
-
4
-
5
- class Moov::Models::Operations::MarkPaidInvoiceResponse
6
- extend ::Crystalline::MetadataFields::ClassMethods
7
- end
8
-
9
-
10
- class Moov::Models::Operations::MarkPaidInvoiceResponse
11
- def content_type(); end
12
- def content_type=(str_); end
13
- def status_code(); end
14
- def status_code=(str_); end
15
- def raw_response(); end
16
- def raw_response=(str_); end
17
- def headers(); end
18
- def headers=(str_); end
19
- def invoice(); end
20
- def invoice=(str_); end
21
- end