dub 0.2.2.pre.alpha.75 → 0.2.2.pre.alpha.77

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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/open_api_sdk/analytics.rb +5 -1
  3. data/lib/open_api_sdk/customers.rb +17 -5
  4. data/lib/open_api_sdk/domains.rb +14 -4
  5. data/lib/open_api_sdk/dub.rb +9 -16
  6. data/lib/open_api_sdk/embed_tokens.rb +5 -1
  7. data/lib/open_api_sdk/events.rb +5 -1
  8. data/lib/open_api_sdk/folders.rb +14 -4
  9. data/lib/open_api_sdk/links.rb +32 -10
  10. data/lib/open_api_sdk/metatags.rb +5 -1
  11. data/lib/open_api_sdk/models/operations/createcustomer_discount.rb +7 -7
  12. data/lib/open_api_sdk/models/operations/createcustomer_partner.rb +5 -5
  13. data/lib/open_api_sdk/models/operations/createpartner_responsebody.rb +4 -4
  14. data/lib/open_api_sdk/models/operations/discount.rb +7 -7
  15. data/lib/open_api_sdk/models/operations/getcustomer_discount.rb +7 -7
  16. data/lib/open_api_sdk/models/operations/getcustomer_partner.rb +5 -5
  17. data/lib/open_api_sdk/models/operations/getcustomers_partner.rb +5 -5
  18. data/lib/open_api_sdk/models/operations/updatecustomer_discount.rb +7 -7
  19. data/lib/open_api_sdk/models/operations/updatecustomer_partner.rb +5 -5
  20. data/lib/open_api_sdk/models/operations/updatepartnersale_requestbody.rb +11 -5
  21. data/lib/open_api_sdk/models/operations/updatepartnersale_responsebody.rb +5 -2
  22. data/lib/open_api_sdk/models/operations.rb +0 -4
  23. data/lib/open_api_sdk/partners.rb +17 -5
  24. data/lib/open_api_sdk/qr_codes.rb +5 -1
  25. data/lib/open_api_sdk/sdkconfiguration.rb +18 -7
  26. data/lib/open_api_sdk/tags.rb +14 -4
  27. data/lib/open_api_sdk/track.rb +8 -2
  28. data/lib/open_api_sdk/utils/retries.rb +95 -0
  29. data/lib/open_api_sdk/workspaces.rb +8 -2
  30. metadata +33 -8
  31. data/lib/open_api_sdk/models/operations/createcustomer_interval.rb +0 -18
  32. data/lib/open_api_sdk/models/operations/getcustomer_interval.rb +0 -18
  33. data/lib/open_api_sdk/models/operations/getcustomers_interval.rb +0 -18
  34. data/lib/open_api_sdk/models/operations/updatecustomer_interval.rb +0 -18
@@ -16,17 +16,17 @@ module OpenApiSDK
16
16
 
17
17
  field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
18
18
 
19
- field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
19
+ field :image, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
20
20
 
21
- field :image, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
21
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
22
22
 
23
23
 
24
- sig { params(email: ::String, id: ::String, name: ::String, image: T.nilable(::String)).void }
25
- def initialize(email: nil, id: nil, name: nil, image: nil)
24
+ sig { params(email: ::String, id: ::String, image: ::String, name: ::String).void }
25
+ def initialize(email: nil, id: nil, image: nil, name: nil)
26
26
  @email = email
27
27
  @id = id
28
- @name = name
29
28
  @image = image
29
+ @name = name
30
30
  end
31
31
  end
32
32
  end
@@ -18,24 +18,24 @@ module OpenApiSDK
18
18
 
19
19
  field :coupon_test_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('couponTestId') } }
20
20
 
21
- field :duration, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('duration') } }
22
-
23
21
  field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
24
22
 
25
- field :interval, ::OpenApiSDK::Operations::UpdateCustomerInterval, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('interval'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::UpdateCustomerInterval, false) } }
23
+ field :max_duration, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('maxDuration') } }
26
24
 
