stripe 4.24.0 → 5.0.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.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +17 -4
  3. data/.rubocop_todo.yml +10 -9
  4. data/.travis.yml +1 -5
  5. data/CHANGELOG.md +22 -0
  6. data/Gemfile +2 -12
  7. data/README.md +10 -10
  8. data/Rakefile +8 -7
  9. data/VERSION +1 -1
  10. data/lib/stripe.rb +56 -15
  11. data/lib/stripe/api_operations/list.rb +0 -6
  12. data/lib/stripe/connection_manager.rb +131 -0
  13. data/lib/stripe/error_object.rb +94 -0
  14. data/lib/stripe/errors.rb +15 -2
  15. data/lib/stripe/list_object.rb +2 -1
  16. data/lib/stripe/multipart_encoder.rb +131 -0
  17. data/lib/stripe/object_types.rb +0 -1
  18. data/lib/stripe/resources.rb +0 -1
  19. data/lib/stripe/resources/account.rb +1 -5
  20. data/lib/stripe/resources/account_link.rb +1 -1
  21. data/lib/stripe/resources/alipay_account.rb +1 -1
  22. data/lib/stripe/resources/apple_pay_domain.rb +1 -1
  23. data/lib/stripe/resources/application_fee.rb +1 -12
  24. data/lib/stripe/resources/application_fee_refund.rb +1 -1
  25. data/lib/stripe/resources/balance.rb +1 -1
  26. data/lib/stripe/resources/balance_transaction.rb +1 -1
  27. data/lib/stripe/resources/bank_account.rb +1 -1
  28. data/lib/stripe/resources/bitcoin_receiver.rb +1 -1
  29. data/lib/stripe/resources/bitcoin_transaction.rb +1 -1
  30. data/lib/stripe/resources/capability.rb +1 -1
  31. data/lib/stripe/resources/card.rb +1 -1
  32. data/lib/stripe/resources/charge.rb +7 -69
  33. data/lib/stripe/resources/checkout/session.rb +1 -1
  34. data/lib/stripe/resources/country_spec.rb +1 -1
  35. data/lib/stripe/resources/coupon.rb +1 -1
  36. data/lib/stripe/resources/credit_note.rb +1 -1
  37. data/lib/stripe/resources/customer.rb +3 -63
  38. data/lib/stripe/resources/customer_balance_transaction.rb +1 -1
  39. data/lib/stripe/resources/discount.rb +1 -1
  40. data/lib/stripe/resources/dispute.rb +1 -7
  41. data/lib/stripe/resources/ephemeral_key.rb +1 -1
  42. data/lib/stripe/resources/event.rb +1 -1
  43. data/lib/stripe/resources/exchange_rate.rb +1 -1
  44. data/lib/stripe/resources/file.rb +3 -13
  45. data/lib/stripe/resources/file_link.rb +1 -1
  46. data/lib/stripe/resources/invoice.rb +6 -1
  47. data/lib/stripe/resources/invoice_item.rb +1 -1
  48. data/lib/stripe/resources/invoice_line_item.rb +1 -1
  49. data/lib/stripe/resources/issuing/authorization.rb +1 -1
  50. data/lib/stripe/resources/issuing/card.rb +1 -1
  51. data/lib/stripe/resources/issuing/card_details.rb +1 -1
  52. data/lib/stripe/resources/issuing/cardholder.rb +1 -1
  53. data/lib/stripe/resources/issuing/dispute.rb +1 -1
  54. data/lib/stripe/resources/issuing/transaction.rb +1 -1
  55. data/lib/stripe/resources/login_link.rb +1 -1
  56. data/lib/stripe/resources/order.rb +1 -9
  57. data/lib/stripe/resources/order_return.rb +1 -1
  58. data/lib/stripe/resources/payment_intent.rb +1 -1
  59. data/lib/stripe/resources/payment_method.rb +1 -1
  60. data/lib/stripe/resources/payout.rb +1 -7
  61. data/lib/stripe/resources/person.rb +1 -1
  62. data/lib/stripe/resources/plan.rb +1 -1
  63. data/lib/stripe/resources/product.rb +1 -1
  64. data/lib/stripe/resources/radar/early_fraud_warning.rb +1 -1
  65. data/lib/stripe/resources/radar/value_list.rb +1 -1
  66. data/lib/stripe/resources/radar/value_list_item.rb +1 -1
  67. data/lib/stripe/resources/recipient.rb +1 -5
  68. data/lib/stripe/resources/recipient_transfer.rb +1 -1
  69. data/lib/stripe/resources/refund.rb +1 -1
  70. data/lib/stripe/resources/reporting/report_run.rb +1 -1
  71. data/lib/stripe/resources/reporting/report_type.rb +1 -1
  72. data/lib/stripe/resources/reversal.rb +1 -1
  73. data/lib/stripe/resources/review.rb +1 -1
  74. data/lib/stripe/resources/setup_intent.rb +1 -1
  75. data/lib/stripe/resources/sigma/scheduled_query_run.rb +1 -1
  76. data/lib/stripe/resources/sku.rb +1 -1
  77. data/lib/stripe/resources/source.rb +1 -7
  78. data/lib/stripe/resources/source_transaction.rb +1 -1
  79. data/lib/stripe/resources/subscription.rb +9 -9
  80. data/lib/stripe/resources/subscription_item.rb +1 -1
  81. data/lib/stripe/resources/subscription_schedule.rb +1 -1
  82. data/lib/stripe/resources/tax_id.rb +1 -1
  83. data/lib/stripe/resources/tax_rate.rb +1 -1
  84. data/lib/stripe/resources/terminal/connection_token.rb +1 -1
  85. data/lib/stripe/resources/terminal/location.rb +1 -1
  86. data/lib/stripe/resources/terminal/reader.rb +1 -1
  87. data/lib/stripe/resources/three_d_secure.rb +1 -1
  88. data/lib/stripe/resources/token.rb +1 -1
  89. data/lib/stripe/resources/topup.rb +1 -1
  90. data/lib/stripe/resources/transfer.rb +1 -6
  91. data/lib/stripe/resources/usage_record.rb +1 -17
  92. data/lib/stripe/resources/usage_record_summary.rb +1 -1
  93. data/lib/stripe/resources/webhook_endpoint.rb +1 -1
  94. data/lib/stripe/stripe_client.rb +281 -183
  95. data/lib/stripe/stripe_object.rb +4 -23
  96. data/lib/stripe/stripe_response.rb +53 -21
  97. data/lib/stripe/util.rb +10 -11
  98. data/lib/stripe/version.rb +1 -1
  99. data/lib/stripe/webhook.rb +1 -1
  100. data/stripe.gemspec +6 -9
  101. data/test/stripe/account_test.rb +0 -16
  102. data/test/stripe/api_operations_test.rb +2 -2
  103. data/test/stripe/api_resource_test.rb +2 -10
  104. data/test/stripe/charge_test.rb +0 -16
  105. data/test/stripe/connection_manager_test.rb +138 -0
  106. data/test/stripe/customer_test.rb +1 -44
  107. data/test/stripe/errors_test.rb +29 -8
  108. data/test/stripe/file_test.rb +0 -10
  109. data/test/stripe/invoice_test.rb +17 -1
  110. data/test/stripe/list_object_test.rb +0 -16
  111. data/test/stripe/login_link_test.rb +1 -1
  112. data/test/stripe/multipart_encoder_test.rb +130 -0
  113. data/test/stripe/payment_intent_test.rb +1 -1
  114. data/test/stripe/setup_intent_test.rb +1 -1
  115. data/test/stripe/source_test.rb +0 -18
  116. data/test/stripe/stripe_client_test.rb +214 -29
  117. data/test/stripe/stripe_object_test.rb +7 -35
  118. data/test/stripe/stripe_response_test.rb +70 -24
  119. data/test/stripe/subscription_test.rb +2 -2
  120. data/test/stripe/webhook_test.rb +2 -2
  121. data/test/stripe_mock.rb +4 -3
  122. data/test/stripe_test.rb +0 -13
  123. data/test/test_helper.rb +10 -5
  124. metadata +11 -39
  125. data/lib/stripe/resources/issuer_fraud_record.rb +0 -9
  126. data/test/stripe/file_upload_test.rb +0 -79
  127. data/test/stripe/issuer_fraud_record_test.rb +0 -20
  128. data/test/stripe/usage_record_test.rb +0 -28
