stripe 1.30.3 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +4 -0
  3. data/.github/ISSUE_TEMPLATE.md +5 -0
  4. data/.travis.yml +3 -14
  5. data/Gemfile +28 -4
  6. data/History.txt +180 -0
  7. data/README.md +147 -0
  8. data/Rakefile +10 -0
  9. data/VERSION +1 -1
  10. data/bin/stripe-console +12 -5
  11. data/lib/data/ca-certificates.crt +3868 -5114
  12. data/lib/stripe/account.rb +43 -23
  13. data/lib/stripe/alipay_account.rb +20 -0
  14. data/lib/stripe/api_operations/create.rb +2 -2
  15. data/lib/stripe/api_operations/delete.rb +2 -2
  16. data/lib/stripe/api_operations/list.rb +2 -3
  17. data/lib/stripe/api_operations/request.rb +9 -3
  18. data/lib/stripe/api_operations/save.rb +85 -0
  19. data/lib/stripe/api_resource.rb +38 -5
  20. data/lib/stripe/apple_pay_domain.rb +12 -0
  21. data/lib/stripe/application_fee.rb +8 -8
  22. data/lib/stripe/application_fee_refund.rb +7 -3
  23. data/lib/stripe/balance_transaction.rb +1 -1
  24. data/lib/stripe/bank_account.rb +13 -4
  25. data/lib/stripe/bitcoin_receiver.rb +6 -6
  26. data/lib/stripe/bitcoin_transaction.rb +1 -1
  27. data/lib/stripe/card.rb +9 -5
  28. data/lib/stripe/charge.rb +38 -20
  29. data/lib/stripe/country_spec.rb +9 -0
  30. data/lib/stripe/coupon.rb +1 -1
  31. data/lib/stripe/customer.rb +12 -10
  32. data/lib/stripe/dispute.rb +4 -5
  33. data/lib/stripe/errors.rb +92 -0
  34. data/lib/stripe/file_upload.rb +1 -1
  35. data/lib/stripe/invoice.rb +7 -7
  36. data/lib/stripe/invoice_item.rb +1 -1
  37. data/lib/stripe/list_object.rb +8 -7
  38. data/lib/stripe/order.rb +12 -4
  39. data/lib/stripe/order_return.rb +9 -0
  40. data/lib/stripe/plan.rb +1 -1
  41. data/lib/stripe/product.rb +2 -10
  42. data/lib/stripe/recipient.rb +1 -1
  43. data/lib/stripe/refund.rb +1 -1
  44. data/lib/stripe/reversal.rb +7 -3
  45. data/lib/stripe/singleton_api_resource.rb +3 -3
  46. data/lib/stripe/sku.rb +2 -2
  47. data/lib/stripe/source.rb +11 -0
  48. data/lib/stripe/stripe_client.rb +396 -0
  49. data/lib/stripe/stripe_object.rb +167 -91
  50. data/lib/stripe/stripe_response.rb +48 -0
  51. data/lib/stripe/subscription.rb +15 -9
  52. data/lib/stripe/subscription_item.rb +12 -0
  53. data/lib/stripe/three_d_secure.rb +9 -0
  54. data/lib/stripe/transfer.rb +4 -5
  55. data/lib/stripe/util.rb +105 -33
  56. data/lib/stripe/version.rb +1 -1
  57. data/lib/stripe.rb +69 -266
  58. data/spec/fixtures.json +1409 -0
  59. data/spec/fixtures.yaml +1153 -0
  60. data/spec/spec.json +19949 -0
  61. data/spec/spec.yaml +15504 -0
  62. data/stripe.gemspec +5 -18
  63. data/test/api_fixtures.rb +29 -0
  64. data/test/api_stub_helpers.rb +125 -0
  65. data/test/stripe/account_test.rb +163 -211
  66. data/test/stripe/alipay_account_test.rb +19 -0
  67. data/test/stripe/api_operations_test.rb +31 -0
  68. data/test/stripe/api_resource_test.rb +174 -340
  69. data/test/stripe/apple_pay_domain_test.rb +33 -0
  70. data/test/stripe/application_fee_refund_test.rb +22 -31
  71. data/test/stripe/application_fee_test.rb +6 -14
  72. data/test/stripe/balance_test.rb +3 -3
  73. data/test/stripe/bank_account_test.rb +41 -0
  74. data/test/stripe/bitcoin_receiver_test.rb +51 -42
  75. data/test/stripe/bitcoin_transaction_test.rb +11 -19
  76. data/test/stripe/charge_test.rb +39 -98
  77. data/test/stripe/country_spec_test.rb +20 -0
  78. data/test/stripe/coupon_test.rb +35 -11
  79. data/test/stripe/customer_card_test.rb +25 -46
  80. data/test/stripe/customer_test.rb +89 -61
  81. data/test/stripe/dispute_test.rb +28 -31
  82. data/test/stripe/errors_test.rb +18 -0
  83. data/test/stripe/file_upload_test.rb +32 -24
  84. data/test/stripe/invoice_item_test.rb +55 -0
  85. data/test/stripe/invoice_test.rb +50 -24
  86. data/test/stripe/list_object_test.rb +57 -45
  87. data/test/stripe/order_return_test.rb +21 -0
  88. data/test/stripe/order_test.rb +41 -34
  89. data/test/stripe/plan_test.rb +52 -0
  90. data/test/stripe/product_test.rb +31 -25
  91. data/test/stripe/recipient_card_test.rb +23 -40
  92. data/test/stripe/recipient_test.rb +50 -0
  93. data/test/stripe/refund_test.rb +20 -36
  94. data/test/stripe/reversal_test.rb +27 -31
  95. data/test/stripe/sku_test.rb +39 -13
  96. data/test/stripe/source_test.rb +43 -0
  97. data/test/stripe/stripe_client_test.rb +428 -0
  98. data/test/stripe/stripe_object_test.rb +186 -13
  99. data/test/stripe/stripe_response_test.rb +46 -0
  100. data/test/stripe/subscription_item_test.rb +54 -0
  101. data/test/stripe/subscription_test.rb +40 -52
  102. data/test/stripe/three_d_secure_test.rb +23 -0
  103. data/test/stripe/transfer_test.rb +38 -13
  104. data/test/stripe/util_test.rb +48 -16
  105. data/test/stripe_test.rb +25 -0
  106. data/test/test_data.rb +5 -621
  107. data/test/test_helper.rb +24 -24
  108. metadata +60 -139
  109. data/README.rdoc +0 -68
  110. data/gemfiles/default-with-activesupport.gemfile +0 -10
  111. data/gemfiles/json.gemfile +0 -12
  112. data/gemfiles/yajl.gemfile +0 -12
  113. data/lib/stripe/api_operations/update.rb +0 -58
  114. data/lib/stripe/errors/api_connection_error.rb +0 -4
  115. data/lib/stripe/errors/api_error.rb +0 -4
  116. data/lib/stripe/errors/authentication_error.rb +0 -4
  117. data/lib/stripe/errors/card_error.rb +0 -12
  118. data/lib/stripe/errors/invalid_request_error.rb +0 -11
  119. data/lib/stripe/errors/rate_limit_error.rb +0 -4
  120. data/lib/stripe/errors/stripe_error.rb +0 -26
  121. data/test/stripe/charge_refund_test.rb +0 -55
  122. data/test/stripe/metadata_test.rb +0 -129
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 57a7cdc2de64371c76c7f0a74cc2b179819a6589
4
- data.tar.gz: 3d3f0155191a28d7cda3ae40f9551880d0c63f73
3
+ metadata.gz: fe6ecafb3e94d2c21da1cad428be4ac9fda47ed9
4
+ data.tar.gz: d69bf4b5289a9661d3d8a9383bb4acea4cb2c0b9
5
5
  SHA512:
6
- metadata.gz: 57b53ee9cce83fa1bd0a8e78b548594239799e46a1105dbda7d67d33302b7578bbc33280416f78058bc112808a49ea3a57e7e0fd42104fb331b82383832158a7
7
- data.tar.gz: 804c78f9c635f021c6e8dec7c1c78a16c9ddf4b43ac81f60782ecec1c247bacd6bd9fd21a6b5b563eb12f815ee5d96b0b16fbe6ecaf8e31251a74a67e3290997
6
+ metadata.gz: 381878036316652650840edfa24814e60b21ce6813a9e8cc4a5e58ff000349434d7947e63e51390d962d817755e0b40b68a1370781262b982cef93aa90296879
7
+ data.tar.gz: 9afa8b57e838b7a44264f302afbb2c9b62c40176dc699a17ff83fb5fe50c4c481f0cf7de3f83dd7c7ec70211dc466d5a22e290b3157cbb2ed34bc10562871bac
data/.gitattributes ADDED
@@ -0,0 +1,4 @@
1
+ # may be useful in hiding large schema changes in pull request diffs (but not
2
+ # using it for now)
3
+ spec/*.json binary
4
+ spec/*.yaml binary
@@ -0,0 +1,5 @@
1
+ Please only file issues here that you believe represent actual bugs or feature requests for the Stripe Ruby library.
2
+
3
+ If you're having general trouble with your Stripe integration, please reach out to support using the form at https://support.stripe.com/ (preferred) or via email to support@stripe.com.
4
+
5
+ If you are reporting a bug, please include your Ruby version and the version of the Stripe Ruby library you're using, as well as any other details that may be helpful in reproducing the problem.
data/.travis.yml CHANGED
@@ -1,23 +1,12 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 1.8.7
5
- - 1.9.2
6
- - 1.9.3
7
4
  - 2.0.0
8
5
  - 2.1
9
6
  - 2.2
10
- - jruby-19mode
11
-
12
- gemfile:
13
- - gemfiles/default-with-activesupport.gemfile
14
- - gemfiles/json.gemfile
15
- - gemfiles/yajl.gemfile
16
-
17
- matrix:
18
- exclude:
19
- - rvm: jruby-19mode
20
- gemfile: gemfiles/yajl.gemfile
7
+ - 2.3.0
8
+ - 2.4.0
9
+ - jruby-9.0.5.0
21
10
 
22
11
  notifications:
23
12
  email:
data/Gemfile CHANGED
@@ -1,8 +1,32 @@
1
1
  source "https://rubygems.org"
2
+
2
3
  gemspec
3
4
 
4
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('1.9.3')
5
- gem 'i18n', '< 0.7'
6
- gem 'rest-client', '~> 1.6.8'
7
- gem 'activesupport', '~> 3.2'
5
+ group :development do
6
+ gem 'committee', '2.0.0.pre6'
7
+ gem 'mocha', '~> 0.13.2'
8
+ gem 'rake'
9
+ gem 'shoulda-context'
10
+ gem 'sinatra'
11
+ gem 'test-unit'
12
+ gem 'webmock'
13
+
14
+ # Rack 2.0+ requires Ruby >= 2.2.2 which is problematic for the test suite on
15
+ # older Ruby versions. Check Ruby the version here and put a maximum
16
+ # constraint on Rack if necessary.
17
+ if RUBY_VERSION >= '2.2.2'
18
+ gem "rack", ">= 1.5"
19
+ else
20
+ gem "rack", ">= 1.5", "< 2.0"
21
+ end
22
+
23
+ platforms :mri do
24
+ # to avoid problems, bring Byebug in on just versions of Ruby under which
25
+ # it's known to work well
26
+ if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.0.0')
27
+ gem 'byebug'
28
+ gem 'pry'
29
+ gem 'pry-byebug'
30
+ end
31
+ end
8
32
  end
data/History.txt CHANGED
@@ -1,3 +1,183 @@
1
+ === 2.0.0 2017-02-14
2
+
3
+ * Drop support for Ruby 1.9
4
+ * Allow HTTP client that makes Stripe calls to be configured via Faraday
5
+ * Drop RestClient
6
+ * Switch to OpenAPI 2.0 spec and generated fixtures in test suite
7
+ * Switch to Webmock in test suite
8
+
9
+ === 1.58.0 2017-01-19
10
+
11
+ * Remove erroneously added list methods for `Source` model
12
+
13
+ === 1.57.1 2016-11-28
14
+
15
+ * Disallow sending protected fields along with API resource `.update`
16
+
17
+ === 1.57.0 2016-11-21
18
+
19
+ * Add retrieve method for 3-D Secure resources
20
+
21
+ === 1.56.2 2016-11-17
22
+
23
+ * Improve `StripeObject`'s `#to_s` to better handle how embedded objects are displayed
24
+
25
+ === 1.56.1 2016-11-09
26
+
27
+ * Fix (fairly serious) memory like in `StripeObject`
28
+
29
+ === 1.56.0 2016-10-24
30
+
31
+ * Add accessors for new fields added in `#update_attributes`
32
+ * Handle multi-plan subscriptions through new subscription items
33
+ * Handle 403 status codes from the API
34
+
35
+ === 1.55.1 2016-10-24
36
+
37
+ Identical to 1.56.0 above. I incorrectly cut a patch-level release.
38
+
39
+ === 1.55.0 2016-09-15
40
+
41
+ * Add support for Apple Pay domains
42
+
43
+ === 1.54.0 2016-09-01
44
+
45
+ * Whitelist errors that should be retried; scope to known socket and HTTP errors
46
+
47
+ === 1.53.0 2016-08-31
48
+
49
+ * Relax version constraint on rest-client (and by extension mime-types) for users on Ruby 2+
50
+
51
+ === 1.52.0 2016-08-30
52
+
53
+ * Make sure `Subscription`'s `source` is saved with its parent
54
+
55
+ === 1.51.1 2016-08-30
56
+
57
+ * Make sure `Account`'s `external_account` is saved with its parent
58
+
59
+ === 1.51.0 2016-08-26
60
+
61
+ * Error when an array of maps is detected that cannot be accurately encoded
62
+ * Start using strings for header names instead of symbols for better clarity
63
+
64
+ === 1.50.1 2016-08-25
65
+
66
+ * Fix encoding of arrays of maps where maps unequal sets of keys
67
+
68
+ === 1.50.0 2016-08-15
69
+
70
+ * Allow sources to be created
71
+
72
+ === 1.49.0 2016-07-28
73
+
74
+ * Add top-level `Source` model
75
+
76
+ === 1.48.0 2016-07-12
77
+
78
+ * Add `ThreeDSecure` model for 3-D secure payments
79
+
80
+ === 1.47.0 2016-07-11
81
+
82
+ * Allow rest-client version 2.0+ to be used with the gem
83
+
84
+ === 1.46.0 2016-07-07
85
+
86
+ * Allow retry when a 409 conflict is encountered
87
+
88
+ === 1.45.0 2016-07-07
89
+
90
+ * Do not send subresources when updating except when explicitly told to do so (see #433)
91
+
92
+ === 1.44.0 2016-06-29
93
+
94
+ * Add `update` class method to all resources that can be updated
95
+
96
+ === 1.43.1 2016-06-17
97
+
98
+ * Fix type of resource returned from `Order#return_order`
99
+
100
+ === 1.43.0 2016-05-20
101
+
102
+ * Allow Relay orders to be returned and add associated types
103
+ * Support Alipay account retrieval and deletion
104
+
105
+ === 1.42.0 2016-05-04
106
+
107
+ * Add support for the new /v1/subscriptions endpoint
108
+ * Stripe::Subscription.retrieve
109
+ * Stripe::Subscription.list
110
+ * Stripe::Subscription.create
111
+ * Stripe::Subscription.update
112
+ * Stripe::Subscription.delete
113
+
114
+ === 1.41.0 2016-04-13
115
+
116
+ * Add global `stripe_account` option that adds a `Stripe-Account` header to all requests
117
+
118
+ === 1.40.0 2016-04-06
119
+
120
+ * Fix bug that omitted subresources from serialization
121
+
122
+ === 1.39.0 2016-03-31
123
+
124
+ * Update CA cert bundle for compatibility with OpenSSL versions below 1.0.1
125
+
126
+ === 1.38.0 2016-03-18
127
+
128
+ * Allow `opts` to be passed to an API resource's `#save` method
129
+
130
+ === 1.37.0 2016-03-14
131
+
132
+ * Add `Account#reject` to support the new API feature
133
+
134
+ === 1.36.2 2016-03-14
135
+
136
+ * Fix reference to non-existent `#url` in `ListObject`
137
+
138
+ === 1.36.1 2016-03-04
139
+
140
+ * Fix serialization when subhash given to `#save` or `#update_attributes`
141
+
142
+ === 1.36.0 2016-02-08
143
+
144
+ * Add `CountrySpec` model for looking up country payment information
145
+
146
+ === 1.35.1 2016-02-03
147
+
148
+ * Add compatibility layer for old API versions on `Charge#refund`
149
+
150
+ === 1.35.0 2016-02-01
151
+
152
+ * Allow CA cert bundle location to be configured
153
+ * Updated bundled CA certs
154
+
155
+ === 1.34.0 2016-01-25
156
+
157
+ * Add support for deleting products and SKUs
158
+
159
+ === 1.33.1 2016-01-21
160
+
161
+ * Pass through arguments of `Charge#refund`
162
+
163
+ === 1.33.0 2016-01-19
164
+
165
+ * Re-implement `Charge#refund` helper to use the modern endpoint suggested by docs
166
+
167
+ === 1.32.1 2016-01-07
168
+
169
+ * Fix bug where ivar left uninitialized in StripeObject could error on serialization
170
+ * Fix bug where a nil customer from API could error Bitcoin model on refresh
171
+
172
+ === 1.32.0 2016-01-05
173
+
174
+ * Add configuration to optionally retry network failures
175
+ * Use modern API endpoint for producing application fee refunds
176
+
177
+ === 1.31.0 2015-10-29
178
+
179
+ * Add BankAccount#verify convenience method
180
+
1
181
  === 1.30.3 2015-10-28
2
182
 
3
183
  * Fix bug where arrays that were not `additional_owners` were not properly encoded for requests
data/README.md ADDED
@@ -0,0 +1,147 @@
1
+ # Stripe Ruby Bindings [![Build Status](https://travis-ci.org/stripe/stripe-ruby.svg?branch=master)](https://travis-ci.org/stripe/stripe-ruby)
2
+
3
+ The Stripe Ruby bindings provide a small SDK for convenient access to the
4
+ Stripe API from applications written in the Ruby language. It provides a
5
+ pre-defined set of classes for API resources that initialize themselves
6
+ dynamically from API responses which allows the bindings to tolerate a number
7
+ of different versions of the API.
8
+
9
+ The bindings also provide other features. For example:
10
+
11
+ * Easy configuration path for fast setup and use.
12
+ * Helpers for pagination.
13
+ * Tracking of "fresh" values in API resources so that partial updates can be
14
+ executed.
15
+ * Built-in mechanisms for the serialization of parameters according to the
16
+ expectations of Stripe's API.
17
+
18
+ ## Documentation
19
+
20
+ See the [Ruby API docs](https://stripe.com/docs/api/ruby#intro).
21
+
22
+ ## Installation
23
+
24
+ You don't need this source code unless you want to modify the gem. If you just
25
+ want to use the Stripe Ruby bindings, you should run:
26
+
27
+ gem install stripe
28
+
29
+ If you want to build the gem from source:
30
+
31
+ gem build stripe.gemspec
32
+
33
+ ### Requirements
34
+
35
+ * Ruby 2.0+.
36
+
37
+ ### Bundler
38
+
39
+ If you are installing via bundler, you should be sure to use the https rubygems
40
+ source in your Gemfile, as any gems fetched over http could potentially be
41
+ compromised in transit and alter the code of gems fetched securely over https:
42
+
43
+ ``` ruby
44
+ source 'https://rubygems.org'
45
+
46
+ gem 'rails'
47
+ gem 'stripe'
48
+ ```
49
+
50
+ ## Usage
51
+
52
+ The library needs to be configured with your account's secret key which is
53
+ available in your [Stripe Dashboard][dashboard]. Set `Stripe.api_key` to its
54
+ value:
55
+
56
+ ``` ruby
57
+ require "stripe"
58
+ Stripe.api_key = "sk_test_..."
59
+
60
+ # list charges
61
+ Stripe::Charge.list()
62
+
63
+ # retrieve single charge
64
+ Stripe::Charge.retrieve(
65
+ "ch_18atAXCdGbJFKhCuBAa4532Z",
66
+ )
67
+ ```
68
+
69
+ ### Per-request Configuration
70
+
71
+ For apps that need to use multiple keys during the lifetime of a process, like
72
+ one that uses [Stripe Connect][connect], it's also possible to set a
73
+ per-request key and/or account:
74
+
75
+ ``` ruby
76
+ require "stripe"
77
+
78
+ Stripe::Charge.list(
79
+ {},
80
+ :api_key => "sk_test_...",
81
+ :stripe_account => "acct_..."
82
+ )
83
+
84
+ Stripe::Charge.retrieve(
85
+ "ch_18atAXCdGbJFKhCuBAa4532Z",
86
+ :api_key => "sk_test_...",
87
+ :stripe_account => "acct_..."
88
+ )
89
+ ```
90
+
91
+ ### Configuring a Client
92
+
93
+ While a default HTTP client is used by default, it's also possible to have the
94
+ library use any client supported by [Faraday][faraday] by initializing a
95
+ `Stripe::StripeClient` object and giving it a connection:
96
+
97
+ ``` ruby
98
+ conn = Faraday.new
99
+ client = Stripe::StripeClient.new(conn)
100
+ client.request do
101
+ charge, resp = Stripe::Charge.retrieve(
102
+ "ch_18atAXCdGbJFKhCuBAa4532Z",
103
+ )
104
+ end
105
+ puts resp.request_id
106
+ ```
107
+
108
+ ### Configuring CA Bundles
109
+
110
+ By default, the library will use its own internal bundle of known CA
111
+ certificates, but it's possible to configure your own:
112
+
113
+ Stripe.ca_bundle_path = "path/to/ca/bundle"
114
+
115
+ ### Configuring Automatic Retries
116
+
117
+ The library can be configured to automatically retry requests that fail due to
118
+ an intermittent network problem:
119
+
120
+ Stripe.max_network_retries = 2
121
+
122
+ [Idempotency keys][idempotency-keys] are added to requests to guarantee that
123
+ retries are safe.
124
+
125
+ ## Development
126
+
127
+ Run all tests:
128
+
129
+ bundle exec rake
130
+
131
+ Run a single test suite:
132
+
133
+ bundle exec ruby -Ilib/ test/stripe/util_test.rb
134
+
135
+ Run a single test:
136
+
137
+ bundle exec ruby -Ilib/ test/stripe/util_test.rb -n /should.convert.names.to.symbols/
138
+
139
+ Update bundled CA certificates from the [Mozilla cURL release][curl]:
140
+
141
+ bundle exec rake update_certs
142
+
143
+ [connect]: https://stripe.com/connect
144
+ [curl]: http://curl.haxx.se/docs/caextract.html
145
+ [faraday]: https://github.com/lostisland/faraday
146
+ [idempotency-keys]: https://stripe.com/docs/api/ruby#idempotent_requests
147
+ [dashboard]: https://dashboard.stripe.com/account
data/Rakefile CHANGED
@@ -5,3 +5,13 @@ task :default => [:test]
5
5
  Rake::TestTask.new do |t|
6
6
  t.pattern = './test/**/*_test.rb'
7
7
  end
8
+
9
+ desc "update bundled certs"
10
+ task :update_certs do
11
+ require "restclient"
12
+ File.open(File.join(File.dirname(__FILE__), 'lib', 'data', 'ca-certificates.crt'), 'w') do |file|
13
+ resp = Faraday.get "https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt"
14
+ abort("bad response when fetching bundle") unless resp.code == 200
15
+ file.write(resp.to_str)
16
+ end
17
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.30.3
1
+ 2.0.0
data/bin/stripe-console CHANGED
@@ -1,7 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
- irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
3
2
 
4
- libs = " -r irb/completion"
5
- libs << " -r #{File.dirname(__FILE__) + '/../lib/stripe'}"
6
- puts "Loading stripe gem"
7
- exec "#{irb} #{libs} --simple-prompt"
3
+ require 'irb'
4
+ require 'irb/completion'
5
+
6
+ require "#{File.dirname(__FILE__)}/../lib/stripe"
7
+
8
+ # Config IRB to enable --simple-prompt and auto indent
9
+ IRB.conf[:PROMPT_MODE] = :SIMPLE
10
+ IRB.conf[:AUTO_INDENT] = true
11
+
12
+ puts "Loaded gem 'stripe'"
13
+
14
+ IRB.start