dodopayments 2.5.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a46369be5974fc63a5c3360d6ff1fbf05df006aae9f56f83d3f2a4060fa7c123
4
- data.tar.gz: a07401727421cbbed6e6f3c5ee486f326ccd0f55889c356da32ff2a19356c6ed
3
+ metadata.gz: d32cb5b0b3bc5c595dc555bf1c7d347501bb80217035f32f108f2726b5b67aa9
4
+ data.tar.gz: 7d6a36da0c5d1d13efcf9fb8b923890c1b5c7cf99c912d3b97d0fceb70c355ad
5
5
  SHA512:
6
- metadata.gz: b87d8a8386d005ae7a4f8f88a5d08da2e8de56b80ae57eee6ed2a74795d166d053c49f94b75572b7e55e8f9b871edb377d5a07db87d0ac49e9090fcac2cd23ba
7
- data.tar.gz: 61c78491c070481b41902248fe513acfa8f0d3c6ac46ada81c6e4a7e396db0fea9a6e55b8e984e4ac9d7cb6e6ce3d1448716774f6d8f0e0a8db715d8d0ca3eaa
6
+ metadata.gz: 42ed38d3f7a3aa883ef873b5646407b85adc97c08b56d0216e1f04f0a04d6ea20b5b8fc3fbf2290e14fa30027f939f923fa3abfe22d80244f5f3ec59a1d66222
7
+ data.tar.gz: 6f53f029c8506e8fdeda4989daa2bff8e8c646b16d7ea1568813d779c3eac36ddbf0727fe60233916cdb41a9058da97c065c867707ae5124c28680b43c121671
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.6.0 (2026-04-08)
4
+
5
+ Full Changelog: [v2.5.0...v2.6.0](https://github.com/dodopayments/dodopayments-ruby/compare/v2.5.0...v2.6.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** updated openapi spec to v1.94.2 ([6cad8c2](https://github.com/dodopayments/dodopayments-ruby/commit/6cad8c211713ce096110682f4af14b3b82fa3b6d))
10
+
3
11
  ## 2.5.0 (2026-04-01)
4
12
 
5
13
  Full Changelog: [v2.4.1...v2.5.0](https://github.com/dodopayments/dodopayments-ruby/compare/v2.4.1...v2.5.0)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "dodopayments", "~> 2.5.0"
29
+ gem "dodopayments", "~> 2.6.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
@@ -38,6 +38,11 @@ module Dodopayments
38
38
  # @return [String]
39
39
  required :discount_id, String
40
40
 
41
+ # @!attribute metadata
42
+ #
43
+ # @return [Hash{Symbol=>String}]
44
+ required :metadata, Dodopayments::Internal::Type::HashOf[String]
45
+
41
46
  # @!attribute preserve_on_plan_change
42
47
  # Whether this discount should be preserved when a subscription changes plans.
43
48
  # Default: false (discount is removed on plan change)
@@ -89,7 +94,7 @@ module Dodopayments
89
94
  # @return [Integer, nil]
90
95
  optional :usage_limit, Integer, nil?: true
91
96
 
92
- # @!method initialize(amount:, business_id:, code:, created_at:, discount_id:, preserve_on_plan_change:, restricted_to:, times_used:, type:, expires_at: nil, name: nil, subscription_cycles: nil, usage_limit: nil)
97
+ # @!method initialize(amount:, business_id:, code:, created_at:, discount_id:, metadata:, preserve_on_plan_change:, restricted_to:, times_used:, type:, expires_at: nil, name: nil, subscription_cycles: nil, usage_limit: nil)
93
98
  # Some parameter documentations has been truncated, see
94
99
  # {Dodopayments::Models::Discount} for more details.
95
100
  #
@@ -103,6 +108,8 @@ module Dodopayments
103
108
  #
104
109
  # @param discount_id [String] The unique discount ID
105
110
  #
111
+ # @param metadata [Hash{Symbol=>String}]
112
+ #
106
113
  # @param preserve_on_plan_change [Boolean] Whether this discount should be preserved when a subscription changes plans.
107
114
  #
108
115
  # @param restricted_to [Array<String>] List of product IDs to which this discount is restricted.
@@ -41,6 +41,12 @@ module Dodopayments
41
41
  # @return [Time, nil]
42
42
  optional :expires_at, Time, nil?: true
43
43
 
44
+ # @!attribute metadata
45
+ # Additional metadata for the discount
46
+ #
47
+ # @return [Hash{Symbol=>String}, nil]
48
+ optional :metadata, Dodopayments::Internal::Type::HashOf[String]
49
+
44
50
  # @!attribute name
45
51
  #
46
52
  # @return [String, nil]
@@ -73,7 +79,7 @@ module Dodopayments
73
79
  # @return [Integer, nil]
74
80
  optional :usage_limit, Integer, nil?: true
75
81
 
76
- # @!method initialize(amount:, type:, code: nil, expires_at: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, usage_limit: nil, request_options: {})
82
+ # @!method initialize(amount:, type:, code: nil, expires_at: nil, metadata: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, usage_limit: nil, request_options: {})
77
83
  # Some parameter documentations has been truncated, see
78
84
  # {Dodopayments::Models::DiscountCreateParams} for more details.
79
85
  #
@@ -85,6 +91,8 @@ module Dodopayments
85
91
  #
86
92
  # @param expires_at [Time, nil] When the discount expires, if ever.
87
93
  #
94
+ # @param metadata [Hash{Symbol=>String}] Additional metadata for the discount
95
+ #
88
96
  # @param name [String, nil]
89
97
  #
90
98
  # @param preserve_on_plan_change [Boolean] Whether this discount should be preserved when a subscription changes plans.
@@ -35,6 +35,12 @@ module Dodopayments
35
35
  # @return [Time, nil]
36
36
  optional :expires_at, Time, nil?: true
37
37
 
38
+ # @!attribute metadata
39
+ # Additional metadata for the discount
40
+ #
41
+ # @return [Hash{Symbol=>String}, nil]
42
+ optional :metadata, Dodopayments::Internal::Type::HashOf[String], nil?: true
43
+
38
44
  # @!attribute name
39
45
  #
40
46
  # @return [String, nil]
@@ -73,7 +79,7 @@ module Dodopayments
73
79
  # @return [Integer, nil]
74
80
  optional :usage_limit, Integer, nil?: true
75
81
 
76
- # @!method initialize(discount_id:, amount: nil, code: nil, expires_at: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, type: nil, usage_limit: nil, request_options: {})
82
+ # @!method initialize(discount_id:, amount: nil, code: nil, expires_at: nil, metadata: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, type: nil, usage_limit: nil, request_options: {})
77
83
  # Some parameter documentations has been truncated, see
78
84
  # {Dodopayments::Models::DiscountUpdateParams} for more details.
79
85
  #
@@ -85,6 +91,8 @@ module Dodopayments
85
91
  #
86
92
  # @param expires_at [Time, nil]
87
93
  #
94
+ # @param metadata [Hash{Symbol=>String}, nil] Additional metadata for the discount
95
+ #
88
96
  # @param name [String, nil]
89
97
  #
90
98
  # @param preserve_on_plan_change [Boolean, nil] Whether this discount should be preserved when a subscription changes plans.
@@ -9,7 +9,7 @@ module Dodopayments
9
9
  # POST /discounts If `code` is omitted or empty, a random 16-char uppercase code
10
10
  # is generated.
11
11
  #
12
- # @overload create(amount:, type:, code: nil, expires_at: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, usage_limit: nil, request_options: {})
12
+ # @overload create(amount:, type:, code: nil, expires_at: nil, metadata: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, usage_limit: nil, request_options: {})
13
13
  #
14
14
  # @param amount [Integer] The discount amount.
15
15
  #
@@ -19,6 +19,8 @@ module Dodopayments
19
19
  #
20
20
  # @param expires_at [Time, nil] When the discount expires, if ever.
21
21
  #
22
+ # @param metadata [Hash{Symbol=>String}] Additional metadata for the discount
23
+ #
22
24
  # @param name [String, nil]
23
25
  #
24
26
  # @param preserve_on_plan_change [Boolean] Whether this discount should be preserved when a subscription changes plans.
@@ -70,7 +72,7 @@ module Dodopayments
70
72
  #
71
73
  # PATCH /discounts/{discount_id}
72
74
  #
73
- # @overload update(discount_id, amount: nil, code: nil, expires_at: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, type: nil, usage_limit: nil, request_options: {})
75
+ # @overload update(discount_id, amount: nil, code: nil, expires_at: nil, metadata: nil, name: nil, preserve_on_plan_change: nil, restricted_to: nil, subscription_cycles: nil, type: nil, usage_limit: nil, request_options: {})
74
76
  #
75
77
  # @param discount_id [String] Discount Id
76
78
  #
@@ -80,6 +82,8 @@ module Dodopayments
80
82
  #
81
83
  # @param expires_at [Time, nil]
82
84
  #
85
+ # @param metadata [Hash{Symbol=>String}, nil] Additional metadata for the discount
86
+ #
83
87
  # @param name [String, nil]
84
88
  #
85
89
  # @param preserve_on_plan_change [Boolean, nil] Whether this discount should be preserved when a subscription changes plans.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dodopayments
4
- VERSION = "2.5.0"
4
+ VERSION = "2.6.0"
5
5
  end
@@ -32,6 +32,9 @@ module Dodopayments
32
32
  sig { returns(String) }
33
33
  attr_accessor :discount_id
34
34
 
35
+ sig { returns(T::Hash[Symbol, String]) }
36
+ attr_accessor :metadata
37
+
35
38
  # Whether this discount should be preserved when a subscription changes plans.
36
39
  # Default: false (discount is removed on plan change)
37
40
  sig { returns(T::Boolean) }
@@ -74,6 +77,7 @@ module Dodopayments
74
77
  code: String,
75
78
  created_at: Time,
76
79
  discount_id: String,
80
+ metadata: T::Hash[Symbol, String],
77
81
  preserve_on_plan_change: T::Boolean,
78
82
  restricted_to: T::Array[String],
79
83
  times_used: Integer,
@@ -99,6 +103,7 @@ module Dodopayments
99
103
  created_at:,
100
104
  # The unique discount ID
101
105
  discount_id:,
106
+ metadata:,
102
107
  # Whether this discount should be preserved when a subscription changes plans.
103
108
  # Default: false (discount is removed on plan change)
104
109
  preserve_on_plan_change:,
@@ -129,6 +134,7 @@ module Dodopayments
129
134
  code: String,
130
135
  created_at: Time,
131
136
  discount_id: String,
137
+ metadata: T::Hash[Symbol, String],
132
138
  preserve_on_plan_change: T::Boolean,
133
139
  restricted_to: T::Array[String],
134
140
  times_used: Integer,
@@ -40,6 +40,13 @@ module Dodopayments
40
40
  sig { returns(T.nilable(Time)) }
41
41
  attr_accessor :expires_at
42
42
 
43
+ # Additional metadata for the discount
44
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
45
+ attr_reader :metadata
46
+
47
+ sig { params(metadata: T::Hash[Symbol, String]).void }
48
+ attr_writer :metadata
49
+
43
50
  sig { returns(T.nilable(String)) }
44
51
  attr_accessor :name
45
52
 
@@ -71,6 +78,7 @@ module Dodopayments
71
78
  type: Dodopayments::DiscountType::OrSymbol,
72
79
  code: T.nilable(String),
73
80
  expires_at: T.nilable(Time),
81
+ metadata: T::Hash[Symbol, String],
74
82
  name: T.nilable(String),
75
83
  preserve_on_plan_change: T::Boolean,
76
84
  restricted_to: T.nilable(T::Array[String]),
@@ -98,6 +106,8 @@ module Dodopayments
98
106
  code: nil,
99
107
  # When the discount expires, if ever.
100
108
  expires_at: nil,
109
+ # Additional metadata for the discount
110
+ metadata: nil,
101
111
  name: nil,
102
112
  # Whether this discount should be preserved when a subscription changes plans.
103
113
  # Default: false (discount is removed on plan change)
@@ -121,6 +131,7 @@ module Dodopayments
121
131
  type: Dodopayments::DiscountType::OrSymbol,
122
132
  code: T.nilable(String),
123
133
  expires_at: T.nilable(Time),
134
+ metadata: T::Hash[Symbol, String],
124
135
  name: T.nilable(String),
125
136
  preserve_on_plan_change: T::Boolean,
126
137
  restricted_to: T.nilable(T::Array[String]),
@@ -34,6 +34,10 @@ module Dodopayments
34
34
  sig { returns(T.nilable(Time)) }
35
35
  attr_accessor :expires_at
36
36
 
37
+ # Additional metadata for the discount
38
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
39
+ attr_accessor :metadata
40
+
37
41
  sig { returns(T.nilable(String)) }
38
42
  attr_accessor :name
39
43
 
@@ -66,6 +70,7 @@ module Dodopayments
66
70
  amount: T.nilable(Integer),
67
71
  code: T.nilable(String),
68
72
  expires_at: T.nilable(Time),
73
+ metadata: T.nilable(T::Hash[Symbol, String]),
69
74
  name: T.nilable(String),
70
75
  preserve_on_plan_change: T.nilable(T::Boolean),
71
76
  restricted_to: T.nilable(T::Array[String]),
@@ -88,6 +93,8 @@ module Dodopayments
88
93
  # If present, update the discount code (uppercase).
89
94
  code: nil,
90
95
  expires_at: nil,
96
+ # Additional metadata for the discount
97
+ metadata: nil,
91
98
  name: nil,
92
99
  # Whether this discount should be preserved when a subscription changes plans. If
93
100
  # not provided, the existing value is kept.
@@ -113,6 +120,7 @@ module Dodopayments
113
120
  amount: T.nilable(Integer),
114
121
  code: T.nilable(String),
115
122
  expires_at: T.nilable(Time),
123
+ metadata: T.nilable(T::Hash[Symbol, String]),
116
124
  name: T.nilable(String),
117
125
  preserve_on_plan_change: T.nilable(T::Boolean),
118
126
  restricted_to: T.nilable(T::Array[String]),
@@ -11,6 +11,7 @@ module Dodopayments
11
11
  type: Dodopayments::DiscountType::OrSymbol,
12
12
  code: T.nilable(String),
13
13
  expires_at: T.nilable(Time),
14
+ metadata: T::Hash[Symbol, String],
14
15
  name: T.nilable(String),
15
16
  preserve_on_plan_change: T::Boolean,
16
17
  restricted_to: T.nilable(T::Array[String]),
@@ -38,6 +39,8 @@ module Dodopayments
38
39
  code: nil,
39
40
  # When the discount expires, if ever.
40
41
  expires_at: nil,
42
+ # Additional metadata for the discount
43
+ metadata: nil,
41
44
  name: nil,
42
45
  # Whether this discount should be preserved when a subscription changes plans.
43
46
  # Default: false (discount is removed on plan change)
@@ -75,6 +78,7 @@ module Dodopayments
75
78
  amount: T.nilable(Integer),
76
79
  code: T.nilable(String),
77
80
  expires_at: T.nilable(Time),
81
+ metadata: T.nilable(T::Hash[Symbol, String]),
78
82
  name: T.nilable(String),
79
83
  preserve_on_plan_change: T.nilable(T::Boolean),
80
84
  restricted_to: T.nilable(T::Array[String]),
@@ -98,6 +102,8 @@ module Dodopayments
98
102
  # If present, update the discount code (uppercase).
99
103
  code: nil,
100
104
  expires_at: nil,
105
+ # Additional metadata for the discount
106
+ metadata: nil,
101
107
  name: nil,
102
108
  # Whether this discount should be preserved when a subscription changes plans. If
103
109
  # not provided, the existing value is kept.
@@ -7,6 +7,7 @@ module Dodopayments
7
7
  code: String,
8
8
  created_at: Time,
9
9
  discount_id: String,
10
+ metadata: ::Hash[Symbol, String],
10
11
  preserve_on_plan_change: bool,
11
12
  restricted_to: ::Array[String],
12
13
  times_used: Integer,
@@ -28,6 +29,8 @@ module Dodopayments
28
29
 
29
30
  attr_accessor discount_id: String
30
31
 
32
+ attr_accessor metadata: ::Hash[Symbol, String]
33
+
31
34
  attr_accessor preserve_on_plan_change: bool
32
35
 
33
36
  attr_accessor restricted_to: ::Array[String]
@@ -50,6 +53,7 @@ module Dodopayments
50
53
  code: String,
51
54
  created_at: Time,
52
55
  discount_id: String,
56
+ metadata: ::Hash[Symbol, String],
53
57
  preserve_on_plan_change: bool,
54
58
  restricted_to: ::Array[String],
55
59
  times_used: Integer,
@@ -66,6 +70,7 @@ module Dodopayments
66
70
  code: String,
67
71
  created_at: Time,
68
72
  discount_id: String,
73
+ metadata: ::Hash[Symbol, String],
69
74
  preserve_on_plan_change: bool,
70
75
  restricted_to: ::Array[String],
71
76
  times_used: Integer,
@@ -6,6 +6,7 @@ module Dodopayments
6
6
  type: Dodopayments::Models::discount_type,
7
7
  code: String?,
8
8
  expires_at: Time?,
9
+ metadata: ::Hash[Symbol, String],
9
10
  name: String?,
10
11
  preserve_on_plan_change: bool,
11
12
  restricted_to: ::Array[String]?,
@@ -26,6 +27,10 @@ module Dodopayments
26
27
 
27
28
  attr_accessor expires_at: Time?
28
29
 
30
+ attr_reader metadata: ::Hash[Symbol, String]?
31
+
32
+ def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
33
+
29
34
  attr_accessor name: String?
30
35
 
31
36
  attr_reader preserve_on_plan_change: bool?
@@ -43,6 +48,7 @@ module Dodopayments
43
48
  type: Dodopayments::Models::discount_type,
44
49
  ?code: String?,
45
50
  ?expires_at: Time?,
51
+ ?metadata: ::Hash[Symbol, String],
46
52
  ?name: String?,
47
53
  ?preserve_on_plan_change: bool,
48
54
  ?restricted_to: ::Array[String]?,
@@ -56,6 +62,7 @@ module Dodopayments
56
62
  type: Dodopayments::Models::discount_type,
57
63
  code: String?,
58
64
  expires_at: Time?,
65
+ metadata: ::Hash[Symbol, String],
59
66
  name: String?,
60
67
  preserve_on_plan_change: bool,
61
68
  restricted_to: ::Array[String]?,
@@ -6,6 +6,7 @@ module Dodopayments
6
6
  amount: Integer?,
7
7
  code: String?,
8
8
  expires_at: Time?,
9
+ metadata: ::Hash[Symbol, String]?,
9
10
  name: String?,
10
11
  preserve_on_plan_change: bool?,
11
12
  restricted_to: ::Array[String]?,
@@ -27,6 +28,8 @@ module Dodopayments
27
28
 
28
29
  attr_accessor expires_at: Time?
29
30
 
31
+ attr_accessor metadata: ::Hash[Symbol, String]?
32
+
30
33
  attr_accessor name: String?
31
34
 
32
35
  attr_accessor preserve_on_plan_change: bool?
@@ -44,6 +47,7 @@ module Dodopayments
44
47
  ?amount: Integer?,
45
48
  ?code: String?,
46
49
  ?expires_at: Time?,
50
+ ?metadata: ::Hash[Symbol, String]?,
47
51
  ?name: String?,
48
52
  ?preserve_on_plan_change: bool?,
49
53
  ?restricted_to: ::Array[String]?,
@@ -58,6 +62,7 @@ module Dodopayments
58
62
  amount: Integer?,
59
63
  code: String?,
60
64
  expires_at: Time?,
65
+ metadata: ::Hash[Symbol, String]?,
61
66
  name: String?,
62
67
  preserve_on_plan_change: bool?,
63
68
  restricted_to: ::Array[String]?,
@@ -6,6 +6,7 @@ module Dodopayments
6
6
  type: Dodopayments::Models::discount_type,
7
7
  ?code: String?,
8
8
  ?expires_at: Time?,
9
+ ?metadata: ::Hash[Symbol, String],
9
10
  ?name: String?,
10
11
  ?preserve_on_plan_change: bool,
11
12
  ?restricted_to: ::Array[String]?,
@@ -24,6 +25,7 @@ module Dodopayments
24
25
  ?amount: Integer?,
25
26
  ?code: String?,
26
27
  ?expires_at: Time?,
28
+ ?metadata: ::Hash[Symbol, String]?,
27
29
  ?name: String?,
28
30
  ?preserve_on_plan_change: bool?,
29
31
  ?restricted_to: ::Array[String]?,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dodopayments
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dodo Payments
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-01 00:00:00.000000000 Z
11
+ date: 2026-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi