stripe 13.3.0 → 13.3.1
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 +8 -0
- data/VERSION +1 -1
- data/lib/stripe/stripe_client.rb +6 -1
- data/lib/stripe/stripe_configuration.rb +21 -1
- data/lib/stripe/thin_event.rb +22 -2
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +22 -0
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c97bccf154ea39c4a6d56dcd0995620cf07cf6be683e21bcf598ee6b8f6fc67e
|
4
|
+
data.tar.gz: 2a98f32b4fc6ad9db84f876bb1ddb0e2a27810f03c773e8afce5e7bd51b8ab02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98ac690df3e6371f51355808b7bf46425fb5225ede914572f805d377839e1861cc2781f89babada1b8358647ce5a26f0c1443e8acef1629b9aa4c5a17911b6e3
|
7
|
+
data.tar.gz: ab2535408216d5b6a8bc289d30d8ce7302e22540f393d83337a1357e02c863af632010a9868302d90ed0f41925883a49f199e53bd28baa767c37eb708d34d821
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
# Changelog
|
2
|
+
## 13.3.1 - 2025-01-13
|
3
|
+
* [#1512](https://github.com/stripe/stripe-ruby/pull/1512) Import global configuration for options not available on StripeClient options
|
4
|
+
* Fixes bug where `StripeClient` was not falling back to global options for options that are not available to be set per-client
|
5
|
+
* [#1516](https://github.com/stripe/stripe-ruby/pull/1516) ThinEvent reason and livemode
|
6
|
+
- Add `livemode` and optional `reason` fields to ThinEvent
|
7
|
+
* [#1518](https://github.com/stripe/stripe-ruby/pull/1518) Pin ubuntu version in Test action
|
8
|
+
* [#1508](https://github.com/stripe/stripe-ruby/pull/1508) Added pull request template
|
9
|
+
|
2
10
|
## 13.3.0 - 2024-12-18
|
3
11
|
* [#1500](https://github.com/stripe/stripe-ruby/pull/1500) This release changes the pinned API version to `2024-12-18.acacia`.
|
4
12
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
13.3.
|
1
|
+
13.3.1
|
data/lib/stripe/stripe_client.rb
CHANGED
@@ -10,6 +10,10 @@ module Stripe
|
|
10
10
|
|
11
11
|
# attr_readers: The end of the section generated from our OpenAPI spec
|
12
12
|
|
13
|
+
# For internal use only. Does not provide a stable API and may be broken
|
14
|
+
# with future non-major changes.
|
15
|
+
CLIENT_OPTIONS = Set.new(%i[api_key stripe_account stripe_context api_version api_base uploads_base connect_base meter_events_base client_id])
|
16
|
+
|
13
17
|
# Initializes a new StripeClient
|
14
18
|
def initialize(api_key, # rubocop:todo Metrics/ParameterLists
|
15
19
|
stripe_account: nil,
|
@@ -40,7 +44,8 @@ module Stripe
|
|
40
44
|
client_id: client_id,
|
41
45
|
}.reject { |_k, v| v.nil? }
|
42
46
|
|
43
|
-
|
47
|
+
config = StripeConfiguration.client_init(config_opts)
|
48
|
+
@requestor = APIRequestor.new(config)
|
44
49
|
|
45
50
|
# top-level services: The beginning of the section generated from our OpenAPI spec
|
46
51
|
@v1 = Stripe::V1Services.new(@requestor)
|
@@ -37,6 +37,25 @@ module Stripe
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
# Set options to the StripeClient configured options, if valid as a client option and provided
|
41
|
+
# Otherwise, for user configurable global options, set them to the global configuration
|
42
|
+
# For all other options, set them to the StripeConfiguration default value
|
43
|
+
def self.client_init(config_opts)
|
44
|
+
global_config = Stripe.config
|
45
|
+
imported_options = USER_CONFIGURABLE_GLOBAL_OPTIONS - StripeClient::CLIENT_OPTIONS
|
46
|
+
client_config = StripeConfiguration.setup do |instance|
|
47
|
+
imported_options.each do |key|
|
48
|
+
begin
|
49
|
+
instance.public_send("#{key}=", global_config.public_send(key)) if global_config.respond_to?(key)
|
50
|
+
rescue NotImplementedError => e
|
51
|
+
# In Ruby <= 2.5, we can't set write_timeout on Net::HTTP, log an error and continue
|
52
|
+
Util.log_error("Failed to set #{key} on client configuration: #{e}")
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
client_config.reverse_duplicate_merge(config_opts)
|
57
|
+
end
|
58
|
+
|
40
59
|
# Create a new config based off an existing one. This is useful when the
|
41
60
|
# caller wants to override the global configuration
|
42
61
|
def reverse_duplicate_merge(hash)
|
@@ -68,7 +87,8 @@ module Stripe
|
|
68
87
|
@connect_base = DEFAULT_CONNECT_BASE
|
69
88
|
@uploads_base = DEFAULT_UPLOAD_BASE
|
70
89
|
@meter_events_base = DEFAULT_METER_EVENTS_BASE
|
71
|
-
@base_addresses = { api: @api_base, connect: @connect_base, files: @uploads_base,
|
90
|
+
@base_addresses = { api: @api_base, connect: @connect_base, files: @uploads_base,
|
91
|
+
meter_events: @meter_events_base, }
|
72
92
|
end
|
73
93
|
|
74
94
|
def log_level=(val)
|
data/lib/stripe/thin_event.rb
CHANGED
@@ -1,8 +1,26 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Stripe
|
4
|
+
class EventReasonRequest
|
5
|
+
attr_reader :id, :idempotency_key
|
6
|
+
|
7
|
+
def initialize(event_reason_request_payload = {})
|
8
|
+
@id = event_reason_request_payload[:id]
|
9
|
+
@idempotency_key = event_reason_request_payload[:idempotency_key]
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
class EventReason
|
14
|
+
attr_reader :type, :request
|
15
|
+
|
16
|
+
def initialize(event_reason_payload = {})
|
17
|
+
@type = event_reason_payload[:type]
|
18
|
+
@request = EventReasonRequest.new(event_reason_payload[:request])
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
4
22
|
class ThinEvent
|
5
|
-
attr_reader :id, :type, :created, :context, :related_object
|
23
|
+
attr_reader :id, :type, :created, :context, :related_object, :livemode, :reason
|
6
24
|
|
7
25
|
def initialize(event_payload = {})
|
8
26
|
@id = event_payload[:id]
|
@@ -11,7 +29,9 @@ module Stripe
|
|
11
29
|
@context = event_payload[:context]
|
12
30
|
@livemode = event_payload[:livemode]
|
13
31
|
@related_object = event_payload[:related_object]
|
14
|
-
|
32
|
+
return if event_payload[:reason].nil?
|
33
|
+
|
34
|
+
@reason = EventReason.new(event_payload[:reason])
|
15
35
|
end
|
16
36
|
end
|
17
37
|
end
|
data/lib/stripe/version.rb
CHANGED
data/lib/stripe.rb
CHANGED
@@ -74,6 +74,28 @@ module Stripe
|
|
74
74
|
DEFAULT_UPLOAD_BASE = "https://files.stripe.com"
|
75
75
|
DEFAULT_METER_EVENTS_BASE = "https://meter-events.stripe.com"
|
76
76
|
|
77
|
+
# Options that can be configured globally by users
|
78
|
+
USER_CONFIGURABLE_GLOBAL_OPTIONS = Set.new(%i[
|
79
|
+
api_key
|
80
|
+
api_version
|
81
|
+
stripe_account
|
82
|
+
api_base
|
83
|
+
uploads_base
|
84
|
+
connect_base
|
85
|
+
meter_events_base
|
86
|
+
open_timeout
|
87
|
+
read_timeout
|
88
|
+
write_timeout
|
89
|
+
proxy
|
90
|
+
verify_ssl_certs
|
91
|
+
ca_bundle_path
|
92
|
+
log_level
|
93
|
+
logger
|
94
|
+
max_network_retries
|
95
|
+
enable_telemetry
|
96
|
+
client_id
|
97
|
+
])
|
98
|
+
|
77
99
|
@app_info = nil
|
78
100
|
|
79
101
|
@config = Stripe::StripeConfiguration.setup
|
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: 13.3.
|
4
|
+
version: 13.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stripe
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-13 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.
|
@@ -404,7 +404,7 @@ metadata:
|
|
404
404
|
homepage_uri: https://stripe.com/docs/api?lang=ruby
|
405
405
|
source_code_uri: https://github.com/stripe/stripe-ruby
|
406
406
|
rubygems_mfa_required: 'false'
|
407
|
-
post_install_message:
|
407
|
+
post_install_message:
|
408
408
|
rdoc_options: []
|
409
409
|
require_paths:
|
410
410
|
- lib
|
@@ -420,7 +420,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
420
420
|
version: '0'
|
421
421
|
requirements: []
|
422
422
|
rubygems_version: 3.3.27
|
423
|
-
signing_key:
|
423
|
+
signing_key:
|
424
424
|
specification_version: 4
|
425
425
|
summary: Ruby bindings for the Stripe API
|
426
426
|
test_files: []
|