chargify_api_ares 0.5.2 → 0.5.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/Gemfile.lock +34 -20
- data/README.md +4 -1
- data/chargify_api_ares.gemspec +5 -5
- data/lib/chargify_api_ares.rb +9 -0
- data/lib/chargify_api_ares/config.rb +2 -0
- data/lib/chargify_api_ares/resources/coupon.rb +13 -1
- data/lib/chargify_api_ares/resources/event.rb +4 -0
- data/lib/chargify_api_ares/resources/product_family.rb +28 -0
- data/lib/chargify_api_ares/resources/subscription.rb +9 -0
- data/lib/chargify_api_ares/resources/webhook.rb +11 -0
- data/spec/remote/remote_spec.rb +52 -0
- data/spec/resources/coupon_spec.rb +23 -0
- data/spec/resources/product_family_component_spec.rb +45 -0
- metadata +146 -78
data/Gemfile.lock
CHANGED
@@ -1,37 +1,49 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
chargify_api_ares (0.5.
|
4
|
+
chargify_api_ares (0.5.4)
|
5
5
|
activeresource (>= 2.3.5)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: http://rubygems.org/
|
9
9
|
specs:
|
10
|
-
activemodel (3.
|
11
|
-
activesupport (= 3.
|
10
|
+
activemodel (3.2.12)
|
11
|
+
activesupport (= 3.2.12)
|
12
12
|
builder (~> 3.0.0)
|
13
|
+
activeresource (3.2.12)
|
14
|
+
activemodel (= 3.2.12)
|
15
|
+
activesupport (= 3.2.12)
|
16
|
+
activesupport (3.2.12)
|
13
17
|
i18n (~> 0.6)
|
14
|
-
activeresource (3.1.1)
|
15
|
-
activemodel (= 3.1.1)
|
16
|
-
activesupport (= 3.1.1)
|
17
|
-
activesupport (3.1.1)
|
18
18
|
multi_json (~> 1.0)
|
19
|
-
builder (3.0.
|
19
|
+
builder (3.0.4)
|
20
|
+
coderay (1.0.8)
|
20
21
|
diff-lcs (1.1.3)
|
21
22
|
factory_girl (2.1.2)
|
22
23
|
activesupport
|
23
|
-
faker (1.
|
24
|
-
i18n (~> 0.
|
24
|
+
faker (1.1.2)
|
25
|
+
i18n (~> 0.5)
|
25
26
|
fakeweb (1.3.0)
|
26
27
|
growl (1.0.3)
|
27
|
-
guard (
|
28
|
-
|
29
|
-
|
28
|
+
guard (1.6.2)
|
29
|
+
listen (>= 0.6.0)
|
30
|
+
lumberjack (>= 1.0.2)
|
31
|
+
pry (>= 0.9.10)
|
32
|
+
terminal-table (>= 1.4.3)
|
33
|
+
thor (>= 0.14.6)
|
34
|
+
guard-rspec (0.5.11)
|
30
35
|
guard (>= 0.8.4)
|
31
|
-
i18n (0.6.
|
32
|
-
|
33
|
-
|
34
|
-
|
36
|
+
i18n (0.6.1)
|
37
|
+
listen (0.7.2)
|
38
|
+
lumberjack (1.0.2)
|
39
|
+
method_source (0.8.1)
|
40
|
+
multi_json (1.6.1)
|
41
|
+
pry (0.9.12)
|
42
|
+
coderay (~> 1.0.5)
|
43
|
+
method_source (~> 0.8)
|
44
|
+
slop (~> 3.4)
|
45
|
+
rake (0.9.6)
|
46
|
+
rb-fsevent (0.9.3)
|
35
47
|
rspec (2.7.0)
|
36
48
|
rspec-core (~> 2.7.0)
|
37
49
|
rspec-expectations (~> 2.7.0)
|
@@ -40,7 +52,9 @@ GEM
|
|
40
52
|
rspec-expectations (2.7.0)
|
41
53
|
diff-lcs (~> 1.1.2)
|
42
54
|
rspec-mocks (2.7.0)
|
43
|
-
|
55
|
+
slop (3.4.3)
|
56
|
+
terminal-table (1.4.5)
|
57
|
+
thor (0.17.0)
|
44
58
|
|
45
59
|
PLATFORMS
|
46
60
|
ruby
|
@@ -48,10 +62,10 @@ PLATFORMS
|
|
48
62
|
DEPENDENCIES
|
49
63
|
chargify_api_ares!
|
50
64
|
factory_girl (~> 2.1.0)
|
51
|
-
faker (~> 1.
|
65
|
+
faker (~> 1.1.2)
|
52
66
|
fakeweb (~> 1.3.0)
|
53
67
|
growl (~> 1.0.3)
|
54
68
|
guard-rspec (~> 0.5.0)
|
55
69
|
rake (~> 0.9.2)
|
56
|
-
rb-fsevent (~> 0.
|
70
|
+
rb-fsevent (~> 0.9.2)
|
57
71
|
rspec (~> 2.7.0)
|
data/README.md
CHANGED
@@ -1,8 +1,11 @@
|
|
1
|
-
Chargify API wrapper for Ruby (using ActiveResource)
|
1
|
+
Chargify API wrapper for Ruby (using ActiveResource)
|
2
2
|
====================================================
|
3
|
+
[](http://travis-ci.org/chargify/chargify_api_ares)
|
3
4
|
|
4
5
|
This is a Ruby wrapper for the [Chargify](http://chargify.com) API that leverages ActiveResource.
|
5
6
|
|
7
|
+
ActiveResource versions 3.0.0 to 3.0.19 are not compatible and will throw an exception. Please use at least version 3.0.20 if on 3.0. For more information see the [relevant rails pull request](https://github.com/rails/rails/pull/8853/files).
|
8
|
+
|
6
9
|
It allows you to interface with the Chargify API using simple ActiveRecord-like syntax, i.e.:
|
7
10
|
|
8
11
|
``` ruby
|
data/chargify_api_ares.gemspec
CHANGED
@@ -4,11 +4,11 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.rubygems_version = '1.3.7'
|
5
5
|
|
6
6
|
s.name = 'chargify_api_ares'
|
7
|
-
s.version = '0.5.
|
8
|
-
s.date = '
|
7
|
+
s.version = '0.5.4'
|
8
|
+
s.date = '2013-02-14'
|
9
9
|
s.summary = 'A Chargify API wrapper for Ruby using ActiveResource'
|
10
10
|
s.description = ''
|
11
|
-
s.authors = ["Michael Klett", "Nathan Verni", "Rodrigo Franco", "Shay Frendt"]
|
11
|
+
s.authors = ["Michael Klett", "Nathan Verni", "Graham McIntire", "Rodrigo Franco", "Shay Frendt"]
|
12
12
|
s.email = 'support@chargify.com'
|
13
13
|
s.homepage = 'http://github.com/chargify/chargify_api_ares'
|
14
14
|
|
@@ -24,8 +24,8 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.add_development_dependency('rspec', '~> 2.7.0')
|
25
25
|
s.add_development_dependency('factory_girl', '~> 2.1.0')
|
26
26
|
s.add_development_dependency('fakeweb', '~> 1.3.0')
|
27
|
-
s.add_development_dependency('faker', '~> 1.
|
27
|
+
s.add_development_dependency('faker', '~> 1.1.2')
|
28
28
|
s.add_development_dependency('guard-rspec', '~> 0.5.0')
|
29
29
|
s.add_development_dependency('growl', '~> 1.0.3')
|
30
|
-
s.add_development_dependency('rb-fsevent', '~> 0.
|
30
|
+
s.add_development_dependency('rb-fsevent', '~> 0.9.2')
|
31
31
|
end
|
data/lib/chargify_api_ares.rb
CHANGED
@@ -4,6 +4,7 @@ require 'chargify_api_ares/resources/base'
|
|
4
4
|
require 'chargify_api_ares/resources/component'
|
5
5
|
require 'chargify_api_ares/resources/coupon'
|
6
6
|
require 'chargify_api_ares/resources/customer'
|
7
|
+
require 'chargify_api_ares/resources/event'
|
7
8
|
require 'chargify_api_ares/resources/payment_profile'
|
8
9
|
require 'chargify_api_ares/resources/product'
|
9
10
|
require 'chargify_api_ares/resources/product_family'
|
@@ -12,3 +13,11 @@ require 'chargify_api_ares/resources/statement'
|
|
12
13
|
require 'chargify_api_ares/resources/subscription'
|
13
14
|
require 'chargify_api_ares/resources/transaction'
|
14
15
|
require 'chargify_api_ares/resources/usage'
|
16
|
+
require 'chargify_api_ares/resources/webhook'
|
17
|
+
|
18
|
+
if defined?(::ActiveResource::VERSION::MAJOR) &&
|
19
|
+
::ActiveResource::VERSION::MAJOR == 3 &&
|
20
|
+
::ActiveResource::VERSION::MINOR == 0 &&
|
21
|
+
::ActiveResource::VERSION::TINY < 20
|
22
|
+
raise RuntimeError, 'This gem is not compatible with ActiveResource versions 3.0.0 to 3.0.19, please upgrade to at least 3.0.20'
|
23
|
+
end
|
@@ -7,7 +7,19 @@ module Chargify
|
|
7
7
|
def self.find_by_product_family_id_and_code(product_family_id, code)
|
8
8
|
find(:one, :from => :lookup, :params => {:product_family_id => product_family_id, :code => code})
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
|
+
def self.validate(params = {})
|
12
|
+
product_family_id = params.fetch(:product_family_id, nil)
|
13
|
+
coupon_code = params.fetch(:coupon_code, nil)
|
14
|
+
|
15
|
+
raise ArgumentError, 'coupon_code is a required argument' if coupon_code.blank?
|
16
|
+
|
17
|
+
params = {:coupon_code => coupon_code}
|
18
|
+
params.merge!(:product_family_id => product_family_id) if product_family_id.present?
|
19
|
+
|
20
|
+
find :one, :from => :validate, :params => params
|
21
|
+
end
|
22
|
+
|
11
23
|
def usage
|
12
24
|
get :usage
|
13
25
|
end
|
@@ -10,6 +10,34 @@ module Chargify
|
|
10
10
|
|
11
11
|
class Component < Base
|
12
12
|
self.prefix = "/product_families/:product_family_id/"
|
13
|
+
|
14
|
+
def self.create_path(prefix_options = {}, query_options = nil)
|
15
|
+
check_prefix_options(prefix_options)
|
16
|
+
prefix_options, query_options = split_options(prefix_options) if query_options.nil?
|
17
|
+
"#{prefix(prefix_options)}:component_kind_plural.#{format.extension}#{query_string(query_options)}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def create_path(options = nil)
|
21
|
+
path = self.class.create_path(options || prefix_options)
|
22
|
+
path.gsub(/:component_kind_plural/, component_kind_plural)
|
23
|
+
end
|
24
|
+
|
25
|
+
# Create uses a different path other than the collection_path. It is expected to POST to
|
26
|
+
# /product_families/:product_family_id/:plural_kind.xml
|
27
|
+
def create
|
28
|
+
connection.post(create_path, encode(:root => component_kind, :except => [:kind]), self.class.headers).tap do |response|
|
29
|
+
self.id = id_from_response(response)
|
30
|
+
load_attributes_from_response(response)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def component_kind
|
35
|
+
@attributes['kind']
|
36
|
+
end
|
37
|
+
|
38
|
+
def component_kind_plural
|
39
|
+
"#{self.component_kind}s"
|
40
|
+
end
|
13
41
|
end
|
14
42
|
|
15
43
|
class Coupon < Base
|
@@ -25,6 +25,11 @@ module Chargify
|
|
25
25
|
params.merge!({:subscription_id => self.id})
|
26
26
|
Component.find(:all, :params => params)
|
27
27
|
end
|
28
|
+
|
29
|
+
def events(params = {})
|
30
|
+
params.merge!(:subscription_id => self.id)
|
31
|
+
Event.all(:params => params)
|
32
|
+
end
|
28
33
|
|
29
34
|
def payment_profile
|
30
35
|
self.respond_to?('credit_card') ? credit_card : nil
|
@@ -98,6 +103,10 @@ module Chargify
|
|
98
103
|
end
|
99
104
|
end
|
100
105
|
|
106
|
+
class Event < Base
|
107
|
+
self.prefix = '/subscriptions/:subscription_id/'
|
108
|
+
end
|
109
|
+
|
101
110
|
class Statement < Base
|
102
111
|
self.prefix = "/subscriptions/:subscription_id/"
|
103
112
|
end
|
data/spec/remote/remote_spec.rb
CHANGED
@@ -313,6 +313,58 @@ describe "Remote" do
|
|
313
313
|
tx.transaction_type.should == 'refund'
|
314
314
|
end
|
315
315
|
end
|
316
|
+
|
317
|
+
describe 'Webhooks' do
|
318
|
+
before(:all) do
|
319
|
+
@subscription = Chargify::Subscription.create(
|
320
|
+
:product_handle => pro_plan.handle,
|
321
|
+
:customer_reference => johnadoe.reference,
|
322
|
+
:payment_profile_attributes => good_payment_profile_attributes)
|
323
|
+
end
|
324
|
+
|
325
|
+
it 'should list all webhooks' do
|
326
|
+
Chargify::Webhook.all.should_not be_empty
|
327
|
+
end
|
328
|
+
|
329
|
+
# The sleep in the next 2 examples precludes the use of expect{foo}.to change{bar}
|
330
|
+
it 'should replay specified webhooks' do
|
331
|
+
# Note: Webhook#reload doesn't work.
|
332
|
+
webhook = Chargify::Webhook.first
|
333
|
+
last_sent_at = webhook.last_sent_at
|
334
|
+
|
335
|
+
webhook.replay
|
336
|
+
|
337
|
+
sleep 4
|
338
|
+
Chargify::Webhook.first.last_sent_at.should_not == last_sent_at
|
339
|
+
end
|
340
|
+
|
341
|
+
it 'should replay webhooks specified by id' do
|
342
|
+
webhooks = Chargify::Webhook.all
|
343
|
+
webhook_ids = [0, 1].map {|i| webhooks[i].id}
|
344
|
+
fetch_last_sent_times = lambda {|ary| ary.select{ |w| webhook_ids.include?(w.id) }.map(&:last_sent_at)}
|
345
|
+
last_sent_at_times = fetch_last_sent_times.call(webhooks)
|
346
|
+
Chargify::Webhook.replay(webhook_ids)
|
347
|
+
sleep 4
|
348
|
+
fetch_last_sent_times.call(Chargify::Webhook.all).should_not == last_sent_at_times
|
349
|
+
end
|
350
|
+
end
|
351
|
+
|
352
|
+
describe 'Events' do
|
353
|
+
before(:all) do
|
354
|
+
@subscription = Chargify::Subscription.create(
|
355
|
+
:product_handle => pro_plan.handle,
|
356
|
+
:customer_reference => johnadoe.reference,
|
357
|
+
:payment_profile_attributes => good_payment_profile_attributes)
|
358
|
+
end
|
359
|
+
|
360
|
+
it 'should list all events for the site' do
|
361
|
+
Chargify::Event.all.should_not be_empty
|
362
|
+
end
|
363
|
+
|
364
|
+
it 'should lits all events for a subscription' do
|
365
|
+
@subscription.events.should_not be_empty
|
366
|
+
end
|
367
|
+
end
|
316
368
|
end
|
317
369
|
|
318
370
|
def clear_site_data
|
@@ -37,4 +37,27 @@ describe Chargify::Coupon do
|
|
37
37
|
coupons.map{|c| c.should be_instance_of(Chargify::Coupon)}
|
38
38
|
end
|
39
39
|
end
|
40
|
+
|
41
|
+
context '.validate' do
|
42
|
+
let(:coupon_1) { Factory.build(:coupon, :product_family_id => 6) }
|
43
|
+
|
44
|
+
before do
|
45
|
+
FakeWeb.register_uri(:get, "#{test_domain}/coupons/validate.xml?product_family_id=6&coupon_code=foobar123", :body => coupon_1.attributes.to_xml)
|
46
|
+
FakeWeb.register_uri(:get, "#{test_domain}/coupons/validate.xml?coupon_code=foobar123", :body => coupon_1.attributes.to_xml)
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'returns the coupon that matches the coupon code' do
|
50
|
+
coupon = Chargify::Coupon.validate(:product_family_id => 6, :coupon_code => 'foobar123')
|
51
|
+
coupon.should be_instance_of Chargify::Coupon
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'treats the product_family_id as an optional parameter' do
|
55
|
+
coupon = Chargify::Coupon.validate(:coupon_code => 'foobar123')
|
56
|
+
coupon.should be_instance_of Chargify::Coupon
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'treats the coupon_code as a required parameter' do
|
60
|
+
expect { coupon = Chargify::Coupon.validate }.to raise_error(ArgumentError)
|
61
|
+
end
|
62
|
+
end
|
40
63
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Chargify::ProductFamily::Component do
|
4
|
+
context 'create' do
|
5
|
+
let(:component) { Chargify::ProductFamily::Component }
|
6
|
+
let(:connection) { double('connection').as_null_object }
|
7
|
+
let(:response) { double('response').as_null_object }
|
8
|
+
|
9
|
+
before :each do
|
10
|
+
component.any_instance.stub(:connection).and_return(connection)
|
11
|
+
response.stub(:tap)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should post to the correct url' do
|
15
|
+
connection.should_receive(:post) do |path, body, headers|
|
16
|
+
path.should == '/product_families/123/quantity_based_components.xml'
|
17
|
+
|
18
|
+
response
|
19
|
+
end
|
20
|
+
|
21
|
+
component.create(:product_family_id => 123, :kind => 'quantity_based_component', :name => 'Foo Component')
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should not include the kind attribute in the post' do
|
25
|
+
connection.should_receive(:post) do |path, body, headers|
|
26
|
+
body.should_not match(/kind/)
|
27
|
+
|
28
|
+
response
|
29
|
+
end
|
30
|
+
|
31
|
+
component.create(:product_family_id => 123, :kind => 'quantity_based_component', :name => 'Foo Component')
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should have the component kind as the root' do
|
35
|
+
connection.should_receive(:post) do |path, body, headers|
|
36
|
+
#The second line in the xml should be the root. This saves us from using nokogiri for this one example.
|
37
|
+
body.split($/)[1].should match(/quantity_based_component/)
|
38
|
+
|
39
|
+
response
|
40
|
+
end
|
41
|
+
|
42
|
+
component.create(:product_family_id => 123, :kind => 'quantity_based_component', :name => 'Foo Component')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
metadata
CHANGED
@@ -1,124 +1,179 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: chargify_api_ares
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 3
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 5
|
9
|
+
- 4
|
10
|
+
version: 0.5.4
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Michael Klett
|
9
14
|
- Nathan Verni
|
15
|
+
- Graham McIntire
|
10
16
|
- Rodrigo Franco
|
11
17
|
- Shay Frendt
|
12
18
|
autorequire:
|
13
19
|
bindir: bin
|
14
20
|
cert_chain: []
|
15
|
-
|
16
|
-
|
17
|
-
|
21
|
+
|
22
|
+
date: 2013-02-14 00:00:00 Z
|
23
|
+
dependencies:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
type: :runtime
|
18
26
|
name: activeresource
|
19
|
-
|
27
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
20
28
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
hash: 9
|
33
|
+
segments:
|
34
|
+
- 2
|
35
|
+
- 3
|
36
|
+
- 5
|
24
37
|
version: 2.3.5
|
25
|
-
|
38
|
+
requirement: *id001
|
26
39
|
prerelease: false
|
27
|
-
|
28
|
-
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
type: :development
|
29
42
|
name: rake
|
30
|
-
|
43
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
31
44
|
none: false
|
32
|
-
requirements:
|
45
|
+
requirements:
|
33
46
|
- - ~>
|
34
|
-
- !ruby/object:Gem::Version
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
hash: 63
|
49
|
+
segments:
|
50
|
+
- 0
|
51
|
+
- 9
|
52
|
+
- 2
|
35
53
|
version: 0.9.2
|
36
|
-
|
54
|
+
requirement: *id002
|
37
55
|
prerelease: false
|
38
|
-
|
39
|
-
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
type: :development
|
40
58
|
name: rspec
|
41
|
-
|
59
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
42
60
|
none: false
|
43
|
-
requirements:
|
61
|
+
requirements:
|
44
62
|
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
hash: 19
|
65
|
+
segments:
|
66
|
+
- 2
|
67
|
+
- 7
|
68
|
+
- 0
|
46
69
|
version: 2.7.0
|
47
|
-
|
70
|
+
requirement: *id003
|
48
71
|
prerelease: false
|
49
|
-
|
50
|
-
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
type: :development
|
51
74
|
name: factory_girl
|
52
|
-
|
75
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
53
76
|
none: false
|
54
|
-
requirements:
|
77
|
+
requirements:
|
55
78
|
- - ~>
|
56
|
-
- !ruby/object:Gem::Version
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
hash: 11
|
81
|
+
segments:
|
82
|
+
- 2
|
83
|
+
- 1
|
84
|
+
- 0
|
57
85
|
version: 2.1.0
|
58
|
-
|
86
|
+
requirement: *id004
|
59
87
|
prerelease: false
|
60
|
-
|
61
|
-
|
88
|
+
- !ruby/object:Gem::Dependency
|
89
|
+
type: :development
|
62
90
|
name: fakeweb
|
63
|
-
|
91
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
64
92
|
none: false
|
65
|
-
requirements:
|
93
|
+
requirements:
|
66
94
|
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
hash: 27
|
97
|
+
segments:
|
98
|
+
- 1
|
99
|
+
- 3
|
100
|
+
- 0
|
68
101
|
version: 1.3.0
|
69
|
-
|
102
|
+
requirement: *id005
|
70
103
|
prerelease: false
|
71
|
-
|
72
|
-
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
type: :development
|
73
106
|
name: faker
|
74
|
-
|
107
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
75
108
|
none: false
|
76
|
-
requirements:
|
109
|
+
requirements:
|
77
110
|
- - ~>
|
78
|
-
- !ruby/object:Gem::Version
|
79
|
-
|
80
|
-
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
hash: 23
|
113
|
+
segments:
|
114
|
+
- 1
|
115
|
+
- 1
|
116
|
+
- 2
|
117
|
+
version: 1.1.2
|
118
|
+
requirement: *id006
|
81
119
|
prerelease: false
|
82
|
-
|
83
|
-
|
120
|
+
- !ruby/object:Gem::Dependency
|
121
|
+
type: :development
|
84
122
|
name: guard-rspec
|
85
|
-
|
123
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
86
124
|
none: false
|
87
|
-
requirements:
|
125
|
+
requirements:
|
88
126
|
- - ~>
|
89
|
-
- !ruby/object:Gem::Version
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
hash: 11
|
129
|
+
segments:
|
130
|
+
- 0
|
131
|
+
- 5
|
132
|
+
- 0
|
90
133
|
version: 0.5.0
|
91
|
-
|
134
|
+
requirement: *id007
|
92
135
|
prerelease: false
|
93
|
-
|
94
|
-
|
136
|
+
- !ruby/object:Gem::Dependency
|
137
|
+
type: :development
|
95
138
|
name: growl
|
96
|
-
|
139
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
97
140
|
none: false
|
98
|
-
requirements:
|
141
|
+
requirements:
|
99
142
|
- - ~>
|
100
|
-
- !ruby/object:Gem::Version
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
hash: 17
|
145
|
+
segments:
|
146
|
+
- 1
|
147
|
+
- 0
|
148
|
+
- 3
|
101
149
|
version: 1.0.3
|
102
|
-
|
150
|
+
requirement: *id008
|
103
151
|
prerelease: false
|
104
|
-
|
105
|
-
|
152
|
+
- !ruby/object:Gem::Dependency
|
153
|
+
type: :development
|
106
154
|
name: rb-fsevent
|
107
|
-
|
155
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
108
156
|
none: false
|
109
|
-
requirements:
|
157
|
+
requirements:
|
110
158
|
- - ~>
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
|
113
|
-
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
hash: 63
|
161
|
+
segments:
|
162
|
+
- 0
|
163
|
+
- 9
|
164
|
+
- 2
|
165
|
+
version: 0.9.2
|
166
|
+
requirement: *id009
|
114
167
|
prerelease: false
|
115
|
-
|
116
|
-
description: ''
|
168
|
+
description: ""
|
117
169
|
email: support@chargify.com
|
118
170
|
executables: []
|
171
|
+
|
119
172
|
extensions: []
|
173
|
+
|
120
174
|
extra_rdoc_files: []
|
121
|
-
|
175
|
+
|
176
|
+
files:
|
122
177
|
- .gitignore
|
123
178
|
- .travis.yml
|
124
179
|
- Gemfile
|
@@ -140,6 +195,7 @@ files:
|
|
140
195
|
- lib/chargify_api_ares/resources/component.rb
|
141
196
|
- lib/chargify_api_ares/resources/coupon.rb
|
142
197
|
- lib/chargify_api_ares/resources/customer.rb
|
198
|
+
- lib/chargify_api_ares/resources/event.rb
|
143
199
|
- lib/chargify_api_ares/resources/payment_profile.rb
|
144
200
|
- lib/chargify_api_ares/resources/product.rb
|
145
201
|
- lib/chargify_api_ares/resources/product_family.rb
|
@@ -148,6 +204,7 @@ files:
|
|
148
204
|
- lib/chargify_api_ares/resources/subscription.rb
|
149
205
|
- lib/chargify_api_ares/resources/transaction.rb
|
150
206
|
- lib/chargify_api_ares/resources/usage.rb
|
207
|
+
- lib/chargify_api_ares/resources/webhook.rb
|
151
208
|
- spec/factories.rb
|
152
209
|
- spec/remote/remote.example.yml
|
153
210
|
- spec/remote/remote_spec.rb
|
@@ -155,6 +212,7 @@ files:
|
|
155
212
|
- spec/resources/base_spec.rb
|
156
213
|
- spec/resources/coupon_spec.rb
|
157
214
|
- spec/resources/customer_spec.rb
|
215
|
+
- spec/resources/product_family_component_spec.rb
|
158
216
|
- spec/resources/product_family_spec.rb
|
159
217
|
- spec/resources/product_spec.rb
|
160
218
|
- spec/resources/subscription_component_spec.rb
|
@@ -165,29 +223,38 @@ files:
|
|
165
223
|
- spec/support/fake_resource.rb
|
166
224
|
homepage: http://github.com/chargify/chargify_api_ares
|
167
225
|
licenses: []
|
226
|
+
|
168
227
|
post_install_message:
|
169
228
|
rdoc_options: []
|
170
|
-
|
229
|
+
|
230
|
+
require_paths:
|
171
231
|
- lib
|
172
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
232
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
173
233
|
none: false
|
174
|
-
requirements:
|
175
|
-
- -
|
176
|
-
- !ruby/object:Gem::Version
|
177
|
-
|
178
|
-
|
234
|
+
requirements:
|
235
|
+
- - ">="
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
hash: 3
|
238
|
+
segments:
|
239
|
+
- 0
|
240
|
+
version: "0"
|
241
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
242
|
none: false
|
180
|
-
requirements:
|
181
|
-
- -
|
182
|
-
- !ruby/object:Gem::Version
|
183
|
-
|
243
|
+
requirements:
|
244
|
+
- - ">="
|
245
|
+
- !ruby/object:Gem::Version
|
246
|
+
hash: 3
|
247
|
+
segments:
|
248
|
+
- 0
|
249
|
+
version: "0"
|
184
250
|
requirements: []
|
251
|
+
|
185
252
|
rubyforge_project:
|
186
|
-
rubygems_version: 1.8.
|
253
|
+
rubygems_version: 1.8.25
|
187
254
|
signing_key:
|
188
255
|
specification_version: 3
|
189
256
|
summary: A Chargify API wrapper for Ruby using ActiveResource
|
190
|
-
test_files:
|
257
|
+
test_files:
|
191
258
|
- spec/factories.rb
|
192
259
|
- spec/remote/remote.example.yml
|
193
260
|
- spec/remote/remote_spec.rb
|
@@ -195,6 +262,7 @@ test_files:
|
|
195
262
|
- spec/resources/base_spec.rb
|
196
263
|
- spec/resources/coupon_spec.rb
|
197
264
|
- spec/resources/customer_spec.rb
|
265
|
+
- spec/resources/product_family_component_spec.rb
|
198
266
|
- spec/resources/product_family_spec.rb
|
199
267
|
- spec/resources/product_spec.rb
|
200
268
|
- spec/resources/subscription_component_spec.rb
|