@@ -52,9 +52,9 @@ module Stripe
52
52
  2,
53
53
  ],
54
54
  map: {
55
- :"0" => StripeObject.construct_from({ id: "index0" }, opts),
56
- :"1" => "index1",
57
- :"2" => 2,
55
+ "0": StripeObject.construct_from({ id: "index0" }, opts),
56
+ "1": "index1",
57
+ "2": 2,
58
58
  },
59
59
  }
60
60
 
@@ -235,20 +235,6 @@ module Stripe
235
235
  assert_equal true, obj.send(:metaclass).method_defined?(:foo)
236
236
  end
237
237
 
238
- should "warn that #refresh_from is deprecated" do
239
- old_stderr = $stderr
240
- $stderr = StringIO.new
241
- begin
242
- obj = Stripe::StripeObject.construct_from({})
243
- obj.refresh_from({}, {})
244
- message = "NOTE: Stripe::StripeObject#refresh_from is " \
245
- "deprecated; use #update_attributes instead"
246
- assert_match Regexp.new(message), $stderr.string
247
- ensure
248
- $stderr = old_stderr
249
- end
250
- end
251
-
252
238
  should "pass opts down to children when initializing" do
253
239
  opts = { custom: "opts" }
254
240
 
@@ -302,14 +288,14 @@ module Stripe
302
288
  end