27
25
  field :type, ::OpenApiSDK::Operations::UpdateCustomerType, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::UpdateCustomerType, false) } }
28
26
 
27
+ field :partners_count, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnersCount') } }
28
+
29
29
 
30
- sig { params(amount: ::Float, coupon_id: ::String, coupon_test_id: ::String, duration: ::Float, id: ::String, interval: ::OpenApiSDK::Operations::UpdateCustomerInterval, type: ::OpenApiSDK::Operations::UpdateCustomerType).void }
31
- def initialize(amount: nil, coupon_id: nil, coupon_test_id: nil, duration: nil, id: nil, interval: nil, type: nil)
30
+ sig { params(amount: ::Float, coupon_id: ::String, coupon_test_id: ::String, id: ::String, max_duration: ::Float, type: ::OpenApiSDK::Operations::UpdateCustomerType, partners_count: T.nilable(::Float)).void }
31
+ def initialize(amount: nil, coupon_id: nil, coupon_test_id: nil, id: nil, max_duration: nil, type: nil, partners_count: nil)
32
32
  @amount = amount
33
33
  @coupon_id = coupon_id
34
34
  @coupon_test_id = coupon_test_id
35
- @duration = duration
36
35
  @id = id
37
- @interval = interval
36
+ @max_duration = max_duration
38
37
  @type = type
38
+ @partners_count = partners_count
39
39
  end
40
40
  end
41
41
  end
@@ -16,17 +16,17 @@ module OpenApiSDK
16
16
 
17
17
  field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
18
18
 
19
- field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
19
+ field :image, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
20
20
 
21
- field :image, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('image') } }
21
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
22
22
 
23
23
 
24
- sig { params(email: ::String, id: ::String, name: ::String, image: T.nilable(::String)).void }
25
- def initialize(email: nil, id: nil, name: nil, image: nil)
24
+ sig { params(email: ::String, id: ::String, image: ::String, name: ::String).void }
25
+ def initialize(email: nil, id: nil, image: nil, name: nil)
26
26
  @email = email
27
27
  @id = id
28
- @name = name
29
28
  @image = image
29
+ @name = name
30
30
  end
31
31
  end
32
32
  end
@@ -11,19 +11,25 @@ module OpenApiSDK
11
11
  class UpdatePartnerSaleRequestBody < ::Crystalline::FieldAugmented
12
12
  extend T::Sig
13
13
 
14
- # The new amount for the sale.
15
- field :amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount') } }
16
14
 
17
15
  field :invoice_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId') } }
18
16
 
19
17
  field :program_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('programId') } }
18
+ # The new absolute amount for the sale.
19
+ field :amount, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount') } }
20
+ # The currency of the sale amount to update. Accepts ISO 4217 currency codes.
21
+ field :currency, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('currency') } }
22
+ # Modify the current sale amount: use positive values to increase the amount, negative values to decrease it.
23
+ field :modify_amount, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('modifyAmount') } }
20
24
 
21
25
 
22
- sig { params(amount: ::Float, invoice_id: ::String, program_id: ::String).void }
23
- def initialize(amount: nil, invoice_id: nil, program_id: nil)
24
- @amount = amount
26
+ sig { params(invoice_id: ::String, program_id: ::String, amount: T.nilable(::Float), currency: T.nilable(::String), modify_amount: T.nilable(::Float)).void }
27
+ def initialize(invoice_id: nil, program_id: nil, amount: nil, currency: nil, modify_amount: nil)
25
28
  @invoice_id = invoice_id
26
29
  @program_id = program_id
30
+ @amount = amount
31
+ @currency = currency
32
+ @modify_amount = modify_amount
27
33
  end
28
34
  end
29
35
  end
@@ -26,9 +26,11 @@ module OpenApiSDK
26
26
 
27
27
  field :updated_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('updatedAt') } }
28
28
 
29
+ field :invoice_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId') } }
29
30
 
