Sha256: 0b8c39dc1850238880788d3fbf1acd941197b2f73a6b680b0568ef088c8c68f7

Contents?: true

Size: 762 Bytes

Versions: 1

Compression:

Stored size: 762 Bytes

Contents

class ShopDiscountable < ActiveRecord::Base
  
  belongs_to :discount,   :class_name => 'ShopDiscount',  :foreign_key => :discount_id
  belongs_to :discounted, :foreign_key => :discounted_id, :polymorphic => true
  
  belongs_to :product,    :class_name => 'ShopProduct',   :foreign_key => :discounted_id
  belongs_to :line_item,  :class_name => 'ShopLineItem',  :foreign_key => :discounted_id
  belongs_to :user,       :class_name => 'User',          :foreign_key => :discounted_id
  
  validates_presence_of   :discount, :discounted
  validates_uniqueness_of :discounted_id, :scope => [ :discount_id, :discounted_type ]
  
  # Returns discount of a class
  def self.for(type)
    all(:conditions => { :discounted_type => type.pluralize.classify })
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
radiant-shop_discounts-extension-0.0.11 app/models/shop_discountable.rb