stripe 10.3.0.pre.beta.1 → 10.4.0.pre.beta.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 99e6b9749e8b1212d2c4b42f40c49b220ea10132346b5c8a4eb96894bc06247f
4
- data.tar.gz: 76680576e92e252db64df9543df2b1befde7dd1bff4c2d4d74fe946af068a60c
3
+ metadata.gz: f7b70ab060653606fcb0aed81e4323829c6fd49c574ab49c67f2381acbe4d656
4
+ data.tar.gz: 903c2861ff74cf39b2615a41d490b1cbe854973064ffeb92344d4e48380f66f6
5
5
  SHA512:
6
- metadata.gz: c65eb672e988647ccb5844d722f57cb82d6d7ac2da7e4ee095678104ae8f2a04c2e2bb65abf34aecfcf235838b18cb4a93f6cd3b7d96075f2e4d8a7308b57efc
7
- data.tar.gz: 8225c92b8ee117d57a968bbe13b2f9edc274ffae4fd3fd669a749a1e34a9efa1f34965db93ac435d7f8026ed5a1c40fc373b487e80a30be36a5eb0f2728037b0
6
+ metadata.gz: 9b374960111dda05764ef8df8b03a11168c69691657258785db4615f99123f2ff7dd449e2b2b7192a32046e1560ce83f2e6d5040638041900c0f0360e80d9074
7
+ data.tar.gz: dd1b8cd4032de2f537131ee94d6959d36a8043ad723d1924d42ff5051f6f5517c2d0e1ef769aad17cc0774e19432d28b5000058c8782c69a6343d48d0cbb5dba
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 10.4.0-beta.1 - 2023-12-14
4
+ Updated stable APIs to the latest version
5
+
6
+ ## 10.3.0 - 2023-12-14
7
+ * [#1294](https://github.com/stripe/stripe-ruby/pull/1294) Support sending parameters inside singleton retrieve
8
+
3
9
  ## 10.3.0-beta.1 - 2023-11-30
4
10
  * [#1298](https://github.com/stripe/stripe-ruby/pull/1298) Update generated code for beta
5
11
  * [#1296](https://github.com/stripe/stripe-ruby/pull/1296) Merge master into beta
data/Makefile CHANGED
@@ -5,7 +5,7 @@ update-version:
5
5
 
6
6
  codegen-format:
7
7
  bundle install --quiet
8
- bundle exec rubocop -o /dev/null --auto-correct
8
+ bundle exec rubocop -o /dev/null --autocorrect
9
9
 
10
10
  ci-test:
11
11
  bundle install && bundle exec rake test
data/OPENAPI_VERSION CHANGED
@@ -1 +1 @@
1
- v691
1
+ v715
data/README.md CHANGED
@@ -291,10 +291,11 @@ Stripe.set_app_info('MyAwesomePlugin', version: '1.2.34', url: 'https://myawesom
291
291
  This information is passed along when the library makes calls to the Stripe
292
292
  API.
293
293
 
294
- ### Request latency telemetry
294
+ ### Telemetry
295
295
 
296
- By default, the library sends request latency telemetry to Stripe. These
297
- numbers help Stripe improve the overall latency of its API for all users.
296
+ By default, the library sends telemetry to Stripe regarding request latency and feature usage. These
297
+ numbers help Stripe improve the overall latency of its API for all users, and
298
+ improve popular features.
298
299
 
299
300
  You can disable this behavior if you prefer:
300
301
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 10.3.0-beta.1
1
+ 10.4.0-beta.1
@@ -5,14 +5,14 @@ module Stripe
5
5
  module Request
6
6
  module ClassMethods
7
7
  def execute_resource_request(method, url,
8
- params = {}, opts = {})
8
+ params = {}, opts = {}, usage = [])
9
9
  execute_resource_request_internal(
10
- :execute_request, method, url, params, opts
10
+ :execute_request, method, url, params, opts, usage
11
11
  )
12
12
  end
13
13
 
14
14
  def execute_resource_request_stream(method, url,
15
- params = {}, opts = {},
15
+ params = {}, opts = {}, usage = [],
16
16
  &read_body_chunk_block)
17
17
  execute_resource_request_internal(
18
18
  :execute_request_stream,
@@ -20,18 +20,19 @@ module Stripe
20
20
  url,
21
21
  params,
22
22
  opts,
23
+ usage,
23
24
  &read_body_chunk_block
24
25
  )
25
26
  end
26
27
 
27
- private def request_stripe_object(method:, path:, params:, opts: {})
28
- resp, opts = execute_resource_request(method, path, params, opts)
28
+ private def request_stripe_object(method:, path:, params:, opts: {}, usage: [])
29
+ resp, opts = execute_resource_request(method, path, params, opts, usage)
29
30
  Util.convert_to_stripe_object_with_params(resp.data, params, opts)
30
31
  end
31
32
 
32
33
  private def execute_resource_request_internal(client_request_method_sym,
33
34
  method, url,
34
- params, opts,
35
+ params, opts, usage,
35
36
  &read_body_chunk_block)
36
37
  params ||= {}
37
38
 
@@ -54,8 +55,7 @@ module Stripe
54
55
  client_request_method_sym,
55
56
  method, url,
56
57
  api_base: api_base, api_key: api_key,
57
- headers: headers, params: params,
58
- api_mode: api_mode,
58
+ headers: headers, params: params, usage: usage, api_mode: api_mode,
59
59
  &read_body_chunk_block
60
60
  )
61
61
 
@@ -68,6 +68,7 @@ module Stripe
68
68
  [resp, opts_to_persist]
69
69
  end
70
70
 
71
+ # TODO: (major)
71
72
  # This method used to be called `request`, but it's such a short name
72
73
  # that it eventually conflicted with the name of a field on an API
73
74
  # resource (specifically, `Event#request`), so it was renamed to
@@ -113,9 +114,9 @@ module Stripe
113
114
  end
114
115
 
115
116
  protected def execute_resource_request(method, url,
116
- params = {}, opts = {})
117
+ params = {}, opts = {}, usage = [])
117
118
  opts = @opts.merge(Util.normalize_opts(opts))
118
- self.class.execute_resource_request(method, url, params, opts)
119
+ self.class.execute_resource_request(method, url, params, opts, usage)
119
120
  end
120
121
 
121
122
  protected def execute_resource_request_stream(method, url,
@@ -127,8 +128,8 @@ module Stripe
127
128
  )
128
129
  end
129
130
 
130
- private def request_stripe_object(method:, path:, params:, opts: {})
131
- resp, opts = execute_resource_request(method, path, params, opts)
131
+ private def request_stripe_object(method:, path:, params:, opts: {}, usage: [])
132
+ resp, opts = execute_resource_request(method, path, params, opts, usage)
132
133
  Util.convert_to_stripe_object_with_params(resp.data, params, opts)
133
134
  end
134
135
 
@@ -66,7 +66,7 @@ module Stripe
66
66
  # generated a uri for this object with an identifier baked in
67
67
  values.delete(:id)
68
68
 
69
- resp, opts = execute_resource_request(:post, save_url, values, opts)
69
+ resp, opts = execute_resource_request(:post, save_url, values, opts, ["save"])
70
70
  initialize_from(resp.data, opts)
71
71
  end
72
72
  extend Gem::Deprecate
@@ -4,6 +4,6 @@
4
4
  module Stripe
5
5
  module ApiVersion
6
6
  CURRENT = "2023-10-16"
7
- PREVIEW = "2023-10-26.preview-v2"
7
+ PREVIEW = "2023-12-11.preview-v2"
8
8
  end
9
9
  end
@@ -17,8 +17,25 @@ module Stripe
17
17
  self.class.resource_url
18
18
  end
19
19
 
20
- def self.retrieve(opts = {})
21
- instance = new(nil, Util.normalize_opts(opts))
20
+ def self.retrieve(params_or_opts = {}, definitely_opts = nil)
21
+ opts = nil
22
+ params = nil
23
+ if definitely_opts.nil?
24
+ unrecognized_key = params_or_opts.keys.find { |k| !Util::OPTS_USER_SPECIFIED.include?(k) }
25
+ if unrecognized_key
26
+ raise ArgumentError,
27
+ "Unrecognized request option: #{unrecognized_key}. Did you mean to specify this as retrieve params? " \
28
+ "If so, you must explicitly pass an opts hash as a second argument. " \
29
+ "For example: .retrieve({#{unrecognized_key}: 'foo'}, {})"
30
+ end
31
+
32
+ opts = params_or_opts
33
+ else
34
+ opts = definitely_opts
35
+ params = params_or_opts
36
+ end
37
+
38
+ instance = new(params, Util.normalize_opts(opts))
22
39
  instance.refresh
23
40
  instance
24
41
  end
@@ -210,9 +210,9 @@ module Stripe
210
210
 
211
211
  def execute_request(method, path,
212
212
  api_base: nil, api_key: nil,
213
- headers: {}, params: {}, api_mode: nil)
213
+ headers: {}, params: {}, api_mode: nil, usage: [])
214
214
  http_resp, api_key = execute_request_internal(
215
- method, path, api_base, api_key, headers, params, api_mode
215
+ method, path, api_base, api_key, headers, params, api_mode, usage
216
216
  )
