class FastSpring::Subscription
Public Class Methods
create_subscription_url(reference, referrer)
click to toggle source
# File lib/fastspring-saasy/subscription.rb, line 6 def self.create_subscription_url(reference, referrer) "#{SITE_URL}/#{FastSpring::Account.fetch(:company)}/product/#{reference}?referrer=#{referrer}" end
Public Instance Methods
active?()
click to toggle source
Is the subscription active?
# File lib/fastspring-saasy/subscription.rb, line 33 def active? status == 'active' end
base_subscription_path()
click to toggle source
Returns the base path for a subscription
# File lib/fastspring-saasy/subscription.rb, line 23 def base_subscription_path "/company/#{@company}/subscription/#{@reference}" end
cancelable?()
click to toggle source
Can the subscription be cancelled?
# File lib/fastspring-saasy/subscription.rb, line 38 def cancelable? value_for('cancelable') == 'true' end
customer_url()
click to toggle source
# File lib/fastspring-saasy/subscription.rb, line 74 def customer_url value_for('customerUrl') end
destroy()
click to toggle source
Cancel the subscription
# File lib/fastspring-saasy/subscription.rb, line 79 def destroy self.class.delete(base_subscription_path, :basic_auth => @auth) end
Also aliased as: cancel!
ends_on()
click to toggle source
The date the subscription ends on
# File lib/fastspring-saasy/subscription.rb, line 52 def ends_on Date.parse(value_for('end')) end
find()
click to toggle source
Get the subscription from Saasy
# File lib/fastspring-saasy/subscription.rb, line 11 def find @response = self.class.get(base_subscription_path, :basic_auth => @auth, :ssl_ca_file => @ssl_ca_file) self end
next_period_date()
click to toggle source
# File lib/fastspring-saasy/subscription.rb, line 47 def next_period_date Date.parse(value_for('nextPeriodDate')) end
product_name()
click to toggle source
Subscription
product name
# File lib/fastspring-saasy/subscription.rb, line 43 def product_name value_for('productName') end
quantity()
click to toggle source
# File lib/fastspring-saasy/subscription.rb, line 56 def quantity value_for('quantity').to_i end
renew()
click to toggle source
Renew the subscription
# File lib/fastspring-saasy/subscription.rb, line 89 def renew self.class.post(renew_path, :basic_auth => @auth) end
renew_path()
click to toggle source
# File lib/fastspring-saasy/subscription.rb, line 84 def renew_path "#{base_subscription_path}/renew" end
status_reason()
click to toggle source
The reason for a status change
# File lib/fastspring-saasy/subscription.rb, line 28 def status_reason value_for('statusReason') end
update!(options={})
click to toggle source
Update the subscription from Saasy
# File lib/fastspring-saasy/subscription.rb, line 17 def update!(options={}) @response = self.class.put(base_subscription_path, :body => Gyoku.xml(subscription: options), :headers => {'Content-Type' => 'application/xml'},:basic_auth => @auth) self end
Private Instance Methods
parsed_response()
click to toggle source
# File lib/fastspring-saasy/subscription.rb, line 95 def parsed_response @response.parsed_response['subscription'] end