303
289
 
304
290
  should "#serialize_params on an array that shortens" do
305
- obj = Stripe::StripeObject.construct_from(foo: ["0-index", "1-index", "2-index"])
291
+ obj = Stripe::StripeObject.construct_from(foo: %w[0-index 1-index 2-index])
306
292
  obj.foo = ["new-value"]
307
293
  assert_equal({ foo: ["new-value"] },
308
294
  obj.serialize_params)
309
295
  end
310
296
 
311
297
  should "#serialize_params on an array that lengthens" do
312
- obj = Stripe::StripeObject.construct_from(foo: ["0-index", "1-index", "2-index"])
298
+ obj = Stripe::StripeObject.construct_from(foo: %w[0-index 1-index 2-index])
313
299
  obj.foo = ["new-value"] * 4
314
300
  assert_equal({ foo: ["new-value"] * 4 },
315
301
  obj.serialize_params)
@@ -331,8 +317,8 @@ module Stripe
331
317
  end
332
318
 
333
319
  should "#serialize_params on an array that is unchanged" do
334
- obj = Stripe::StripeObject.construct_from(foo: ["0-index", "1-index", "2-index"])
335
- obj.foo = ["0-index", "1-index", "2-index"]
320
+ obj = Stripe::StripeObject.construct_from(foo: %w[0-index 1-index 2-index])
321
+ obj.foo = %w[0-index 1-index 2-index]
336
322
  assert_equal({}, obj.serialize_params)
337
323
  end
338
324
 
@@ -475,20 +461,6 @@ module Stripe
475
461
  assert_equal(expected, obj.to_s)
476
462
  end
477
463
 
478
- should "warn that .serialize_params is deprecated" do
479
- old_stderr = $stderr
480
- $stderr = StringIO.new
481
- begin
482
- obj = Stripe::StripeObject.construct_from({})
483
- Stripe::StripeObject.serialize_params(obj)
484
- message = "NOTE: Stripe::StripeObject.serialize_params is " \
485
- "deprecated; use #serialize_params instead"
486
- assert_match Regexp.new(message), $stderr.string
487
- ensure
488
- $stderr = old_stderr
489
- end
490
- end
491
-
492
464
  should "error on setting a property to an empty string" do
493
465
  obj = Stripe::StripeObject.construct_from(foo: "bar")
494
466
  e = assert_raises ArgumentError do
@@ -4,46 +4,92 @@ require ::File.expand_path("../test_helper", __dir__)
4
4
 
5
5
  module Stripe
6
6
  class StripeResponseTest < Test::Unit::TestCase
7
- context ".from_faraday_hash" do
8
- should "converts to StripeResponse" do
9
- body = '{"foo": "bar"}'
7
+ context "Headers" do
8
+ should "allow case-insensitive header access" do
10
9
  headers = { "Request-Id" => "request-id" }
10
+ http_resp = create_net_http_resp(200, "", headers)
11
11
 
12
- http_resp = {
13
- body: body,
14
- headers: headers,
15
- status: 200,
16
- }
12
+ headers = StripeResponse::Headers.from_net_http(http_resp)
17
13
 
18
- resp = StripeResponse.from_faraday_hash(http_resp)
14
+ assert_equal "request-id", headers["request-id"]
15
+ assert_equal "request-id", headers["Request-Id"]
16
+ assert_equal "request-id", headers["Request-ID"]
17
+ end
19
18
 
20
- assert_equal JSON.parse(body, symbolize_names: true), resp.data
21
- assert_equal body, resp.http_body
22
- assert_equal headers, resp.http_headers
23
- assert_equal 200, resp.http_status
24
- assert_equal "request-id", resp.request_id
19
+ should "initialize without error" do
20
+ StripeResponse::Headers.new({})
21
+ StripeResponse::Headers.new("Request-Id" => [])
22
+ StripeResponse::Headers.new("Request-Id" => ["request-id"])
23
+ end
24
+
25
+ should "initialize with error on a malformed hash" do
26
+ assert_raises(ArgumentError) do
27
+ StripeResponse::Headers.new(nil)
28
+ end
29
+
30
+ assert_raises(ArgumentError) do
31
+ StripeResponse::Headers.new(1 => [])
32
+ end
33
+
34
+ assert_raises(ArgumentError) do
35
+ StripeResponse::Headers.new("Request-Id" => 1)
36
+ end
37
+
38
+ assert_raises(ArgumentError) do
39
+ StripeResponse::Headers.new("Request-Id" => [1])
40
+ end
41
+ end
42
+
43
+ should "warn on duplicate header values" do
44
+ old_stderr = $stderr
45
+ $stderr = StringIO.new
46
+ begin
47
+ headers = StripeResponse::Headers.new("Duplicated" => %w[a b])
48
+ assert_equal "a", headers["Duplicated"]
49
+ assert_equal "Duplicate header values for `Duplicated`; returning only first",
50
+ $stderr.string.rstrip
51
+ ensure
52
+ $stderr = old_stderr
53
+ end
25
54
  end
26
55
  end
27
56
 
28
- context ".from_faraday_response" do
57
+ context ".from_net_http" do
29
58
  should "converts to StripeResponse" do
59
+ code = 200
30
60
  body = '{"foo": "bar"}'
31
61
  headers = { "Request-Id" => "request-id" }
62
+ http_resp = create_net_http_resp(code, body, headers)
32
63
 
33
- env = Faraday::Env.from(
34
- status: 200, body: body,
35
- response_headers: headers
36
- )
37
- http_resp = Faraday::Response.new(env)
38
-
39
- resp = StripeResponse.from_faraday_response(http_resp)
64
+ resp = StripeResponse.from_net_http(http_resp)
40
65
 
41
66
  assert_equal JSON.parse(body, symbolize_names: true), resp.data
42
67
  assert_equal body, resp.http_body
43
- assert_equal headers, resp.http_headers
44
- assert_equal 200, resp.http_status
68
+ assert_equal "request-id", resp.http_headers["Request-ID"]
69
+ assert_equal code, resp.http_status
45
70
  assert_equal "request-id", resp.request_id
46
71
  end
47
72
  end