217
217
 
218
218
  begin
@@ -241,7 +241,7 @@ module Stripe
241
241
  # passed, then a StripeStreamResponse is returned containing an IO stream
242
242
  # with the response body.
243
243
  def execute_request_stream(method, path,
244
- api_base: nil, api_key: nil,
244
+ api_base: nil, api_key: nil, usage: [],
245
245
  headers: {}, params: {},
246
246
  api_mode: nil,
247
247
  &read_body_chunk_block)
@@ -252,7 +252,7 @@ module Stripe
252
252
 
253
253
  http_resp, api_key = execute_request_internal(
254
254
  method, path, api_base, api_key,
255
- headers, params, api_mode, &read_body_chunk_block
255
+ headers, params, api_mode, usage, &read_body_chunk_block
256
256
  )
257
257
 
258
258
  # When the read_body_chunk_block is given, we no longer have access to the
@@ -432,7 +432,7 @@ module Stripe
432
432
 
433
433
  private def execute_request_internal(method, path,
434
434
  api_base, api_key, headers, params,
435
- api_mode, &read_body_chunk_block)
435
+ api_mode, usage, &read_body_chunk_block)
436
436
  raise ArgumentError, "method should be a symbol" \
437
437
  unless method.is_a?(Symbol)
438
438
  raise ArgumentError, "path should be a string" \
