Sha256: da4aa671a793bc669877b200cf14fab89ea4c0a67ba394bae3e00206e654ad27

Contents?: true

Size: 1.83 KB

Versions: 8

Compression:

Stored size: 1.83 KB

Contents

module ChargeBee
  class Subscription < Model

    class Addon < Model
      attr_accessor :id, :quantity
    end

    class Coupon < Model
      attr_accessor :coupon_id, :apply_till, :applied_count, :coupon_code
    end

  attr_accessor :id, :plan_id, :plan_quantity, :status, :start_date, :trial_start, :trial_end,
  :current_term_start, :current_term_end, :remaining_billing_cycles, :created_at, :started_at,
  :activated_at, :cancelled_at, :cancel_reason, :due_invoices_count, :due_since, :total_dues,
  :addons, :coupon, :coupons

  # OPERATIONS
  #-----------
    
  def self.create(params, env=nil)
    Request.send('post', "/subscriptions", params, env)
  end    

  def self.create_for_customer(id, params, env=nil)
    Request.send('post', "/customers/#{id.to_s}/subscriptions", params, env)
  end    

  def self.list(params={}, env=nil)
    Request.send('get', "/subscriptions", params, env)
  end    

  def self.subscriptions_for_customer(id, params={}, env=nil)
    Request.send('get', "/customers/#{id.to_s}/subscriptions", params, env)
  end    

  def self.retrieve(id, env=nil)
    Request.send('get', "/subscriptions/#{id.to_s}", {}, env)
  end    

  def self.update(id, params={}, env=nil)
    Request.send('post', "/subscriptions/#{id.to_s}", params, env)
  end    

  def self.change_term_end(id, params, env=nil)
    Request.send('post', "/subscriptions/#{id.to_s}/change_term_end", params, env)
  end    

  def self.cancel(id, params={}, env=nil)
    Request.send('post', "/subscriptions/#{id.to_s}/cancel", params, env)
  end    

  def self.reactivate(id, params={}, env=nil)
    Request.send('post', "/subscriptions/#{id.to_s}/reactivate", params, env)
  end    

  def self.add_credit(id, params, env=nil)
    Request.send('post', "/subscriptions/#{id.to_s}/add_credit", params, env)
  end    

  end # ~Subscription
end # ~ChargeBee    

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
chargebee-1.3.8 lib/chargebee/models/subscription.rb
chargebee-1.3.7 lib/chargebee/models/subscription.rb
chargebee-1.3.6 lib/chargebee/models/subscription.rb
chargebee-1.3.5 lib/chargebee/models/subscription.rb
chargebee-1.3.4 lib/chargebee/models/subscription.rb
chargebee-1.3.3 lib/chargebee/models/subscription.rb
chargebee-1.3.2 lib/chargebee/models/subscription.rb
chargebee-1.3.1 lib/chargebee/models/subscription.rb