30
- sig { params(amount: ::Float, created_at: ::String, currency: ::String, earnings: ::Float, id: ::String, status: ::OpenApiSDK::Operations::UpdatePartnerSaleStatus, updated_at: ::String).void }
31
- def initialize(amount: nil, created_at: nil, currency: nil, earnings: nil, id: nil, status: nil, updated_at: nil)
31
+
32
+ sig { params(amount: ::Float, created_at: ::String, currency: ::String, earnings: ::Float, id: ::String, status: ::OpenApiSDK::Operations::UpdatePartnerSaleStatus, updated_at: ::String, invoice_id: T.nilable(::String)).void }
33
+ def initialize(amount: nil, created_at: nil, currency: nil, earnings: nil, id: nil, status: nil, updated_at: nil, invoice_id: nil)
32
34
  @amount = amount
33
35
  @created_at = created_at
34
36
  @currency = currency
@@ -36,6 +38,7 @@ module OpenApiSDK
36
38
  @id = id
37
39
  @status = status
38
40
  @updated_at = updated_at
41
+ @invoice_id = invoice_id
39
42
  end
40
43
  end
41
44
  end
@@ -98,7 +98,6 @@ module OpenApiSDK
98
98
  autoload :Link, 'open_api_sdk/models/operations/link.rb'
99
99
  autoload :GetCustomersPartner, 'open_api_sdk/models/operations/getcustomers_partner.rb'
100
100
  autoload :Type, 'open_api_sdk/models/operations/type.rb'
101
- autoload :GetCustomersInterval, 'open_api_sdk/models/operations/getcustomers_interval.rb'
102
101
  autoload :Discount, 'open_api_sdk/models/operations/discount.rb'
103
102
  autoload :ResponseBody, 'open_api_sdk/models/operations/responsebody.rb'
104
103
  autoload :GetCustomersResponse, 'open_api_sdk/models/operations/getcustomers_response.rb'
@@ -106,7 +105,6 @@ module OpenApiSDK
106
105
  autoload :CreateCustomerLink, 'open_api_sdk/models/operations/createcustomer_link.rb'
107
106
  autoload :CreateCustomerPartner, 'open_api_sdk/models/operations/createcustomer_partner.rb'
108
107
  autoload :CreateCustomerType, 'open_api_sdk/models/operations/createcustomer_type.rb'
109
- autoload :CreateCustomerInterval, 'open_api_sdk/models/operations/createcustomer_interval.rb'
110
108
  autoload :CreateCustomerDiscount, 'open_api_sdk/models/operations/createcustomer_discount.rb'
111
109
  autoload :CreateCustomerResponseBody, 'open_api_sdk/models/operations/createcustomer_responsebody.rb'
112
110
  autoload :CreateCustomerResponse, 'open_api_sdk/models/operations/createcustomer_response.rb'
@@ -114,7 +112,6 @@ module OpenApiSDK
114
112
  autoload :GetCustomerLink, 'open_api_sdk/models/operations/getcustomer_link.rb'
115
113
  autoload :GetCustomerPartner, 'open_api_sdk/models/operations/getcustomer_partner.rb'
116
114
  autoload :GetCustomerType, 'open_api_sdk/models/operations/getcustomer_type.rb'
117
- autoload :GetCustomerInterval, 'open_api_sdk/models/operations/getcustomer_interval.rb'
118
115
  autoload :GetCustomerDiscount, 'open_api_sdk/models/operations/getcustomer_discount.rb'
119
116
  autoload :GetCustomerResponseBody, 'open_api_sdk/models/operations/getcustomer_responsebody.rb'
120
117
  autoload :GetCustomerResponse, 'open_api_sdk/models/operations/getcustomer_response.rb'
@@ -123,7 +120,6 @@ module OpenApiSDK
123
120
  autoload :UpdateCustomerLink, 'open_api_sdk/models/operations/updatecustomer_link.rb'
124
121
  autoload :UpdateCustomerPartner, 'open_api_sdk/models/operations/updatecustomer_partner.rb'
125
122
  autoload :UpdateCustomerType, 'open_api_sdk/models/operations/updatecustomer_type.rb'
126
- autoload :UpdateCustomerInterval, 'open_api_sdk/models/operations/updatecustomer_interval.rb'
127
123
  autoload :UpdateCustomerDiscount, 'open_api_sdk/models/operations/updatecustomer_discount.rb'
128
124
  autoload :UpdateCustomerResponseBody, 'open_api_sdk/models/operations/updatecustomer_responsebody.rb'
129
125
  autoload :UpdateCustomerResponse, 'open_api_sdk/models/operations/updatecustomer_response.rb'
@@ -5,7 +5,9 @@
5
5
 
6
6
  require 'faraday'
7
7
  require 'faraday/multipart'
8
+ require 'faraday/retry'
8
9
  require 'sorbet-runtime'
10
+ require_relative 'utils/retries'
9
11
 
10
12
  module OpenApiSDK
11
13
  extend T::Sig
@@ -32,7 +34,9 @@ module OpenApiSDK
32
34
  headers['Accept'] = 'application/json'
33
35
  headers['user-agent'] = @sdk_configuration.user_agent
34
36
 
35
- r = @sdk_configuration.client.post(url) do |req|
37
+ connection = @sdk_configuration.client
38
+
39
+ r = connection.post(url) do |req|
36
40
  req.headers = headers
37
41
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
38
42
  Utils.configure_request_security(req, security) if !security.nil?
@@ -119,7 +123,9 @@ module OpenApiSDK
119
123
  headers['Accept'] = 'application/json'
120
124
  headers['user-agent'] = @sdk_configuration.user_agent
121
125
 
122
- r = @sdk_configuration.client.post(url) do |req|
126
+ connection = @sdk_configuration.client
127
+
128
+ r = connection.post(url) do |req|
123
129
  req.headers = headers
124
130
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
125
131
  Utils.configure_request_security(req, security) if !security.nil?
@@ -206,7 +212,9 @@ module OpenApiSDK
206
212
  headers['Accept'] = 'application/json'
207
213
  headers['user-agent'] = @sdk_configuration.user_agent
208
214
 
209
- r = @sdk_configuration.client.put(url) do |req|
215
+ connection = @sdk_configuration.client
216
+
217
+ r = connection.put(url) do |req|
210
218
  req.headers = headers
211
219
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
212
220
  Utils.configure_request_security(req, security) if !security.nil?
@@ -292,7 +300,9 @@ module OpenApiSDK
292
300
  headers['Accept'] = 'application/json'
293
301
  headers['user-agent'] = @sdk_configuration.user_agent
294
302
 
295
- r = @sdk_configuration.client.get(url) do |req|
303
+ connection = @sdk_configuration.client
304
+
305
+ r = connection.get(url) do |req|
296
306
  req.headers = headers
297
307
  req.params = query_params
298
308
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
@@ -373,7 +383,9 @@ module OpenApiSDK
373
383
  headers['Accept'] = 'application/json'
374
384
  headers['user-agent'] = @sdk_configuration.user_agent
375
385
 
376
- r = @sdk_configuration.client.patch(url) do |req|
386
+ connection = @sdk_configuration.client
387
+
388
+ r = connection.patch(url) do |req|
377
389
  req.headers = headers
378
390
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
379
391
  Utils.configure_request_security(req, security) if !security.nil?
@@ -5,7 +5,9 @@
5
5
 
6
6
  require 'faraday'
7
7
  require 'faraday/multipart'
8
+ require 'faraday/retry'
8
9
  require 'sorbet-runtime'
10
+ require_relative 'utils/retries'
9
11
 
10
12
  module OpenApiSDK
11
13
  extend T::Sig
@@ -31,7 +33,9 @@ module OpenApiSDK
31
33
  headers['Accept'] = 'application/json;q=1, image/png;q=0'
32
34
  headers['user-agent'] = @sdk_configuration.user_agent
33
35
 
34
- r = @sdk_configuration.client.get(url) do |req|
36
+ connection = @sdk_configuration.client
37
+
38
+ r = connection.get(url) do |req|
35
39
  req.headers = headers
36
40
  req.params = query_params
37
41
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
@@ -5,7 +5,9 @@
5
5
 
6
6
  require 'faraday'
7
7
  require 'faraday/multipart'
8
+ require 'faraday/retry'
8
9
  require 'sorbet-runtime'
10
+ require_relative 'utils/retries'
9
11
 
10
12
  module OpenApiSDK
11
13
  extend T::Sig
@@ -19,6 +21,7 @@ module OpenApiSDK
19
21
  extend T::Sig
20
22
 
21
23
  field :client, T.nilable(Faraday::Connection)
24
+ field :retry_config, T.nilable(::OpenApiSDK::Utils::RetryConfig)
22
25
  field :security_source, T.nilable(T.proc.returns(T.nilable(::OpenApiSDK::Shared::Security)))
23
26
  field :server_url, T.nilable(String)
24
27
  field :server_idx, T.nilable(Integer)
@@ -28,11 +31,19 @@ module OpenApiSDK
28
31
  field :gen_version, String
29
32
  field :user_agent, String
30
33
 
31
-
32
-
33
- sig { params(client: T.nilable(Faraday::Connection), security: T.nilable(::OpenApiSDK::Shared::Security), security_source: T.nilable(T.proc.returns(::OpenApiSDK::Shared::Security)), server_url: T.nilable(String), server_idx: T.nilable(Integer)).void }
34
- def initialize(client, security, security_source, server_url, server_idx)
34
+ sig do
35
+ params(
36
+ client: T.nilable(Faraday::Connection),
37
+ retry_config: T.nilable(::OpenApiSDK::Utils::RetryConfig),
38
+ security: T.nilable(::OpenApiSDK::Shared::Security),
39
+ security_source: T.nilable(T.proc.returns(::OpenApiSDK::Shared::Security)),
40
+ server_url: T.nilable(String),
41
+ server_idx: T.nilable(Integer)
42
+ ).void
43
+ end
44
+ def initialize(client, retry_config, security, security_source, server_url, server_idx)
35
45
  @client = client
46
+ @retry_config = retry_config
36
47
  @server_url = server_url
37
48
  @server_idx = server_idx.nil? ? 0 : server_idx
38
49
  raise StandardError, "Invalid server index #{server_idx}" if @server_idx.negative? || @server_idx >= SERVERS.length
@@ -43,9 +54,9 @@ module OpenApiSDK
43
54
  end
44
55
  @language = 'ruby'
45
56
  @openapi_doc_version = '0.0.1'
46
- @sdk_version = '0.2.2-alpha.75'
47
- @gen_version = '2.539.1'
48
- @user_agent = 'speakeasy-sdk/ruby 0.2.2-alpha.75 2.539.1 0.0.1 dub'
57
+ @sdk_version = '0.2.2-alpha.77'
58
+ @gen_version = '2.548.6'
59
+ @user_agent = 'speakeasy-sdk/ruby 0.2.2-alpha.77 2.548.6 0.0.1 dub'
49
60
  end
50
61
 
51
62
  sig { returns([String, T::Hash[Symbol, String]]) }
@@ -5,7 +5,9 @@
5
5
 
6
6
  require 'faraday'
7
7
  require 'faraday/multipart'
8
+ require 'faraday/retry'
8
9
  require 'sorbet-runtime'
10
+ require_relative 'utils/retries'
9
11
 
10
12
  module OpenApiSDK
11
13
  extend T::Sig
@@ -32,7 +34,9 @@ module OpenApiSDK
32
34
  headers['Accept'] = 'application/json'
33
35
  headers['user-agent'] = @sdk_configuration.user_agent
34
36
 
35
- r = @sdk_configuration.client.post(url) do |req|
37
+ connection = @sdk_configuration.client
38
+
39
+ r = connection.post(url) do |req|
36
40
  req.headers = headers