73
+
74
+ # Synthesizes a `Net::HTTPResponse` object for testing purposes.
75
+ private def create_net_http_resp(code, body, headers)
76
+ # The "1.1" is HTTP version.
77
+ http_resp = Net::HTTPResponse.new("1.1", code.to_s, nil)
78
+ http_resp.body = body
79
+
80
+ # This is obviously super sketchy, but the Ruby team has done everything
81
+ # in their power to make these objects as difficult to test with as
82
+ # possible. Even if you specify a body, accessing `#body` the first time
83
+ # will attempt to read from a non-existent socket which will subsequently
84
+ # blow up. Setting this internal variable skips that read and allows the
85
+ # object to use the body that we specified above.
86
+ http_resp.instance_variable_set(:@read, true)
87
+
88
+ headers.each do |name, value|
89
+ http_resp[name] = value
90
+ end
91
+
92
+ http_resp
93
+ end
48
94
  end
49
95
  end
@@ -63,9 +63,9 @@ module Stripe
63
63
  context "#delete_discount" do
64
64
  should "be able to delete a subscriptions's discount" do
65
65
  subscription = Stripe::Subscription.retrieve("sub_123")
66
- subscription = subscription.delete_discount
66
+ discount = subscription.delete_discount
67
67
  assert_requested :delete, "#{Stripe.api_base}/v1/subscriptions/sub_123/discount"
68
- assert subscription.is_a?(Stripe::Subscription)
68
+ assert discount.is_a?(Stripe::Discount)
69
69
  end
70
70
  end
71
71
 
@@ -4,13 +4,13 @@ require ::File.expand_path("../test_helper", __dir__)
4
4
 
5
5
  module Stripe
6
6
  class WebhookTest < Test::Unit::TestCase
7
- EVENT_PAYLOAD = <<-PAYLOAD.freeze
7
+ EVENT_PAYLOAD = <<~PAYLOAD
8
8
  {
9
9
  "id": "evt_test_webhook",
10
10
  "object": "event"
11
11
  }
12
12
  PAYLOAD
13
- SECRET = "whsec_test_secret".freeze
13
+ SECRET = "whsec_test_secret"
14
14
 
15
15
  def generate_header(opts = {})
16
16
  opts[:timestamp] ||= Time.now.to_i
@@ -4,8 +4,8 @@ module Stripe
4
4
  class StripeMock
5
5
  include Singleton
6
6
 
7
- PATH_SPEC = "#{::File.dirname(__FILE__)}/openapi/spec3.json".freeze
8
- PATH_FIXTURES = "#{::File.dirname(__FILE__)}/openapi/fixtures3.json".freeze
7
+ PATH_SPEC = "#{::File.dirname(__FILE__)}/openapi/spec3.json"
8
+ PATH_FIXTURES = "#{::File.dirname(__FILE__)}/openapi/fixtures3.json"
9
9
 
10
10
  @pid = nil
11
11
  @port = -1
@@ -29,7 +29,7 @@ module Stripe
29
29
  @stderr, @child_stderr = ::IO.pipe
30
30
 
