Sha256: 7e8e38318737b10d3a0f9384eb841f0eefe12eddf831a2a3b7eacac45c65e00c
Contents?: true
Size: 886 Bytes
Versions: 1
Compression:
Stored size: 886 Bytes
Contents
class LineItem < ActiveRecord::Base before_validation :adjust_quantity belongs_to :order belongs_to :variant has_one :product, :through => :variant validates_presence_of :variant validates_numericality_of :quantity, :only_integer => true, :message => "must be an integer" validates_numericality_of :price def validate unless quantity && quantity >= 0 errors.add(:quantity, "must be a positive value") end unless variant and quantity <= variant.on_hand || Spree::Config[:allow_backorders] errors.add(:quantity, " is too large-- stock on hand cannot cover requested quantity!") end end def increment_quantity self.quantity += 1 end def decrement_quantity self.quantity -= 1 end def total self.price * self.quantity end def adjust_quantity self.quantity = 0 if self.quantity < 0 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kdmny-spree-0.0.1 | app/models/line_item.rb |