37
41
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
38
42
  Utils.configure_request_security(req, security) if !security.nil?
@@ -118,7 +122,9 @@ module OpenApiSDK
118
122
  headers['Accept'] = 'application/json'
119
123
  headers['user-agent'] = @sdk_configuration.user_agent
120
124
 
121
- r = @sdk_configuration.client.get(url) do |req|
125
+ connection = @sdk_configuration.client
126
+
127
+ r = connection.get(url) do |req|
122
128
  req.headers = headers
123
129
  req.params = query_params
124
130
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
@@ -204,7 +210,9 @@ module OpenApiSDK
204
210
  headers['Accept'] = 'application/json'
205
211
  headers['user-agent'] = @sdk_configuration.user_agent
206
212
 
207
- r = @sdk_configuration.client.patch(url) do |req|
213
+ connection = @sdk_configuration.client
214
+
215
+ r = connection.patch(url) do |req|
208
216
  req.headers = headers
209
217
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
210
218
  Utils.configure_request_security(req, security) if !security.nil?
@@ -294,7 +302,9 @@ module OpenApiSDK
294
302
  headers['Accept'] = 'application/json'
295
303
  headers['user-agent'] = @sdk_configuration.user_agent
296
304
 
297
- r = @sdk_configuration.client.delete(url) do |req|
305
+ connection = @sdk_configuration.client
306
+
307
+ r = connection.delete(url) do |req|
298
308
  req.headers = headers
299
309
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
300
310
  Utils.configure_request_security(req, security) if !security.nil?
@@ -5,7 +5,9 @@
5
5
 
6
6
  require 'faraday'
7
7
  require 'faraday/multipart'
8
+ require 'faraday/retry'
8
9
  require 'sorbet-runtime'
10
+ require_relative 'utils/retries'
9
11
 
10
12
  module OpenApiSDK
11
13
  extend T::Sig
@@ -32,7 +34,9 @@ module OpenApiSDK
32
34
  headers['Accept'] = 'application/json'
33
35
  headers['user-agent'] = @sdk_configuration.user_agent
34
36
 
35
- r = @sdk_configuration.client.post(url) do |req|
37
+ connection = @sdk_configuration.client
38
+
39
+ r = connection.post(url) do |req|
36
40
  req.headers = headers
37
41
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
38
42
  Utils.configure_request_security(req, security) if !security.nil?
@@ -119,7 +123,9 @@ module OpenApiSDK
119
123
  headers['Accept'] = 'application/json'
120
124
  headers['user-agent'] = @sdk_configuration.user_agent
121
125
 
122
- r = @sdk_configuration.client.post(url) do |req|
126
+ connection = @sdk_configuration.client
127
+
128
+ r = connection.post(url) do |req|
123
129
  req.headers = headers
124
130
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
125
131
  Utils.configure_request_security(req, security) if !security.nil?
