lib/braintree/subscription.rb in braintree-2.38.0 vs lib/braintree/subscription.rb in braintree-2.39.0
- old
+ new
@@ -1,10 +1,17 @@
module Braintree
# See http://www.braintreepayments.com/docs/ruby/subscriptions/overview
class Subscription
include BaseModule
+ module Source
+ Api = "api"
+ ControlPanel = "control_panel"
+ Recurring = "recurring"
+ Unrecognized = "unrecognized"
+ end
+
module Status
Active = 'Active'
Canceled = 'Canceled'
Expired = 'Expired'
PastDue = 'Past Due'
@@ -28,10 +35,11 @@
attr_reader :number_of_billing_cycles, :billing_day_of_month
attr_reader :add_ons, :discounts
attr_reader :descriptor
attr_reader :current_billing_cycle
attr_reader :updated_at, :created_at
+ attr_reader :status_history
# See http://www.braintreepayments.com/docs/ruby/subscriptions/cancel
def self.cancel(subscription_id)
Configuration.gateway.subscription.cancel(subscription_id)
end
@@ -75,9 +83,10 @@
@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) } : []
end
def next_bill_amount
warn "[DEPRECATED] Subscription.next_bill_amount is deprecated. Please use Subscription.next_billing_period_amount"
@next_bill_amount