Class: Apruve::Subscription

Inherits:
OrderItem show all
Defined in:
lib/apruve/resources/subscription.rb

Instance Attribute Summary collapse

Attributes inherited from OrderItem

#description, #line_item_api_url, #merchant_notes, #plan_code, #price_ea_cents, #price_total_cents, #quantity, #sku, #subscription_url, #title, #variant_info, #vendor, #view_product_url

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from OrderItem

#validate

Methods inherited from ApruveObject

#initialize, logger, #logger, #to_hash, #to_json, #validate

Constructor Details

This class inherits a constructor from Apruve::ApruveObject

Instance Attribute Details

#canceled_atObject

Returns the value of attribute canceled_at.



3
4
5
# File 'lib/apruve/resources/subscription.rb', line 3

def canceled_at
  @canceled_at
end

#end_atObject

Returns the value of attribute end_at.



3
4
5
# File 'lib/apruve/resources/subscription.rb', line 3

def end_at
  @end_at
end

#idObject

Returns the value of attribute id.



3
4
5
# File 'lib/apruve/resources/subscription.rb', line 3

def id
  @id
end

#last_charge_atObject

Returns the value of attribute last_charge_at.



3
4
5
# File 'lib/apruve/resources/subscription.rb', line 3

def last_charge_at
  @last_charge_at
end

#next_charge_atObject

Returns the value of attribute next_charge_at.



3
4
5
# File 'lib/apruve/resources/subscription.rb', line 3

def next_charge_at
  @next_charge_at
end

#start_atObject

Returns the value of attribute start_at.



3
4
5
# File 'lib/apruve/resources/subscription.rb', line 3

def start_at
  @start_at
end

Class Method Details

.find(id) ⇒ Object



5
6
7
8
9
# File 'lib/apruve/resources/subscription.rb', line 5

def self.find(id)
  response = Apruve.get("subscriptions/#{id}")
  logger.debug response.body
  Subscription.new(response.body)
end

Instance Method Details

#cancel!Object



18
19
20
21
22
23
24
# File 'lib/apruve/resources/subscription.rb', line 18

def cancel!
  response = Apruve.post("subscriptions/#{self.id}/cancel")
  logger.debug response.body
  self.canceled_at = Time.parse(response.body['canceled_at']) unless response.body['canceled_at'].nil?
  self.end_at = Time.parse(response.body['end_at']) unless response.body['end_at'].nil?
  nil
end

#update!Object



11
12
13
14
15
16
# File 'lib/apruve/resources/subscription.rb', line 11

def update!
  validate
  response = Apruve.put("subscriptions/#{self.id}", self.to_json)
  logger.debug response.body
  nil
end