@@ -0,0 +1,95 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday/retry'
7
+ require 'sorbet-runtime'
8
+
9
+ module OpenApiSDK
10
+ module Utils
11
+ class BackoffStrategy
12
+ extend T::Sig
13
+
14
+ sig { returns(T.nilable(::Float)) }
15
+ attr_accessor :exponent
16
+
17
+ sig { returns(T.nilable(::Integer)) }
18
+ attr_accessor :initial_interval
19
+
20
+ sig { returns(T.nilable(::Integer)) }
21
+ attr_accessor :max_elapsed_time
22
+
23
+ sig { returns(T.nilable(::Integer)) }
24
+ attr_accessor :max_interval
25
+
26
+ sig do
27
+ params(
28
+ exponent: T.nilable(::Float),
29
+ initial_interval: T.nilable(::Integer),
30
+ max_elapsed_time: T.nilable(::Integer),
31
+ max_interval: T.nilable(::Integer)
32
+ ).void
33
+ end
34
+ def initialize(exponent: nil, initial_interval: nil, max_elapsed_time: nil, max_interval: nil)
35
+ @exponent = T.let(exponent, T.nilable(::Float))
36
+ @initial_interval = T.let(initial_interval, T.nilable(::Integer))
37
+ @max_elapsed_time = T.let(max_elapsed_time, T.nilable(::Integer))
38
+ @max_interval = T.let(max_interval, T.nilable(::Integer))
39
+ end
40
+ end
41
+
42
+ class RetryConfig
43
+ extend T::Sig
44
+
45
+ sig { returns(T.nilable(BackoffStrategy)) }
46
+ attr_accessor :backoff
47
+
48
+ sig { returns(T.nilable(T::Boolean)) }
49
+ attr_accessor :retry_connection_errors
50
+
51
+ sig { returns(T.nilable(::String)) }
52
+ attr_accessor :strategy
53
+
54
+ sig do
55
+ params(
56
+ backoff: T.nilable(BackoffStrategy),
57
+ retry_connection_errors: T.nilable(T::Boolean),
58
+ strategy: T.nilable(::String)
59
+ ).void
60
+ end
61
+ def initialize(backoff: nil, retry_connection_errors: nil, strategy: nil)
62
+ @backoff = T.let(backoff, T.nilable(BackoffStrategy))
63
+ @retry_connection_errors = T.let(retry_connection_errors, T.nilable(T::Boolean))
64
+ @strategy = T.let(strategy, T.nilable(::String))
65
+ end
66
+
67
+ sig { params(initial_time: ::Time).returns(::Hash) }
68
+ def to_faraday_retry_options(initial_time:)
69
+ retry_options = {
70
+ # must overwrite default max of 2 retries and it must be positive
71
+ max: 1_000_000_000,
72
+ # ensure all HTTP methods are retried, especially via retry_if
73
+ methods: [],
74
+ }
75
+
76
+ if @retry_connection_errors
77
+ retry_options[:exceptions] = Faraday::Retry::Middleware::DEFAULT_EXCEPTIONS + [Faraday::ConnectionFailed]
78
+ end
79
+
80
+ if @strategy == 'backoff' && @backoff
81
+ retry_options[:backoff_factor] = @backoff.exponent unless @backoff.exponent.nil?
82
+ retry_options[:interval] = (@backoff.initial_interval.to_f / 1000) unless @backoff.initial_interval.nil?
83
+ retry_options[:max_interval] = @backoff.max_interval unless @backoff.max_interval.nil?
84
+
85
+ unless @backoff.max_elapsed_time.nil?
86
+ stop_time = initial_time + (@backoff.max_elapsed_time.to_f / 1000)
87
+ retry_options[:retry_if] = ->(_env, _exc) { Time.now < stop_time }
88
+ end
89
+ end
90
+
91
+ retry_options
92
+ end
93
+ end
94
+ end
95
+ end
@@ -5,7 +5,9 @@
5
5
 
6
6
  require 'faraday'
7
7
  require 'faraday/multipart'
8
+ require 'faraday/retry'
8
9
  require 'sorbet-runtime'
10
+ require_relative 'utils/retries'
9
11
 
10
12
  module OpenApiSDK
11
13
  extend T::Sig
@@ -35,7 +37,9 @@ module OpenApiSDK
35
37
  headers['Accept'] = 'application/json'
36
38
  headers['user-agent'] = @sdk_configuration.user_agent
37
39
 
38
- r = @sdk_configuration.client.get(url) do |req|
40
+ connection = @sdk_configuration.client
41
+
42
+ r = connection.get(url) do |req|
39
43
  req.headers = headers
40
44
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
41
45
  Utils.configure_request_security(req, security) if !security.nil?
@@ -120,7 +124,9 @@ module OpenApiSDK
120
124
  headers['Accept'] = 'application/json'
121
125
  headers['user-agent'] = @sdk_configuration.user_agent
122
126
 
123
- r = @sdk_configuration.client.patch(url) do |req|
127
+ connection = @sdk_configuration.client
128
+
129
+ r = connection.patch(url) do |req|
124
130
  req.headers = headers