@@ -498,7 +498,7 @@ module Stripe
498
498
  end
499
499
 
500
500
  http_resp =
501
- execute_request_with_rescues(method, api_base, headers, context) do
501
+ execute_request_with_rescues(method, api_base, headers, usage, context) do
502
502
  self.class
503
503
  .default_connection_manager(config)
504
504
  .execute_request(method, url,
@@ -583,7 +583,7 @@ module Stripe
583
583
  http_status >= 400
584
584
  end
585
585
 
586
- private def execute_request_with_rescues(method, api_base, headers, context)
586
+ private def execute_request_with_rescues(method, api_base, headers, usage, context)
587
587
  num_retries = 0
588
588
 
589
589
  begin
@@ -609,7 +609,7 @@ module Stripe
609
609
  if config.enable_telemetry? && context.request_id
610
610
  request_duration_ms = (request_duration * 1000).to_i
611
611
  @last_request_metrics =
612
- StripeRequestMetrics.new(context.request_id, request_duration_ms)
612
+ StripeRequestMetrics.new(context.request_id, request_duration_ms, usage: usage)
613
613
  end
614
614
 
615
615
  # We rescue all exceptions from a request so that we have an easy spot to
@@ -1072,13 +1072,19 @@ module Stripe
1072
1072
  # Request duration in milliseconds
1073
1073
  attr_accessor :request_duration_ms
1074
1074
 
1075
- def initialize(request_id, request_duration_ms)
1075
+ # list of names of tracked behaviors associated with this request
1076
+ attr_accessor :usage
1077
+
1078
+ def initialize(request_id, request_duration_ms, usage: [])
1076
1079
  self.request_id = request_id
1077
1080
  self.request_duration_ms = request_duration_ms
1081
+ self.usage = usage
1078
1082
  end
1079
1083
 
1080
1084
  def payload
1081
- { request_id: request_id, request_duration_ms: request_duration_ms }
1085
+ ret = { request_id: request_id, request_duration_ms: request_duration_ms }
1086
+ ret[:usage] = usage if !usage.nil? && !usage.empty?
1087
+ ret
1082
1088
  end
1083
1089
  end
1084
1090
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stripe
4
- VERSION = "10.3.0-beta.1"
4
+ VERSION = "10.4.0-beta.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.3.0.pre.beta.1
4
+ version: 10.4.0.pre.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-30 00:00:00.000000000 Z
11
+ date: 2023-12-15 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Stripe is the easiest way to accept payments online. See https://stripe.com
14
14
  for details.