payabli 2.1.2 → 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0ae79b57e309760adb1b2caac942d33ccefa9aec5ddb7ab6b5f19ae7e41ed03
4
- data.tar.gz: 56dac2fa3d7154cddb815950b057a6c82647da075fd1b31e8ae5cdb600d35547
3
+ metadata.gz: c63cd87b466b55d3321c6fcec2e99d2ccd64246958664133b47d868fec929b96
4
+ data.tar.gz: 0734a054554e6eb7befe3b2d47d47c94c86ed692c2817718ac6c6447cb846aad
5
5
  SHA512:
6
- metadata.gz: a84675109a3e57f70b1ba933c759de239ec667ae79dfbd277a54493b31f88dca30e39d1ba24cdeea80b64187f493f5b0ff065e7fff941b182498f611bcc6872e
7
- data.tar.gz: d6730a422a2e7acca5b90b27c4c9fca7205489d1147575966e5ed1859dc5ec7e38cb6ebf07ec7ce4dc0c15bd0e3560b9d202f1ed82d8c66e43b6568b2d21eb53
6
+ metadata.gz: 27185c0e06c9d73f14a4f346dd38e4ab4f24e0171ba4c6adc875d14f9d779758527f46a27dd01cedea7f355e595bee2569a689ddbb3d389b73e460665965757b
7
+ data.tar.gz: b4576a283d9f9c3c1d475613f04fecc504119a0c2cbe6f89752ce49a1c5984b1621a97f0144dfee09769d2b1f90511c2669d1f8882a0041b4a588d6547b6a2a8
data/.fern/metadata.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
- "cliVersion": "3.4.3",
2
+ "cliVersion": "3.22.1",
3
3
  "generatorName": "fernapi/fern-ruby-sdk",
4
- "generatorVersion": "1.0.0-rc64",
4
+ "generatorVersion": "1.0.0-rc66",
5
5
  "generatorConfig": {
6
6
  "enableWireTests": true
7
7
  }
@@ -10,7 +10,7 @@ module Payabli
10
10
  @raw_client = Payabli::Internal::Http::RawClient.new(
11
11
  base_url: base_url || Payabli::Environment::SANDBOX,
12
12
  headers: {
13
- "User-Agent" => "payabli-sdk/2.1.2",
13
+ "User-Agent" => "payabli-sdk/2.1.5",
14
14
  "X-Fern-Language" => "Ruby",
15
15
  requestToken: api_key.to_s
16
16
  }
@@ -38,6 +38,25 @@ module Payabli
38
38
  !@discriminant.nil?
39
39
  end
40
40
 
41
+ # Check if value matches a type, handling type wrapper instances
42
+ # (Internal::Types::Hash and Internal::Types::Array instances)
43
+ #
44
+ # @param value [Object]
45
+ # @param member_type [Object]
46
+ # @return [Boolean]
47
+ private def type_matches?(value, member_type)
48
+ case member_type
49
+ when Payabli::Internal::Types::Hash
50
+ value.is_a?(::Hash)
51
+ when Payabli::Internal::Types::Array
52
+ value.is_a?(::Array)
53
+ when Class, Module
54
+ value.is_a?(member_type)
55
+ else
56
+ false
57
+ end
58
+ end
59
+
41
60
  # Resolves the type of a value to be one of the members
42
61
  #
43
62
  # @param value [Object]
@@ -53,7 +72,7 @@ module Payabli
53
72
  # First try exact type matching
54
73
  result = members.find do |_key, mem|
55
74
  member_type = Utils.unwrap_type(mem)
56
- value.is_a?(member_type)
75
+ type_matches?(value, member_type)
57
76
  end&.last&.call
58
77
 
59
78
  return result if result
@@ -5,7 +5,7 @@ module Payabli
5
5
  module Frequency
6
6
  extend Payabli::Internal::Types::Enum
7
7
 
8
- ONE_TIME = "one-time"
8
+ ONE_TIME = "onetime"
9
9
  WEEKLY = "weekly"
10
10
  EVERY_2_WEEKS = "every2weeks"
11
11
  EVERY_6_MONTHS = "every6months"
@@ -8,7 +8,7 @@ module Payabli
8
8
  field :every_3_months, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "every3Months"
9
9
  field :every_6_months, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "every6Months"
10
10
  field :monthly, -> { Internal::Types::Boolean }, optional: true, nullable: false
11
- field :one_time, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "one-time"
11
+ field :onetime, -> { Internal::Types::Boolean }, optional: true, nullable: false
12
12
  field :weekly, -> { Internal::Types::Boolean }, optional: true, nullable: false
13
13
  end
14
14
  end
@@ -4,7 +4,7 @@ module Payabli
4
4
  module Types
5
5
  # Customer information.
6
6
  class PayorDataResponse < Internal::Types::Model
7
- field :additional_data, -> { Internal::Types::Hash[String, Internal::Types::Hash[String, Object]] }, optional: false, nullable: true, api_name: "AdditionalData"
7
+ field :additional_data, -> { Internal::Types::Hash[String, String] }, optional: false, nullable: true, api_name: "AdditionalData"
8
8
  field :billing_address_1, -> { String }, optional: false, nullable: true, api_name: "BillingAddress1"
9
9
  field :billing_address_2, -> { String }, optional: false, nullable: true, api_name: "BillingAddress2"
10
10
  field :billing_city, -> { String }, optional: false, nullable: true, api_name: "BillingCity"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Payabli
4
- VERSION = "2.1.2"
4
+ VERSION = "2.1.5"
5
5
  end
data/reference.md CHANGED
@@ -8481,17 +8481,19 @@ client.invoice.add_invoice(
8481
8481
  item_description: 'Consultation for Georgian tours',
8482
8482
  item_cost: 100,
8483
8483
  item_qty: 1,
8484
- item_mode: 1
8484
+ item_mode: 1,
8485
+ item_total_amount: 1
8485
8486
  }, {
8486
8487
  item_product_name: 'Deposit ',
8487
8488
  item_description: 'Deposit for trip planning',
8488
8489
  item_cost: 882.37,
8489
- item_qty: 1
8490
+ item_qty: 1,
8491
+ item_total_amount: 1
8490
8492
  }],
8491
8493
  invoice_date: '2025-10-19',
8492
8494
  invoice_type: 0,
8493
8495
  invoice_status: 1,
8494
- frequency: 'one-time',
8496
+ frequency: 'onetime',
8495
8497
  invoice_amount: 982.37,
8496
8498
  discount: 10,
8497
8499
  invoice_number: 'INV-3'