125
131
  security = !@sdk_configuration.nil? && !@sdk_configuration.security_source.nil? ? @sdk_configuration.security_source.call : nil
126
132
  Utils.configure_request_security(req, security) if !security.nil?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2.pre.alpha.75
4
+ version: 0.2.2.pre.alpha.77
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dub
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-05 00:00:00.000000000 Z
11
+ date: 2025-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: faraday-retry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 2.2.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.2.1
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rack
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +128,28 @@ dependencies:
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: 1.60.2
131
+ version: 1.73.2
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 1.73.2
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop-minitest
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.37.1
118
146
  type: :development
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
150
  - - "~>"
123
151
  - !ruby/object:Gem::Version
124
- version: 1.60.2
152
+ version: 0.37.1
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: sorbet
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -182,7 +210,6 @@ files:
182
210
  - lib/open_api_sdk/models/operations/color.rb
183
211
  - lib/open_api_sdk/models/operations/country.rb
184
212
  - lib/open_api_sdk/models/operations/createcustomer_discount.rb
185
- - lib/open_api_sdk/models/operations/createcustomer_interval.rb
186
213
  - lib/open_api_sdk/models/operations/createcustomer_link.rb
187
214
  - lib/open_api_sdk/models/operations/createcustomer_partner.rb
188
215
  - lib/open_api_sdk/models/operations/createcustomer_requestbody.rb
@@ -228,14 +255,12 @@ files:
228
255
  - lib/open_api_sdk/models/operations/discount.rb
229
256
  - lib/open_api_sdk/models/operations/event.rb
230
257
  - lib/open_api_sdk/models/operations/getcustomer_discount.rb
231
- - lib/open_api_sdk/models/operations/getcustomer_interval.rb
232
258
  - lib/open_api_sdk/models/operations/getcustomer_link.rb
233
259
  - lib/open_api_sdk/models/operations/getcustomer_partner.rb
234
260
  - lib/open_api_sdk/models/operations/getcustomer_request.rb
235
261
  - lib/open_api_sdk/models/operations/getcustomer_response.rb
236
262
  - lib/open_api_sdk/models/operations/getcustomer_responsebody.rb
237
263
  - lib/open_api_sdk/models/operations/getcustomer_type.rb
238
- - lib/open_api_sdk/models/operations/getcustomers_interval.rb
239
264
  - lib/open_api_sdk/models/operations/getcustomers_partner.rb
240
265
  - lib/open_api_sdk/models/operations/getcustomers_request.rb
241
266
  - lib/open_api_sdk/models/operations/getcustomers_response.rb
@@ -300,7 +325,6 @@ files:
300
325
  - lib/open_api_sdk/models/operations/trigger.rb
301
326
  - lib/open_api_sdk/models/operations/type.rb
302
327
  - lib/open_api_sdk/models/operations/updatecustomer_discount.rb
303
- - lib/open_api_sdk/models/operations/updatecustomer_interval.rb
304
328
  - lib/open_api_sdk/models/operations/updatecustomer_link.rb
305
329
  - lib/open_api_sdk/models/operations/updatecustomer_partner.rb
306
330
  - lib/open_api_sdk/models/operations/updatecustomer_request.rb
@@ -390,6 +414,7 @@ files:
390
414
  - lib/open_api_sdk/sdkconfiguration.rb
391
415
  - lib/open_api_sdk/tags.rb
392
416
  - lib/open_api_sdk/track.rb
417
+ - lib/open_api_sdk/utils/retries.rb
393
418
  - lib/open_api_sdk/utils/utils.rb
394
419
  - lib/open_api_sdk/workspaces.rb
395
420
  homepage: https://github.com/dubinc/dub-ruby.git
@@ -1,18 +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 OpenApiSDK
8
- module Operations
9
-
10
-
11
- class CreateCustomerInterval < T::Enum
12
- enums do
13
- MONTH = new('month')
14
- YEAR = new('year')
15
- end
16
- end
17
- end
18
- end