31
31
  @pid = ::Process.spawn(
32
- ["stripe-mock", "stripe-mock"],
32
+ %w[stripe-mock stripe-mock],
33
33
  "-http-port",
34
34
  "0", # have stripe-mock select a port
35
35
  "-spec",
@@ -66,6 +66,7 @@ module Stripe
66
66
  # Stops stripe-mock, if necessary.
67
67
  def self.stop
68
68
  return if @pid.nil?
69
+
69
70
  puts("Stopping stripe-mock...")
70
71
  ::Process.kill(:SIGTERM, @pid)
71
72
  ::Process.waitpid2(@pid)
@@ -3,19 +3,6 @@
3
3
  require ::File.expand_path("test_helper", __dir__)
4
4
 
5
5
  class StripeTest < Test::Unit::TestCase
6
- should "warn that #refresh_from is deprecated" do
7
- old_stderr = $stderr
8
- $stderr = StringIO.new
9
- begin
10
- Stripe.uri_encode({})
11
- message = "NOTE: Stripe.uri_encode is deprecated; use " \
12
- "Stripe::Util#encode_parameters instead"
13
- assert_match Regexp.new(message), $stderr.string
14
- ensure
15
- $stderr = old_stderr
16
- end
17
- end
18
-
19
6
  should "allow app_info to be configured" do
20
7
  begin
21
8
  old = Stripe.app_info
@@ -17,7 +17,7 @@ require ::File.expand_path("test_data", __dir__)
17
17
  require ::File.expand_path("stripe_mock", __dir__)
18
18
 
19
19
  # If changing this number, please also change it in `.travis.yml`.
20
- MOCK_MINIMUM_VERSION = "0.63.0".freeze
20
+ MOCK_MINIMUM_VERSION = "0.63.0"
21
21
  MOCK_PORT = Stripe::StripeMock.start
22
22
 
23
23
  # Disable all real network connections except those that are outgoing to
@@ -28,16 +28,21 @@ WebMock.disable_net_connect!(allow: "localhost:#{MOCK_PORT}")
28
28
  # we can print one error and fail fast so that it's more clear to the user how
29
29
  # they should fix the problem.
30
30
  begin
31
- conn = Faraday::Connection.new("http://localhost:#{MOCK_PORT}")
32
- resp = conn.get("/")
33
- version = resp.headers["Stripe-Mock-Version"]
31
+ resp = Net::HTTP.get_response(URI("http://localhost:#{MOCK_PORT}/"))
32
+ version = resp["Stripe-Mock-Version"]
33
+
34
+ if version.nil?
35
+ abort("Couldn't find `Stripe-Mock-Version` in response from " \
36
+ "`localhost:#{MOCK_PORT}`. Is the service running there stripe-mock?")
37
+ end
38
+
34
39
  if version != "master" &&
35
40
  Gem::Version.new(version) < Gem::Version.new(MOCK_MINIMUM_VERSION)
36
41
  abort("Your version of stripe-mock (#{version}) is too old. The minimum " \
37
42
  "version to run this test suite is #{MOCK_MINIMUM_VERSION}. Please " \
38
43
  "see its repository for upgrade instructions.")
39
44
  end
40
- rescue Faraday::ConnectionFailed
45
+ rescue Errno::ECONNREFUSED
41
46
  abort("Couldn't reach stripe-mock at `localhost:#{MOCK_PORT}`. Is " \
42
47
  "it running? Please see README for setup instructions.")
43
48
  end
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.24.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-13 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: faraday
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '0.13'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '0.13'
27
- - !ruby/object:Gem::Dependency
28
- name: net-http-persistent
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '3.0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '3.0'
11
+ date: 2019-08-20 00:00:00.000000000 Z
12
+ dependencies: []
41
13
  description: Stripe is the easiest way to accept payments online. See https://stripe.com
42
14
  for details.
43
15
  email: support@stripe.com
@@ -73,8 +45,11 @@ files:
73
45
  - lib/stripe/api_operations/request.rb
74
46
  - lib/stripe/api_operations/save.rb
75
47
  - lib/stripe/api_resource.rb
48
+ - lib/stripe/connection_manager.rb
49
+ - lib/stripe/error_object.rb
76
50
  - lib/stripe/errors.rb
77
51
  - lib/stripe/list_object.rb
52
+ - lib/stripe/multipart_encoder.rb
78
53
  - lib/stripe/oauth.rb
79
54
  - lib/stripe/object_types.rb
80
55
  - lib/stripe/resources.rb
@@ -108,7 +83,6 @@ files:
108
83
  - lib/stripe/resources/invoice.rb
109
84
  - lib/stripe/resources/invoice_item.rb
110
85
  - lib/stripe/resources/invoice_line_item.rb
111
- - lib/stripe/resources/issuer_fraud_record.rb
112
86
  - lib/stripe/resources/issuing/authorization.rb
113
87
  - lib/stripe/resources/issuing/card.rb
114
88
  - lib/stripe/resources/issuing/card_details.rb
@@ -178,6 +152,7 @@ files:
178
152
  - test/stripe/capability_test.rb
179
153
  - test/stripe/charge_test.rb
180
154
  - test/stripe/checkout/session_test.rb
155
+ - test/stripe/connection_manager_test.rb
181
156
  - test/stripe/country_spec_test.rb
182
157
  - test/stripe/coupon_test.rb
183
158
  - test/stripe/credit_note_test.rb
@@ -190,11 +165,9 @@ files:
190
165
  - test/stripe/exchange_rate_test.rb
191
166
  - test/stripe/file_link_test.rb
192
167
  - test/stripe/file_test.rb
193
- - test/stripe/file_upload_test.rb
194
168
  - test/stripe/invoice_item_test.rb
195
169
  - test/stripe/invoice_line_item_test.rb
196
170
  - test/stripe/invoice_test.rb
197
- - test/stripe/issuer_fraud_record_test.rb
198
171
  - test/stripe/issuing/authorization_test.rb
199
172
  - test/stripe/issuing/card_test.rb
200
173
  - test/stripe/issuing/cardholder_test.rb
@@ -202,6 +175,7 @@ files:
202
175
  - test/stripe/issuing/transaction_test.rb
203
176
  - test/stripe/list_object_test.rb
204
177
  - test/stripe/login_link_test.rb
178
+ - test/stripe/multipart_encoder_test.rb
205
179
  - test/stripe/oauth_test.rb
206
180
  - test/stripe/order_return_test.rb
207
181
  - test/stripe/order_test.rb
@@ -240,7 +214,6 @@ files:
240
214
  - test/stripe/topup_test.rb
241
215
  - test/stripe/transfer_test.rb
242
216
  - test/stripe/usage_record_summary_test.rb
243
- - test/stripe/usage_record_test.rb
244
217
  - test/stripe/util_test.rb
245
218
  - test/stripe/webhook_endpoint_test.rb
246
219
  - test/stripe/webhook_test.rb
@@ -266,7 +239,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
266
239
  requirements:
267
240
  - - ">="
268
241
  - !ruby/object:Gem::Version
269
- version: 2.1.0
242
+ version: 2.3.0
270
243
  required_rubygems_version: !ruby/object:Gem::Requirement
271
244
  requirements:
272
245
  - - ">="
@@ -294,6 +267,7 @@ test_files:
294
267
  - test/stripe/capability_test.rb
295
268
  - test/stripe/charge_test.rb
296
269
  - test/stripe/checkout/session_test.rb
270
+ - test/stripe/connection_manager_test.rb
297
271
  - test/stripe/country_spec_test.rb
298
272
  - test/stripe/coupon_test.rb
299
273
  - test/stripe/credit_note_test.rb
@@ -306,11 +280,9 @@ test_files:
306
280
  - test/stripe/exchange_rate_test.rb
307
281
  - test/stripe/file_link_test.rb
308
282
  - test/stripe/file_test.rb
309
- - test/stripe/file_upload_test.rb
310
283
  - test/stripe/invoice_item_test.rb
311
284
  - test/stripe/invoice_line_item_test.rb
312
285
  - test/stripe/invoice_test.rb
313
- - test/stripe/issuer_fraud_record_test.rb
314
286
  - test/stripe/issuing/authorization_test.rb
315
287
  - test/stripe/issuing/card_test.rb
316
288
  - test/stripe/issuing/cardholder_test.rb
@@ -318,6 +290,7 @@ test_files:
318
290
  - test/stripe/issuing/transaction_test.rb
319
291
  - test/stripe/list_object_test.rb
320
292
  - test/stripe/login_link_test.rb
293
+ - test/stripe/multipart_encoder_test.rb
321
294
  - test/stripe/oauth_test.rb
322
295
  - test/stripe/order_return_test.rb
323
296
  - test/stripe/order_test.rb
@@ -356,7 +329,6 @@ test_files:
356
329
  - test/stripe/topup_test.rb
357
330
  - test/stripe/transfer_test.rb
358
331
  - test/stripe/usage_record_summary_test.rb
359
- - test/stripe/usage_record_test.rb
360
332
  - test/stripe/util_test.rb
361
333
  - test/stripe/webhook_endpoint_test.rb
362
334
  - test/stripe/webhook_test.rb