class Braintree::Subscription

Attributes

add_ons[R]
balance[R]
billing_day_of_month[R]
billing_period_end_date[R]
billing_period_start_date[R]
created_at[R]
current_billing_cycle[R]
days_past_due[R]
description[R]
descriptor[R]
discounts[R]
failure_count[R]
first_billing_date[R]
id[R]
merchant_account_id[R]
next_billing_date[R]
next_billing_period_amount[R]
number_of_billing_cycles[R]
paid_through_date[R]
payment_method_token[R]
plan_id[R]
price[R]
status[R]
status_history[R]
transactions[R]
trial_duration[R]
trial_duration_unit[R]
trial_period[R]
updated_at[R]

Public Class Methods

_new(*args) click to toggle source
# File lib/braintree/subscription.rb, line 117
def _new(*args)
  self.new(*args)
end
cancel(*args) click to toggle source
# File lib/braintree/subscription.rb, line 58
def self.cancel(*args)
  Configuration.gateway.subscription.cancel(*args)
end
cancel!(*args) click to toggle source
# File lib/braintree/subscription.rb, line 62
def self.cancel!(*args)
  Configuration.gateway.subscription.cancel!(*args)
end
create(*args) click to toggle source
# File lib/braintree/subscription.rb, line 66
def self.create(*args)
  Configuration.gateway.subscription.create(*args)
end
create!(*args) click to toggle source
# File lib/braintree/subscription.rb, line 70
def self.create!(*args)
  Configuration.gateway.subscription.create!(*args)
end
find(*args) click to toggle source
# File lib/braintree/subscription.rb, line 74
def self.find(*args)
  Configuration.gateway.subscription.find(*args)
end
retry_charge(*args) click to toggle source
# File lib/braintree/subscription.rb, line 78
def self.retry_charge(*args)
  Configuration.gateway.subscription.retry_charge(*args)
end
update(*args) click to toggle source
# File lib/braintree/subscription.rb, line 86
def self.update(*args)
  Configuration.gateway.subscription.update(*args)
end
update!(*args) click to toggle source
# File lib/braintree/subscription.rb, line 90
def self.update!(*args)
  Configuration.gateway.subscription.update!(*args)
end

Protected Class Methods

new(gateway, attributes) click to toggle source
# File lib/braintree/subscription.rb, line 94
def initialize(gateway, attributes)
  @gateway = gateway
  set_instance_variables_from_hash(attributes)
  @balance = Util.to_big_decimal(balance)
  @price = Util.to_big_decimal(price)
  @descriptor = Descriptor.new(@descriptor)
  transactions.map! { |attrs| Transaction._new(gateway, attrs) }
  add_ons.map! { |attrs| AddOn._new(attrs) }
  discounts.map! { |attrs| Discount._new(attrs) }
  @status_history = attributes[:status_history] ? attributes[:status_history].map { |s| StatusDetails.new(s) } : []
  @first_billing_date = Date.parse(first_billing_date) unless first_billing_date.nil?
  @next_billing_date = Date.parse(next_billing_date) unless next_billing_date.nil?
  @billing_period_start_date = Date.parse(billing_period_start_date) unless billing_period_start_date.nil?
  @billing_period_end_date = Date.parse(billing_period_end_date) unless billing_period_end_date.nil?
  @paid_through_date = Date.parse(paid_through_date) unless paid_through_date.nil?
end

Public Instance Methods

never_expires?() click to toggle source
# File lib/braintree/subscription.rb, line 111
def never_expires?
  @never_expires
end