Class: Chargify::Subscription
- Inherits:
-
Base
- Object
- ActiveResource::Base
- Base
- Chargify::Subscription
show all
- Defined in:
- lib/chargify_api_ares/resources/subscription.rb
Defined Under Namespace
Classes: Component, Statement, Transaction
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
element_name, #to_xml
Class Method Details
.find_by_customer_reference(reference) ⇒ Object
3
4
5
6
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 3
def self.find_by_customer_reference(reference)
customer = Customer.find_by_reference(reference)
find(:first, :params => {:customer_id => customer.id})
end
|
Instance Method Details
#add_coupon(code) ⇒ Object
80
81
82
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 80
def add_coupon(code)
post :add_coupon, :code => code
end
|
#adjustment(attrs = {}) ⇒ Object
76
77
78
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 76
def adjustment(attrs = {})
post :adjustments, {}, attrs.to_xml(:root => :adjustment)
end
|
#cancel ⇒ Object
16
17
18
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 16
def cancel
destroy
end
|
#charge(attrs = {}) ⇒ Object
36
37
38
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 36
def charge(attrs = {})
post :charges, {}, attrs.to_xml(:root => :charge)
end
|
#component(id) ⇒ Object
20
21
22
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 20
def component(id)
Component.find(id, :params => {:subscription_id => self.id})
end
|
#components(params = {}) ⇒ Object
24
25
26
27
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 24
def components(params = {})
params.merge!({:subscription_id => self.id})
Component.find(:all, :params => params)
end
|
#credit(attrs = {}) ⇒ Object
40
41
42
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 40
def credit(attrs = {})
post :credits, {}, attrs.to_xml(:root => :credit)
end
|
#migrate(attrs = {}) ⇒ Object
56
57
58
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 56
def migrate(attrs = {})
post :migrations, :migration => attrs
end
|
#payment_profile ⇒ Object
29
30
31
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 29
def payment_profile
self.respond_to?('credit_card') ? credit_card : nil
end
|
#reactivate(params = {}) ⇒ Object
48
49
50
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 48
def reactivate(params = {})
put :reactivate, params
end
|
#refund(attrs = {}) ⇒ Object
44
45
46
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 44
def refund(attrs = {})
post :refunds, {}, attrs.to_xml(:root => :refund)
end
|
#remove_coupon(code = nil) ⇒ Object
84
85
86
87
88
89
90
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 84
def remove_coupon(code=nil)
if code.nil?
delete :remove_coupon
else
delete :remove_coupon, :code => code
end
end
|
#reset_balance ⇒ Object
52
53
54
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 52
def reset_balance
put :reset_balance
end
|
#save ⇒ Object
Strip off nested attributes of associations before saving, or type-mismatch errors will occur
9
10
11
12
13
14
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 9
def save
self.attributes.delete('customer')
self.attributes.delete('product')
self.attributes.delete('credit_card')
super
end
|
#statement(id) ⇒ Object
60
61
62
63
64
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 60
def statement(id)
statement = Chargify::Statement.find(id)
raise ActiveResource::ResourceNotFound.new(nil) if (statement.subscription_id != self.id)
statement
end
|
#statements(params = {}) ⇒ Object
66
67
68
69
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 66
def statements(params = {})
params.merge!(:subscription_id => self.id)
Statement.find(:all, :params => params)
end
|
#transactions(params = {}) ⇒ Object
71
72
73
74
|
# File 'lib/chargify_api_ares/resources/subscription.rb', line 71
def transactions(params = {})
params.merge!(:subscription_id => self.id)
Transaction.find(:all, :params => params)
end
|