Sha256: b36b008e4d1ebf3b238789f7394c87a75dd6b02adf6e7eb56356216f0f3a5a89

Contents?: true

Size: 675 Bytes

Versions: 1

Compression:

Stored size: 675 Bytes

Contents

module Tang
  class Subscription < ActiveRecord::Base
    has_paper_trail

    belongs_to :customer, class_name: Tang.customer_class
    belongs_to :plan

    validates :customer, uniqueness: true
    validates :stripe_id, uniqueness: true
    validates :application_fee_percent, numericality: { greater_than_or_equal_to: 0 }, allow_nil: true
    validates :quantity, numericality: { greater_than_or_equal_to: 0 }, allow_nil: true
    validates :tax_percent, numericality: { greater_than_or_equal_to: 0 }, allow_nil: true
  
    before_destroy :cancel_stripe_subscription

    private

    def cancel_stripe_subscription
      CancelSubscription.call(self)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tang-0.0.1 app/models/tang/subscription.rb