chargify_api_ares 1.3.3 → 1.3.4
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.
- data/.rspec +1 -1
- data/Gemfile.lock +1 -18
- data/HISTORY.md +4 -0
- data/README.md +16 -0
- data/chargify_api_ares.gemspec +3 -6
- data/gemfiles/rails_3.gemfile.lock +1 -186
- data/gemfiles/rails_4.1.gemfile.lock +1 -29
- data/gemfiles/rails_4.gemfile.lock +1 -29
- data/lib/chargify_api_ares/resources/charge.rb +2 -0
- data/lib/chargify_api_ares/resources/customer.rb +2 -0
- data/lib/chargify_api_ares/resources/payment_profile.rb +1 -0
- data/lib/chargify_api_ares/resources/product_family.rb +2 -0
- data/lib/chargify_api_ares/resources/subscription.rb +10 -3
- data/lib/chargify_api_ares/response_helper.rb +14 -0
- data/spec/remote/remote_spec.rb +235 -5
- data/spec/resources/base_spec.rb +2 -2
- data/spec/resources/subscription_metadata_spec.rb +0 -41
- data/spec/resources/subscription_spec.rb +17 -17
- data/spec/spec_helper.rb +0 -7
- metadata +53 -73
- checksums.yaml +0 -7
@@ -1,24 +1,24 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Chargify::Subscription, :fake_resource do
|
4
|
-
|
4
|
+
|
5
5
|
context 'strips nested association attributes before saving' do
|
6
6
|
before do
|
7
7
|
@subscription = build(:subscription_with_extra_attrs)
|
8
8
|
end
|
9
|
-
|
9
|
+
|
10
10
|
it 'strips customer' do
|
11
11
|
@subscription.attributes['customer'].should_not be_blank
|
12
12
|
@subscription.save!
|
13
13
|
@subscription.attributes['customer'].should be_blank
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
it 'strips product' do
|
17
17
|
@subscription.attributes['product'].should_not be_blank
|
18
18
|
@subscription.save!
|
19
19
|
@subscription.attributes['product'].should be_blank
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
it 'strips credit card' do
|
23
23
|
@subscription.attributes['credit_card'].should_not be_blank
|
24
24
|
@subscription.save!
|
@@ -30,10 +30,10 @@ describe Chargify::Subscription, :fake_resource do
|
|
30
30
|
@subscription.save!
|
31
31
|
@subscription.attributes['bank_account'].should be_blank
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
it "doesn't strip other attrs" do
|
35
35
|
subscription = build(:subscription)
|
36
|
-
|
36
|
+
|
37
37
|
lambda { subscription.save! }.should_not change(subscription, :attributes)
|
38
38
|
end
|
39
39
|
end
|
@@ -56,39 +56,39 @@ describe Chargify::Subscription, :fake_resource do
|
|
56
56
|
@subscription.bank_account = "BANK ACCOUNT"
|
57
57
|
@subscription.payment_profile.should == "BANK ACCOUNT"
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
end
|
61
|
-
|
61
|
+
|
62
62
|
it 'creates a one-time charge' do
|
63
63
|
id = generate(:subscription_id)
|
64
64
|
subscription = build(:subscription, :id => id)
|
65
65
|
subscription.stub!(:persisted?).and_return(true)
|
66
66
|
expected_response = {:charge => {:amount_in_cents => 1000, :memo => "one-time charge", :success => true}}.to_xml
|
67
67
|
FakeWeb.register_uri(:post, "#{test_domain}/subscriptions/#{id}/charges.xml", :status => 201, :body => expected_response)
|
68
|
-
|
68
|
+
|
69
69
|
response = subscription.charge(:amount => "10.00", "memo" => "one-time charge")
|
70
|
-
|
70
|
+
|
71
71
|
expect(response.valid?).to be_true
|
72
72
|
expect(response).to be_a(Chargify::Charge)
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
75
|
it 'finds by customer reference' do
|
76
76
|
customer = build(:customer, :reference => 'roger', :id => 10)
|
77
77
|
subscription = build(:subscription, :id => 11, :customer_id => customer.id, :product => build(:product))
|
78
|
-
|
78
|
+
|
79
79
|
expected_response = [subscription.attributes].to_xml(:root => 'subscriptions')
|
80
80
|
FakeWeb.register_uri(:get, "#{test_domain}/subscriptions.xml?customer_id=#{customer.id}", :status => 200, :body => expected_response)
|
81
|
-
|
81
|
+
|
82
82
|
Chargify::Customer.stub!(:find_by_reference).with('roger').and_return(customer)
|
83
83
|
Chargify::Subscription.find_by_customer_reference('roger').should eql(subscription)
|
84
84
|
end
|
85
|
-
|
85
|
+
|
86
86
|
it 'cancels the subscription' do
|
87
87
|
@subscription = build(:subscription, :id => 1)
|
88
88
|
find_subscription = lambda { Chargify::Subscription.find(1) }
|
89
|
-
|
89
|
+
|
90
90
|
FakeWeb.register_uri(:get, "#{test_domain}/subscriptions/1.xml", :body => @subscription.attributes.to_xml)
|
91
|
-
|
91
|
+
|
92
92
|
find_subscription.should_not raise_error
|
93
93
|
@subscription.cancel
|
94
94
|
find_subscription.should raise_error
|
@@ -100,7 +100,7 @@ describe Chargify::Subscription, :fake_resource do
|
|
100
100
|
subscription.stub!(:persisted?).and_return(true)
|
101
101
|
expected_response = [subscription.attributes].to_xml(:root => 'subscription')
|
102
102
|
FakeWeb.register_uri(:post, "#{test_domain}/subscriptions/#{id}/migrations.xml?migration%5Bproduct_handle%5D=upgraded-plan", :status => 201, :body => expected_response)
|
103
|
-
|
103
|
+
|
104
104
|
response = subscription.migrate(:product_handle => 'upgraded-plan')
|
105
105
|
|
106
106
|
expect(response.valid?).to be_true
|
data/spec/spec_helper.rb
CHANGED
@@ -13,13 +13,6 @@ FactoryGirl.find_definitions
|
|
13
13
|
ActiveResource::Base.send :include, ActiveResource::FakeResource
|
14
14
|
FakeWeb.allow_net_connect = false
|
15
15
|
|
16
|
-
Chargify.configure do |c|
|
17
|
-
c.subdomain = ENV['SUBDOMAIN'] || 'acme'
|
18
|
-
c.api_key = ENV['API_KEY'] || 'acme_test_key'
|
19
|
-
c.domain = ENV['DOMAIN'] || 'chargify.dev'
|
20
|
-
c.protocol = ENV['protocol'] || 'https'
|
21
|
-
end
|
22
|
-
|
23
16
|
VCR.configure do |c|
|
24
17
|
c.allow_http_connections_when_no_cassette = true
|
25
18
|
c.cassette_library_dir = 'spec/cassettes'
|
metadata
CHANGED
@@ -1,199 +1,177 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chargify_api_ares
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.4
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Michael Klett
|
8
9
|
- Nathan Verni
|
9
|
-
- Jeremy W. Rowe
|
10
10
|
- Eric Farkas
|
11
11
|
- Wendy Smoak
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2015-
|
15
|
+
date: 2015-05-14 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activeresource
|
19
19
|
requirement: !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
20
21
|
requirements:
|
21
|
-
- -
|
22
|
+
- - ! '>='
|
22
23
|
- !ruby/object:Gem::Version
|
23
24
|
version: 3.2.16
|
24
25
|
type: :runtime
|
25
26
|
prerelease: false
|
26
27
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
27
29
|
requirements:
|
28
|
-
- -
|
30
|
+
- - ! '>='
|
29
31
|
- !ruby/object:Gem::Version
|
30
32
|
version: 3.2.16
|
31
33
|
- !ruby/object:Gem::Dependency
|
32
34
|
name: rake
|
33
35
|
requirement: !ruby/object:Gem::Requirement
|
36
|
+
none: false
|
34
37
|
requirements:
|
35
|
-
- -
|
38
|
+
- - ~>
|
36
39
|
- !ruby/object:Gem::Version
|
37
40
|
version: 10.0.3
|
38
41
|
type: :development
|
39
42
|
prerelease: false
|
40
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
41
45
|
requirements:
|
42
|
-
- -
|
46
|
+
- - ~>
|
43
47
|
- !ruby/object:Gem::Version
|
44
48
|
version: 10.0.3
|
45
49
|
- !ruby/object:Gem::Dependency
|
46
50
|
name: rspec
|
47
51
|
requirement: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
48
53
|
requirements:
|
49
|
-
- -
|
54
|
+
- - ~>
|
50
55
|
- !ruby/object:Gem::Version
|
51
56
|
version: 2.12.0
|
52
57
|
type: :development
|
53
58
|
prerelease: false
|
54
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
55
61
|
requirements:
|
56
|
-
- -
|
62
|
+
- - ~>
|
57
63
|
- !ruby/object:Gem::Version
|
58
64
|
version: 2.12.0
|
59
65
|
- !ruby/object:Gem::Dependency
|
60
66
|
name: factory_girl
|
61
67
|
requirement: !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
62
69
|
requirements:
|
63
|
-
- -
|
70
|
+
- - ~>
|
64
71
|
- !ruby/object:Gem::Version
|
65
72
|
version: '2.6'
|
66
73
|
type: :development
|
67
74
|
prerelease: false
|
68
75
|
version_requirements: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
69
77
|
requirements:
|
70
|
-
- -
|
78
|
+
- - ~>
|
71
79
|
- !ruby/object:Gem::Version
|
72
80
|
version: '2.6'
|
73
81
|
- !ruby/object:Gem::Dependency
|
74
82
|
name: fakeweb
|
75
83
|
requirement: !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
76
85
|
requirements:
|
77
|
-
- -
|
86
|
+
- - ~>
|
78
87
|
- !ruby/object:Gem::Version
|
79
88
|
version: 1.3.0
|
80
89
|
type: :development
|
81
90
|
prerelease: false
|
82
91
|
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
none: false
|
83
93
|
requirements:
|
84
|
-
- -
|
94
|
+
- - ~>
|
85
95
|
- !ruby/object:Gem::Version
|
86
96
|
version: 1.3.0
|
87
97
|
- !ruby/object:Gem::Dependency
|
88
98
|
name: faker
|
89
99
|
requirement: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
90
101
|
requirements:
|
91
|
-
- -
|
102
|
+
- - ~>
|
92
103
|
- !ruby/object:Gem::Version
|
93
104
|
version: 1.1.2
|
94
105
|
type: :development
|
95
106
|
prerelease: false
|
96
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
97
109
|
requirements:
|
98
|
-
- -
|
110
|
+
- - ~>
|
99
111
|
- !ruby/object:Gem::Version
|
100
112
|
version: 1.1.2
|
101
|
-
- !ruby/object:Gem::Dependency
|
102
|
-
name: guard-rspec
|
103
|
-
requirement: !ruby/object:Gem::Requirement
|
104
|
-
requirements:
|
105
|
-
- - "~>"
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
version: 2.4.0
|
108
|
-
type: :development
|
109
|
-
prerelease: false
|
110
|
-
version_requirements: !ruby/object:Gem::Requirement
|
111
|
-
requirements:
|
112
|
-
- - "~>"
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
version: 2.4.0
|
115
|
-
- !ruby/object:Gem::Dependency
|
116
|
-
name: growl
|
117
|
-
requirement: !ruby/object:Gem::Requirement
|
118
|
-
requirements:
|
119
|
-
- - "~>"
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
version: 1.0.3
|
122
|
-
type: :development
|
123
|
-
prerelease: false
|
124
|
-
version_requirements: !ruby/object:Gem::Requirement
|
125
|
-
requirements:
|
126
|
-
- - "~>"
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
version: 1.0.3
|
129
|
-
- !ruby/object:Gem::Dependency
|
130
|
-
name: rb-fsevent
|
131
|
-
requirement: !ruby/object:Gem::Requirement
|
132
|
-
requirements:
|
133
|
-
- - "~>"
|
134
|
-
- !ruby/object:Gem::Version
|
135
|
-
version: 0.9.2
|
136
|
-
type: :development
|
137
|
-
prerelease: false
|
138
|
-
version_requirements: !ruby/object:Gem::Requirement
|
139
|
-
requirements:
|
140
|
-
- - "~>"
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: 0.9.2
|
143
113
|
- !ruby/object:Gem::Dependency
|
144
114
|
name: pry
|
145
115
|
requirement: !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
146
117
|
requirements:
|
147
|
-
- -
|
118
|
+
- - ! '>='
|
148
119
|
- !ruby/object:Gem::Version
|
149
120
|
version: '0'
|
150
121
|
type: :development
|
151
122
|
prerelease: false
|
152
123
|
version_requirements: !ruby/object:Gem::Requirement
|
124
|
+
none: false
|
153
125
|
requirements:
|
154
|
-
- -
|
126
|
+
- - ! '>='
|
155
127
|
- !ruby/object:Gem::Version
|
156
128
|
version: '0'
|
157
129
|
- !ruby/object:Gem::Dependency
|
158
130
|
name: vcr
|
159
131
|
requirement: !ruby/object:Gem::Requirement
|
132
|
+
none: false
|
160
133
|
requirements:
|
161
|
-
- -
|
134
|
+
- - ! '>='
|
162
135
|
- !ruby/object:Gem::Version
|
163
136
|
version: '0'
|
164
137
|
type: :development
|
165
138
|
prerelease: false
|
166
139
|
version_requirements: !ruby/object:Gem::Requirement
|
140
|
+
none: false
|
167
141
|
requirements:
|
168
|
-
- -
|
142
|
+
- - ! '>='
|
169
143
|
- !ruby/object:Gem::Version
|
170
144
|
version: '0'
|
171
145
|
- !ruby/object:Gem::Dependency
|
172
146
|
name: dotenv
|
173
147
|
requirement: !ruby/object:Gem::Requirement
|
148
|
+
none: false
|
174
149
|
requirements:
|
175
|
-
- -
|
150
|
+
- - ! '>='
|
176
151
|
- !ruby/object:Gem::Version
|
177
152
|
version: '0'
|
178
153
|
type: :development
|
179
154
|
prerelease: false
|
180
155
|
version_requirements: !ruby/object:Gem::Requirement
|
156
|
+
none: false
|
181
157
|
requirements:
|
182
|
-
- -
|
158
|
+
- - ! '>='
|
183
159
|
- !ruby/object:Gem::Version
|
184
160
|
version: '0'
|
185
161
|
- !ruby/object:Gem::Dependency
|
186
162
|
name: appraisal
|
187
163
|
requirement: !ruby/object:Gem::Requirement
|
164
|
+
none: false
|
188
165
|
requirements:
|
189
|
-
- -
|
166
|
+
- - ! '>='
|
190
167
|
- !ruby/object:Gem::Version
|
191
168
|
version: '0'
|
192
169
|
type: :development
|
193
170
|
prerelease: false
|
194
171
|
version_requirements: !ruby/object:Gem::Requirement
|
172
|
+
none: false
|
195
173
|
requirements:
|
196
|
-
- -
|
174
|
+
- - ! '>='
|
197
175
|
- !ruby/object:Gem::Version
|
198
176
|
version: '0'
|
199
177
|
description: ''
|
@@ -202,10 +180,10 @@ executables: []
|
|
202
180
|
extensions: []
|
203
181
|
extra_rdoc_files: []
|
204
182
|
files:
|
205
|
-
-
|
206
|
-
-
|
207
|
-
-
|
208
|
-
-
|
183
|
+
- .env
|
184
|
+
- .gitignore
|
185
|
+
- .rspec
|
186
|
+
- .travis.yml
|
209
187
|
- Appraisals
|
210
188
|
- Gemfile
|
211
189
|
- Gemfile.lock
|
@@ -289,24 +267,25 @@ files:
|
|
289
267
|
- spec/support/fake_resource.rb
|
290
268
|
homepage: http://github.com/chargify/chargify_api_ares
|
291
269
|
licenses: []
|
292
|
-
metadata: {}
|
293
270
|
post_install_message:
|
294
271
|
rdoc_options: []
|
295
272
|
require_paths:
|
296
273
|
- lib
|
297
274
|
required_ruby_version: !ruby/object:Gem::Requirement
|
275
|
+
none: false
|
298
276
|
requirements:
|
299
|
-
- -
|
277
|
+
- - ! '>='
|
300
278
|
- !ruby/object:Gem::Version
|
301
279
|
version: '0'
|
302
280
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
281
|
+
none: false
|
303
282
|
requirements:
|
304
|
-
- -
|
283
|
+
- - ! '>='
|
305
284
|
- !ruby/object:Gem::Version
|
306
285
|
version: '0'
|
307
286
|
requirements: []
|
308
287
|
rubyforge_project:
|
309
|
-
rubygems_version:
|
288
|
+
rubygems_version: 1.8.23
|
310
289
|
signing_key:
|
311
290
|
specification_version: 3
|
312
291
|
summary: A Chargify API wrapper for Ruby using ActiveResource
|
@@ -337,3 +316,4 @@ test_files:
|
|
337
316
|
- spec/resources/usage_spec.rb
|
338
317
|
- spec/spec_helper.rb
|
339
318
|
- spec/support/fake_resource.rb
|
319
|
+
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: a517de7d585c7a4dd84e53ccdf7fac2e7f6da331
|
4
|
-
data.tar.gz: 1e7ae136b2102cecc0bdbdd6ea492a6b191dc40e
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: f4f914fc01fafb551dd56686a5de6367c9847213511d1b300edfb366e7b361225e6b6f9ebf2eabc4f6f9d1970aee1067994aedb69c9d06a46538041b026ae4c1
|
7
|
-
data.tar.gz: ead4e87f9dc098881bd499a4e98d1f40af7cc3ac9c24f5a14c1382c53af280bba7475440354f7d0ff2e18a6b61daee76bce45b2c020ff34605fc5c2de6d18ee3
|