stripe 1.31.0 → 1.58.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/.github/ISSUE_TEMPLATE.md +5 -0
- data/.travis.yml +2 -12
- data/Gemfile +29 -4
- data/History.txt +168 -0
- data/README.md +134 -0
- data/Rakefile +10 -0
- data/VERSION +1 -1
- data/bin/stripe-console +12 -5
- data/lib/data/ca-certificates.crt +3868 -5114
- data/lib/stripe/account.rb +41 -21
- data/lib/stripe/alipay_account.rb +20 -0
- data/lib/stripe/api_operations/create.rb +1 -1
- data/lib/stripe/api_operations/delete.rb +1 -1
- data/lib/stripe/api_operations/list.rb +1 -2
- data/lib/stripe/api_operations/save.rb +87 -0
- data/lib/stripe/api_resource.rb +37 -4
- data/lib/stripe/apple_pay_domain.rb +12 -0
- data/lib/stripe/application_fee.rb +8 -8
- data/lib/stripe/application_fee_refund.rb +7 -3
- data/lib/stripe/balance_transaction.rb +1 -1
- data/lib/stripe/bank_account.rb +9 -5
- data/lib/stripe/bitcoin_receiver.rb +6 -6
- data/lib/stripe/bitcoin_transaction.rb +1 -1
- data/lib/stripe/card.rb +9 -5
- data/lib/stripe/charge.rb +30 -12
- data/lib/stripe/country_spec.rb +9 -0
- data/lib/stripe/coupon.rb +1 -1
- data/lib/stripe/customer.rb +6 -4
- data/lib/stripe/dispute.rb +2 -2
- data/lib/stripe/errors.rb +82 -0
- data/lib/stripe/file_upload.rb +1 -1
- data/lib/stripe/invoice.rb +3 -3
- data/lib/stripe/invoice_item.rb +1 -1
- data/lib/stripe/list_object.rb +7 -6
- data/lib/stripe/order.rb +10 -2
- data/lib/stripe/order_return.rb +9 -0
- data/lib/stripe/plan.rb +1 -1
- data/lib/stripe/product.rb +2 -10
- data/lib/stripe/recipient.rb +1 -1
- data/lib/stripe/refund.rb +1 -1
- data/lib/stripe/reversal.rb +7 -3
- data/lib/stripe/singleton_api_resource.rb +3 -3
- data/lib/stripe/sku.rb +2 -2
- data/lib/stripe/source.rb +11 -0
- data/lib/stripe/stripe_object.rb +167 -91
- data/lib/stripe/subscription.rb +15 -9
- data/lib/stripe/subscription_item.rb +12 -0
- data/lib/stripe/three_d_secure.rb +9 -0
- data/lib/stripe/transfer.rb +3 -4
- data/lib/stripe/util.rb +100 -28
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +283 -140
- data/stripe.gemspec +5 -18
- data/test/stripe/account_test.rb +55 -9
- data/test/stripe/alipay_account_test.rb +11 -0
- data/test/stripe/api_operations_test.rb +31 -0
- data/test/stripe/api_resource_test.rb +204 -10
- data/test/stripe/apple_pay_domain_test.rb +34 -0
- data/test/stripe/application_fee_test.rb +8 -5
- data/test/stripe/bitcoin_receiver_test.rb +2 -2
- data/test/stripe/charge_refund_test.rb +12 -0
- data/test/stripe/charge_test.rb +32 -4
- data/test/stripe/country_spec_test.rb +43 -0
- data/test/stripe/coupon_test.rb +9 -1
- data/test/stripe/customer_card_test.rb +2 -2
- data/test/stripe/customer_test.rb +24 -1
- data/test/stripe/dispute_test.rb +8 -0
- data/test/stripe/errors_test.rb +18 -0
- data/test/stripe/invoice_item_test.rb +19 -0
- data/test/stripe/invoice_test.rb +27 -1
- data/test/stripe/list_object_test.rb +36 -15
- data/test/stripe/order_return_test.rb +25 -0
- data/test/stripe/order_test.rb +21 -1
- data/test/stripe/plan_test.rb +31 -0
- data/test/stripe/product_test.rb +17 -7
- data/test/stripe/recipient_card_test.rb +2 -2
- data/test/stripe/recipient_test.rb +21 -0
- data/test/stripe/refund_test.rb +10 -1
- data/test/stripe/sku_test.rb +15 -6
- data/test/stripe/source_test.rb +83 -0
- data/test/stripe/stripe_object_test.rb +180 -11
- data/test/stripe/subscription_item_test.rb +76 -0
- data/test/stripe/subscription_test.rb +161 -37
- data/test/stripe/three_d_secure_test.rb +22 -0
- data/test/stripe/transfer_test.rb +8 -0
- data/test/stripe/util_test.rb +48 -16
- data/test/stripe_test.rb +58 -0
- data/test/test_data.rb +337 -27
- data/test/test_helper.rb +7 -3
- metadata +47 -133
- data/README.rdoc +0 -68
- data/gemfiles/default-with-activesupport.gemfile +0 -10
- data/gemfiles/json.gemfile +0 -12
- data/gemfiles/yajl.gemfile +0 -12
- data/lib/stripe/api_operations/update.rb +0 -58
- data/lib/stripe/errors/api_connection_error.rb +0 -4
- data/lib/stripe/errors/api_error.rb +0 -4
- data/lib/stripe/errors/authentication_error.rb +0 -4
- data/lib/stripe/errors/card_error.rb +0 -12
- data/lib/stripe/errors/invalid_request_error.rb +0 -11
- data/lib/stripe/errors/rate_limit_error.rb +0 -4
- data/lib/stripe/errors/stripe_error.rb +0 -26
metadata
CHANGED
@@ -1,174 +1,65 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stripe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.58.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
- Greg Brockman
|
7
|
+
- Stripe
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2017-01-19 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rest-client
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
16
|
requirements:
|
18
|
-
- - "
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '1.4'
|
21
|
-
type: :runtime
|
22
|
-
prerelease: false
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - "~>"
|
17
|
+
- - ">="
|
26
18
|
- !ruby/object:Gem::Version
|
27
19
|
version: '1.4'
|
28
|
-
-
|
29
|
-
name: json
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
-
requirements:
|
32
|
-
- - "~>"
|
20
|
+
- - "<"
|
33
21
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
22
|
+
version: '4.0'
|
35
23
|
type: :runtime
|
36
24
|
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - "~>"
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: 1.8.1
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
|
-
name: mocha
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - "~>"
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: 0.13.2
|
49
|
-
type: :development
|
50
|
-
prerelease: false
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - "~>"
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: 0.13.2
|
56
|
-
- !ruby/object:Gem::Dependency
|
57
|
-
name: shoulda
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - "~>"
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 3.4.0
|
63
|
-
type: :development
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - "~>"
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 3.4.0
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: test-unit
|
72
|
-
requirement: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - ">="
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: '0'
|
77
|
-
type: :development
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - ">="
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: '0'
|
84
|
-
- !ruby/object:Gem::Dependency
|
85
|
-
name: rake
|
86
|
-
requirement: !ruby/object:Gem::Requirement
|
87
|
-
requirements:
|
88
|
-
- - ">="
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version: '0'
|
91
|
-
type: :development
|
92
|
-
prerelease: false
|
93
|
-
version_requirements: !ruby/object:Gem::Requirement
|
94
|
-
requirements:
|
95
|
-
- - ">="
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
version: '0'
|
98
|
-
- !ruby/object:Gem::Dependency
|
99
|
-
name: byebug
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
101
|
-
requirements:
|
102
|
-
- - ">="
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: '0'
|
105
|
-
type: :development
|
106
|
-
prerelease: false
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
requirements:
|
109
|
-
- - ">="
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: '0'
|
112
|
-
- !ruby/object:Gem::Dependency
|
113
|
-
name: pry
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
-
requirements:
|
116
|
-
- - ">="
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '0'
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
25
|
version_requirements: !ruby/object:Gem::Requirement
|
122
26
|
requirements:
|
123
27
|
- - ">="
|
124
28
|
- !ruby/object:Gem::Version
|
125
|
-
version: '
|
126
|
-
-
|
127
|
-
name: pry-byebug
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
requirements:
|
130
|
-
- - ">="
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: '0'
|
133
|
-
type: :development
|
134
|
-
prerelease: false
|
135
|
-
version_requirements: !ruby/object:Gem::Requirement
|
136
|
-
requirements:
|
137
|
-
- - ">="
|
29
|
+
version: '1.4'
|
30
|
+
- - "<"
|
138
31
|
- !ruby/object:Gem::Version
|
139
|
-
version: '0'
|
32
|
+
version: '4.0'
|
140
33
|
description: Stripe is the easiest way to accept payments online. See https://stripe.com
|
141
34
|
for details.
|
142
|
-
email:
|
143
|
-
- boucher@stripe.com
|
144
|
-
- gdb@stripe.com
|
35
|
+
email: support@stripe.com
|
145
36
|
executables:
|
146
37
|
- stripe-console
|
147
38
|
extensions: []
|
148
39
|
extra_rdoc_files: []
|
149
40
|
files:
|
41
|
+
- ".github/ISSUE_TEMPLATE.md"
|
150
42
|
- ".gitignore"
|
151
43
|
- ".travis.yml"
|
152
44
|
- CONTRIBUTORS
|
153
45
|
- Gemfile
|
154
46
|
- History.txt
|
155
47
|
- LICENSE
|
156
|
-
- README.
|
48
|
+
- README.md
|
157
49
|
- Rakefile
|
158
50
|
- VERSION
|
159
51
|
- bin/stripe-console
|
160
|
-
- gemfiles/default-with-activesupport.gemfile
|
161
|
-
- gemfiles/json.gemfile
|
162
|
-
- gemfiles/yajl.gemfile
|
163
52
|
- lib/data/ca-certificates.crt
|
164
53
|
- lib/stripe.rb
|
165
54
|
- lib/stripe/account.rb
|
55
|
+
- lib/stripe/alipay_account.rb
|
166
56
|
- lib/stripe/api_operations/create.rb
|
167
57
|
- lib/stripe/api_operations/delete.rb
|
168
58
|
- lib/stripe/api_operations/list.rb
|
169
59
|
- lib/stripe/api_operations/request.rb
|
170
|
-
- lib/stripe/api_operations/
|
60
|
+
- lib/stripe/api_operations/save.rb
|
171
61
|
- lib/stripe/api_resource.rb
|
62
|
+
- lib/stripe/apple_pay_domain.rb
|
172
63
|
- lib/stripe/application_fee.rb
|
173
64
|
- lib/stripe/application_fee_refund.rb
|
174
65
|
- lib/stripe/balance.rb
|
@@ -178,22 +69,18 @@ files:
|
|
178
69
|
- lib/stripe/bitcoin_transaction.rb
|
179
70
|
- lib/stripe/card.rb
|
180
71
|
- lib/stripe/charge.rb
|
72
|
+
- lib/stripe/country_spec.rb
|
181
73
|
- lib/stripe/coupon.rb
|
182
74
|
- lib/stripe/customer.rb
|
183
75
|
- lib/stripe/dispute.rb
|
184
|
-
- lib/stripe/errors
|
185
|
-
- lib/stripe/errors/api_error.rb
|
186
|
-
- lib/stripe/errors/authentication_error.rb
|
187
|
-
- lib/stripe/errors/card_error.rb
|
188
|
-
- lib/stripe/errors/invalid_request_error.rb
|
189
|
-
- lib/stripe/errors/rate_limit_error.rb
|
190
|
-
- lib/stripe/errors/stripe_error.rb
|
76
|
+
- lib/stripe/errors.rb
|
191
77
|
- lib/stripe/event.rb
|
192
78
|
- lib/stripe/file_upload.rb
|
193
79
|
- lib/stripe/invoice.rb
|
194
80
|
- lib/stripe/invoice_item.rb
|
195
81
|
- lib/stripe/list_object.rb
|
196
82
|
- lib/stripe/order.rb
|
83
|
+
- lib/stripe/order_return.rb
|
197
84
|
- lib/stripe/plan.rb
|
198
85
|
- lib/stripe/product.rb
|
199
86
|
- lib/stripe/recipient.rb
|
@@ -201,15 +88,21 @@ files:
|
|
201
88
|
- lib/stripe/reversal.rb
|
202
89
|
- lib/stripe/singleton_api_resource.rb
|
203
90
|
- lib/stripe/sku.rb
|
91
|
+
- lib/stripe/source.rb
|
204
92
|
- lib/stripe/stripe_object.rb
|
205
93
|
- lib/stripe/subscription.rb
|
94
|
+
- lib/stripe/subscription_item.rb
|
95
|
+
- lib/stripe/three_d_secure.rb
|
206
96
|
- lib/stripe/token.rb
|
207
97
|
- lib/stripe/transfer.rb
|
208
98
|
- lib/stripe/util.rb
|
209
99
|
- lib/stripe/version.rb
|
210
100
|
- stripe.gemspec
|
211
101
|
- test/stripe/account_test.rb
|
102
|
+
- test/stripe/alipay_account_test.rb
|
103
|
+
- test/stripe/api_operations_test.rb
|
212
104
|
- test/stripe/api_resource_test.rb
|
105
|
+
- test/stripe/apple_pay_domain_test.rb
|
213
106
|
- test/stripe/application_fee_refund_test.rb
|
214
107
|
- test/stripe/application_fee_test.rb
|
215
108
|
- test/stripe/balance_test.rb
|
@@ -218,28 +111,37 @@ files:
|
|
218
111
|
- test/stripe/bitcoin_transaction_test.rb
|
219
112
|
- test/stripe/charge_refund_test.rb
|
220
113
|
- test/stripe/charge_test.rb
|
114
|
+
- test/stripe/country_spec_test.rb
|
221
115
|
- test/stripe/coupon_test.rb
|
222
116
|
- test/stripe/customer_card_test.rb
|
223
117
|
- test/stripe/customer_test.rb
|
224
118
|
- test/stripe/dispute_test.rb
|
119
|
+
- test/stripe/errors_test.rb
|
225
120
|
- test/stripe/file_upload_test.rb
|
121
|
+
- test/stripe/invoice_item_test.rb
|
226
122
|
- test/stripe/invoice_test.rb
|
227
123
|
- test/stripe/list_object_test.rb
|
228
124
|
- test/stripe/metadata_test.rb
|
125
|
+
- test/stripe/order_return_test.rb
|
229
126
|
- test/stripe/order_test.rb
|
127
|
+
- test/stripe/plan_test.rb
|
230
128
|
- test/stripe/product_test.rb
|
231
129
|
- test/stripe/recipient_card_test.rb
|
130
|
+
- test/stripe/recipient_test.rb
|
232
131
|
- test/stripe/refund_test.rb
|
233
132
|
- test/stripe/reversal_test.rb
|
234
133
|
- test/stripe/sku_test.rb
|
134
|
+
- test/stripe/source_test.rb
|
235
135
|
- test/stripe/stripe_object_test.rb
|
136
|
+
- test/stripe/subscription_item_test.rb
|
236
137
|
- test/stripe/subscription_test.rb
|
138
|
+
- test/stripe/three_d_secure_test.rb
|
237
139
|
- test/stripe/transfer_test.rb
|
238
140
|
- test/stripe/util_test.rb
|
239
141
|
- test/stripe_test.rb
|
240
142
|
- test/test_data.rb
|
241
143
|
- test/test_helper.rb
|
242
|
-
homepage: https://stripe.com/api
|
144
|
+
homepage: https://stripe.com/docs/api/ruby
|
243
145
|
licenses:
|
244
146
|
- MIT
|
245
147
|
metadata: {}
|
@@ -251,7 +153,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
251
153
|
requirements:
|
252
154
|
- - ">="
|
253
155
|
- !ruby/object:Gem::Version
|
254
|
-
version:
|
156
|
+
version: 1.9.3
|
255
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
256
158
|
requirements:
|
257
159
|
- - ">="
|
@@ -265,7 +167,10 @@ specification_version: 4
|
|
265
167
|
summary: Ruby bindings for the Stripe API
|
266
168
|
test_files:
|
267
169
|
- test/stripe/account_test.rb
|
170
|
+
- test/stripe/alipay_account_test.rb
|
171
|
+
- test/stripe/api_operations_test.rb
|
268
172
|
- test/stripe/api_resource_test.rb
|
173
|
+
- test/stripe/apple_pay_domain_test.rb
|
269
174
|
- test/stripe/application_fee_refund_test.rb
|
270
175
|
- test/stripe/application_fee_test.rb
|
271
176
|
- test/stripe/balance_test.rb
|
@@ -274,22 +179,31 @@ test_files:
|
|
274
179
|
- test/stripe/bitcoin_transaction_test.rb
|
275
180
|
- test/stripe/charge_refund_test.rb
|
276
181
|
- test/stripe/charge_test.rb
|
182
|
+
- test/stripe/country_spec_test.rb
|
277
183
|
- test/stripe/coupon_test.rb
|
278
184
|
- test/stripe/customer_card_test.rb
|
279
185
|
- test/stripe/customer_test.rb
|
280
186
|
- test/stripe/dispute_test.rb
|
187
|
+
- test/stripe/errors_test.rb
|
281
188
|
- test/stripe/file_upload_test.rb
|
189
|
+
- test/stripe/invoice_item_test.rb
|
282
190
|
- test/stripe/invoice_test.rb
|
283
191
|
- test/stripe/list_object_test.rb
|
284
192
|
- test/stripe/metadata_test.rb
|
193
|
+
- test/stripe/order_return_test.rb
|
285
194
|
- test/stripe/order_test.rb
|
195
|
+
- test/stripe/plan_test.rb
|
286
196
|
- test/stripe/product_test.rb
|
287
197
|
- test/stripe/recipient_card_test.rb
|
198
|
+
- test/stripe/recipient_test.rb
|
288
199
|
- test/stripe/refund_test.rb
|
289
200
|
- test/stripe/reversal_test.rb
|
290
201
|
- test/stripe/sku_test.rb
|
202
|
+
- test/stripe/source_test.rb
|
291
203
|
- test/stripe/stripe_object_test.rb
|
204
|
+
- test/stripe/subscription_item_test.rb
|
292
205
|
- test/stripe/subscription_test.rb
|
206
|
+
- test/stripe/three_d_secure_test.rb
|
293
207
|
- test/stripe/transfer_test.rb
|
294
208
|
- test/stripe/util_test.rb
|
295
209
|
- test/stripe_test.rb
|
data/README.rdoc
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
= Stripe Ruby bindings {<img src="https://travis-ci.org/stripe/stripe-ruby.svg?branch=master" alt="Build Status" />}[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
|
-
{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
|
25
|
-
you just 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 1.8.7 or above. (Ruby 1.8.6 may work if you load
|
36
|
-
ActiveSupport.) For Ruby versions before 1.9.2, you'll need to add this to your Gemfile:
|
37
|
-
|
38
|
-
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('1.9.2')
|
39
|
-
gem 'rest-client', '~> 1.6.8'
|
40
|
-
end
|
41
|
-
|
42
|
-
|
43
|
-
* rest-client, json
|
44
|
-
|
45
|
-
== Bundler
|
46
|
-
|
47
|
-
If you are installing via bundler, you should be sure to use the https
|
48
|
-
rubygems source in your Gemfile, as any gems fetched over http could potentially be
|
49
|
-
compromised in transit and alter the code of gems fetched securely over https:
|
50
|
-
|
51
|
-
source 'https://rubygems.org'
|
52
|
-
|
53
|
-
gem 'rails'
|
54
|
-
gem 'stripe'
|
55
|
-
|
56
|
-
== Development
|
57
|
-
|
58
|
-
Run all tests:
|
59
|
-
|
60
|
-
bundle exec rake
|
61
|
-
|
62
|
-
Run a single test suite:
|
63
|
-
|
64
|
-
bundle exec ruby -Ilib/ test/stripe/util_test.rb
|
65
|
-
|
66
|
-
Run a single test:
|
67
|
-
|
68
|
-
bundle exec ruby -Ilib/ test/stripe/util_test.rb -n /should.convert.names.to.symbols/
|
@@ -1,10 +0,0 @@
|
|
1
|
-
source "https://rubygems.org"
|
2
|
-
gemspec :path => File.join(File.dirname(__FILE__), "..")
|
3
|
-
|
4
|
-
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('1.9.3')
|
5
|
-
gem 'i18n', '< 0.7'
|
6
|
-
gem 'rest-client', '~> 1.6.8'
|
7
|
-
gem 'activesupport', '~> 3.2'
|
8
|
-
else
|
9
|
-
gem 'activesupport'
|
10
|
-
end
|
data/gemfiles/json.gemfile
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
source "https://rubygems.org"
|
2
|
-
gemspec :path => File.join(File.dirname(__FILE__), "..")
|
3
|
-
|
4
|
-
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('1.9.3')
|
5
|
-
gem 'i18n', '< 0.7'
|
6
|
-
gem 'rest-client', '~> 1.6.8'
|
7
|
-
gem 'activesupport', '~> 3.2'
|
8
|
-
else
|
9
|
-
gem 'activesupport'
|
10
|
-
end
|
11
|
-
|
12
|
-
gem 'json'
|
data/gemfiles/yajl.gemfile
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
source "https://rubygems.org"
|
2
|
-
gemspec :path => File.join(File.dirname(__FILE__), "..")
|
3
|
-
|
4
|
-
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('1.9.3')
|
5
|
-
gem 'i18n', '< 0.7'
|
6
|
-
gem 'rest-client', '~> 1.6.8'
|
7
|
-
gem 'activesupport', '~> 3.2'
|
8
|
-
else
|
9
|
-
gem 'activesupport'
|
10
|
-
end
|
11
|
-
|
12
|
-
gem 'yajl-ruby'
|
@@ -1,58 +0,0 @@
|
|
1
|
-
module Stripe
|
2
|
-
module APIOperations
|
3
|
-
module Update
|
4
|
-
# Creates or updates an API resource.
|
5
|
-
#
|
6
|
-
# If the resource doesn't yet have an assigned ID and the resource is one
|
7
|
-
# that can be created, then the method attempts to create the resource.
|
8
|
-
# The resource is updated otherwise.
|
9
|
-
#
|
10
|
-
# ==== Attributes
|
11
|
-
#
|
12
|
-
# * +params+ - Overrides any parameters in the resource's serialized data
|
13
|
-
# and includes them in the create or update. If +:req_url:+ is included
|
14
|
-
# in the list, it overrides the update URL used for the create or
|
15
|
-
# update.
|
16
|
-
def save(params={})
|
17
|
-
# Let the caller override the URL but avoid serializing it.
|
18
|
-
req_url = params.delete(:req_url) || save_url
|
19
|
-
|
20
|
-
# We started unintentionally (sort of) allowing attributes send to
|
21
|
-
# +save+ to override values used during the update. So as not to break
|
22
|
-
# the API, this makes that official here.
|
23
|
-
update_attributes(params)
|
24
|
-
|
25
|
-
# Now remove any parameters that look like object attributes.
|
26
|
-
params = params.reject { |k, _| respond_to?(k) }
|
27
|
-
|
28
|
-
values = self.class.serialize_params(self).merge(params)
|
29
|
-
|
30
|
-
if values.length > 0
|
31
|
-
# note that id gets removed here our call to #url above has already
|
32
|
-
# generated a uri for this object with an identifier baked in
|
33
|
-
values.delete(:id)
|
34
|
-
|
35
|
-
response, opts = request(:post, req_url, values)
|
36
|
-
initialize_from(response, opts)
|
37
|
-
end
|
38
|
-
self
|
39
|
-
end
|
40
|
-
|
41
|
-
private
|
42
|
-
|
43
|
-
def save_url
|
44
|
-
# This switch essentially allows us "upsert"-like functionality. If the
|
45
|
-
# API resource doesn't have an ID set (suggesting that it's new) and
|
46
|
-
# its class responds to .create (which comes from
|
47
|
-
# Stripe::APIOperations::Create), then use the URL to create a new
|
48
|
-
# resource. Otherwise, generate a URL based on the object's identifier
|
49
|
-
# for a normal update.
|
50
|
-
if self[:id] == nil && self.class.respond_to?(:create)
|
51
|
-
self.class.url
|
52
|
-
else
|
53
|
-
url
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module Stripe
|
2
|
-
class CardError < StripeError
|
3
|
-
attr_reader :param, :code
|
4
|
-
|
5
|
-
def initialize(message, param, code, http_status=nil, http_body=nil, json_body=nil,
|
6
|
-
http_headers=nil)
|
7
|
-
super(message, http_status, http_body, json_body, http_headers)
|
8
|
-
@param = param
|
9
|
-
@code = code
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
module Stripe
|
2
|
-
class InvalidRequestError < StripeError
|
3
|
-
attr_accessor :param
|
4
|
-
|
5
|
-
def initialize(message, param, http_status=nil, http_body=nil, json_body=nil,
|
6
|
-
http_headers=nil)
|
7
|
-
super(message, http_status, http_body, json_body, http_headers)
|
8
|
-
@param = param
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module Stripe
|
2
|
-
class StripeError < StandardError
|
3
|
-
attr_reader :message
|
4
|
-
attr_reader :http_status
|
5
|
-
attr_reader :http_body
|
6
|
-
attr_reader :http_headers
|
7
|
-
attr_reader :request_id
|
8
|
-
attr_reader :json_body
|
9
|
-
|
10
|
-
def initialize(message=nil, http_status=nil, http_body=nil, json_body=nil,
|
11
|
-
http_headers=nil)
|
12
|
-
@message = message
|
13
|
-
@http_status = http_status
|
14
|
-
@http_body = http_body
|
15
|
-
@http_headers = http_headers || {}
|
16
|
-
@json_body = json_body
|
17
|
-
@request_id = @http_headers[:request_id]
|
18
|
-
end
|
19
|
-
|
20
|
-
def to_s
|
21
|
-
status_string = @http_status.nil? ? "" : "(Status #{@http_status}) "
|
22
|
-
id_string = @request_id.nil? ? "" : "(Request #{@request_id}) "
|
23
|
-
"#{status_string}#{id_string}#{@message}"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|