stripe 4.24.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
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