Sha256: d8f6dfdb85c7070cead221bf76ee310dcda81c2069b28ad5c47ad6af4cd30b7c

Contents?: true

Size: 902 Bytes

Versions: 311

Compression:

Stored size: 902 Bytes

Contents

module Caboose
  class Discount < ActiveRecord::Base
    self.table_name  = 'store_invoice_discounts'
    self.primary_key = 'id'
            
    belongs_to :gift_card
    belongs_to :invoice
    attr_accessible :id,
      :gift_card_id,
      :invoice_id,
      :amount

    after_find do |d|
      d.amount = 0.00 if d.amount.nil?                        
    end
    
    def calculate_amount                                
      gc = self.gift_card      
      self.amount = case self.gift_card.card_type
        when GiftCard::CARD_TYPE_AMOUNT      then (self.invoice.total >= gc.balance ? gc.balance : self.invoice.total)
        when GiftCard::CARD_TYPE_PERCENTAGE  then self.invoice.subtotal * gc.total
        when GiftCard::CARD_TYPE_NO_SHIPPING then self.invoice.shipping
        when GiftCard::CARD_TYPE_NO_TAX      then self.invoice.tax
      end
      self.save
    end
      
  end
end

Version data entries

311 entries across 311 versions & 1 rubygems

Version Path
caboose-cms-0.9.229 app/models/caboose/discount.rb
caboose-cms-1.0.2 app/models/caboose/discount.rb
caboose-cms-1.0.1 app/models/caboose/discount.rb
caboose-cms-0.9.228 app/models/caboose/discount.rb
caboose-cms-0.9.227 app/models/caboose/discount.rb
caboose-cms-0.9.226 app/models/caboose/discount.rb
caboose-cms-0.9.225 app/models/caboose/discount.rb
caboose-cms-0.9.224 app/models/caboose/discount.rb
caboose-cms-0.9.223 app/models/caboose/discount.rb
caboose-cms-0.9.222 app/models/caboose/discount.rb
caboose-cms-0.9.221 app/models/caboose/discount.rb
caboose-cms-0.9.220 app/models/caboose/discount.rb
caboose-cms-0.9.219 app/models/caboose/discount.rb
caboose-cms-0.9.218 app/models/caboose/discount.rb
caboose-cms-0.9.217 app/models/caboose/discount.rb
caboose-cms-0.9.216 app/models/caboose/discount.rb
caboose-cms-0.9.215 app/models/caboose/discount.rb
caboose-cms-0.9.214 app/models/caboose/discount.rb
caboose-cms-0.9.213 app/models/caboose/discount.rb
caboose-cms-0.9.212 app/models/caboose/discount.rb