stripe 10.2.0 → 10.3.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 +4 -4
- data/CHANGELOG.md +3 -0
- data/Makefile +1 -1
- data/README.md +4 -3
- data/VERSION +1 -1
- data/lib/stripe/api_operations/request.rb +13 -11
- data/lib/stripe/api_operations/save.rb +1 -1
- data/lib/stripe/singleton_api_resource.rb +19 -2
- data/lib/stripe/stripe_client.rb +16 -10
- data/lib/stripe/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78c3e10c5e7afde049a2affb5bbb230e4e4525193353bcf4921ff2bdb7219ce9
|
4
|
+
data.tar.gz: 6e194c85cf1fe5b37289e5912be22a9ae885ad8aa4c66752a5181d7767cbdc1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28c94abdfad1445b7c4f059bbda77e05638fd5b0fe3347a2cac7529ea632ede0a17db8e43dff34ed3e22488853cfa0494f05776dcdd042ace5362de5d920e106
|
7
|
+
data.tar.gz: b06f47d94deb9782211c81046795942a4b8787b13238e0e85c2dbee4f1aa946de9242d488031a0d87abe78ab0e3a61ca0a9689c19562fc9e41c5ec0d13720e39
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
# Changelog
|
2
|
+
## 10.3.0 - 2023-12-14
|
3
|
+
* [#1294](https://github.com/stripe/stripe-ruby/pull/1294) Support sending parameters inside singleton retrieve
|
4
|
+
|
2
5
|
## 10.2.0 - 2023-11-30
|
3
6
|
* [#1292](https://github.com/stripe/stripe-ruby/pull/1292) Update generated code
|
4
7
|
* Add support for new resources `Climate.Order`, `Climate.Product`, and `Climate.Supplier`
|
data/Makefile
CHANGED
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
|
-
###
|
294
|
+
### Telemetry
|
295
295
|
|
296
|
-
By default, the library sends request latency
|
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.
|
1
|
+
10.3.0
|
@@ -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
|
|
@@ -53,7 +54,7 @@ module Stripe
|
|
53
54
|
client_request_method_sym,
|
54
55
|
method, url,
|
55
56
|
api_base: api_base, api_key: api_key,
|
56
|
-
headers: headers, params: params,
|
57
|
+
headers: headers, params: params, usage: usage,
|
57
58
|
&read_body_chunk_block
|
58
59
|
)
|
59
60
|
|
@@ -66,6 +67,7 @@ module Stripe
|
|
66
67
|
[resp, opts_to_persist]
|
67
68
|
end
|
68
69
|
|
70
|
+
# TODO: (major)
|
69
71
|
# This method used to be called `request`, but it's such a short name
|
70
72
|
# that it eventually conflicted with the name of a field on an API
|
71
73
|
# resource (specifically, `Event#request`), so it was renamed to
|
@@ -111,9 +113,9 @@ module Stripe
|
|
111
113
|
end
|
112
114
|
|
113
115
|
protected def execute_resource_request(method, url,
|
114
|
-
params = {}, opts = {})
|
116
|
+
params = {}, opts = {}, usage = [])
|
115
117
|
opts = @opts.merge(Util.normalize_opts(opts))
|
116
|
-
self.class.execute_resource_request(method, url, params, opts)
|
118
|
+
self.class.execute_resource_request(method, url, params, opts, usage)
|
117
119
|
end
|
118
120
|
|
119
121
|
protected def execute_resource_request_stream(method, url,
|
@@ -125,8 +127,8 @@ module Stripe
|
|
125
127
|
)
|
126
128
|
end
|
127
129
|
|
128
|
-
private def request_stripe_object(method:, path:, params:, opts: {})
|
129
|
-
resp, opts = execute_resource_request(method, path, params, opts)
|
130
|
+
private def request_stripe_object(method:, path:, params:, opts: {}, usage: [])
|
131
|
+
resp, opts = execute_resource_request(method, path, params, opts, usage)
|
130
132
|
Util.convert_to_stripe_object_with_params(resp.data, params, opts)
|
131
133
|
end
|
132
134
|
|
@@ -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
|
@@ -17,8 +17,25 @@ module Stripe
|
|
17
17
|
self.class.resource_url
|
18
18
|
end
|
19
19
|
|
20
|
-
def self.retrieve(
|
21
|
-
|
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
|
data/lib/stripe/stripe_client.rb
CHANGED
@@ -209,9 +209,9 @@ module Stripe
|
|
209
209
|
end
|
210
210
|
|
211
211
|
def execute_request(method, path,
|
212
|
-
api_base: nil, api_key: nil, headers: {}, params: {})
|
212
|
+
api_base: nil, api_key: nil, headers: {}, params: {}, usage: [])
|
213
213
|
http_resp, api_key = execute_request_internal(
|
214
|
-
method, path, api_base, api_key, headers, params
|
214
|
+
method, path, api_base, api_key, headers, params, usage
|
215
215
|
)
|
216
216
|
|
217
217
|
begin
|
@@ -240,7 +240,7 @@ module Stripe
|
|
240
240
|
# passed, then a StripeStreamResponse is returned containing an IO stream
|
241
241
|
# with the response body.
|
242
242
|
def execute_request_stream(method, path,
|
243
|
-
api_base: nil, api_key: nil,
|
243
|
+
api_base: nil, api_key: nil, usage: [],
|
244
244
|
headers: {}, params: {},
|
245
245
|
&read_body_chunk_block)
|
246
246
|
unless block_given?
|
@@ -249,7 +249,7 @@ module Stripe
|
|
249
249
|
end
|
250
250
|
|
251
251
|
http_resp, api_key = execute_request_internal(
|
252
|
-
method, path, api_base, api_key, headers, params, &read_body_chunk_block
|
252
|
+
method, path, api_base, api_key, headers, params, usage, &read_body_chunk_block
|
253
253
|
)
|
254
254
|
|
255
255
|
# When the read_body_chunk_block is given, we no longer have access to the
|
@@ -428,7 +428,7 @@ module Stripe
|
|
428
428
|
end
|
429
429
|
|
430
430
|
private def execute_request_internal(method, path,
|
431
|
-
api_base, api_key, headers, params,
|
431
|
+
api_base, api_key, headers, params, usage,
|
432
432
|
&read_body_chunk_block)
|
433
433
|
raise ArgumentError, "method should be a symbol" \
|
434
434
|
unless method.is_a?(Symbol)
|
@@ -490,7 +490,7 @@ module Stripe
|
|
490
490
|
end
|
491
491
|
|
492
492
|
http_resp =
|
493
|
-
execute_request_with_rescues(method, api_base, headers, context) do
|
493
|
+
execute_request_with_rescues(method, api_base, headers, usage, context) do
|
494
494
|
self.class
|
495
495
|
.default_connection_manager(config)
|
496
496
|
.execute_request(method, url,
|
@@ -560,7 +560,7 @@ module Stripe
|
|
560
560
|
http_status >= 400
|
561
561
|
end
|
562
562
|
|
563
|
-
private def execute_request_with_rescues(method, api_base, headers, context)
|
563
|
+
private def execute_request_with_rescues(method, api_base, headers, usage, context)
|
564
564
|
num_retries = 0
|
565
565
|
|
566
566
|
begin
|
@@ -586,7 +586,7 @@ module Stripe
|
|
586
586
|
if config.enable_telemetry? && context.request_id
|
587
587
|
request_duration_ms = (request_duration * 1000).to_i
|
588
588
|
@last_request_metrics =
|
589
|
-
StripeRequestMetrics.new(context.request_id, request_duration_ms)
|
589
|
+
StripeRequestMetrics.new(context.request_id, request_duration_ms, usage: usage)
|
590
590
|
end
|
591
591
|
|
592
592
|
# We rescue all exceptions from a request so that we have an easy spot to
|
@@ -1038,13 +1038,19 @@ module Stripe
|
|
1038
1038
|
# Request duration in milliseconds
|
1039
1039
|
attr_accessor :request_duration_ms
|
1040
1040
|
|
1041
|
-
|
1041
|
+
# list of names of tracked behaviors associated with this request
|
1042
|
+
attr_accessor :usage
|
1043
|
+
|
1044
|
+
def initialize(request_id, request_duration_ms, usage: [])
|
1042
1045
|
self.request_id = request_id
|
1043
1046
|
self.request_duration_ms = request_duration_ms
|
1047
|
+
self.usage = usage
|
1044
1048
|
end
|
1045
1049
|
|
1046
1050
|
def payload
|
1047
|
-
{ request_id: request_id, request_duration_ms: request_duration_ms }
|
1051
|
+
ret = { request_id: request_id, request_duration_ms: request_duration_ms }
|
1052
|
+
ret[:usage] = usage if !usage.nil? && !usage.empty?
|
1053
|
+
ret
|
1048
1054
|
end
|
1049
1055
|
end
|
1050
1056
|
end
|
data/lib/stripe/version.rb
CHANGED
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.
|
4
|
+
version: 10.3.0
|
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
|
+
date: 2023-12-14 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.
|