Sha256: 74bb4e2800a6b9f032cad1af2c06909a24c041027e40e3ce26bfc351284bd451

Contents?: true

Size: 560 Bytes

Versions: 2

Compression:

Stored size: 560 Bytes

Contents

class CartItem < ActiveRecord::Base
  belongs_to :product
  belongs_to :variation
  belongs_to :cart
  
  validates_presence_of :product, :quantity
  validates_numericality_of :quantity, :only_integer => true
  
  def validate
    unless quantity && quantity >= 0
      errors.add(:quantity, "must be a positive value")
    end
  end
  
  def increment_quantity
    self.quantity += 1
  end

  def decrement_quantity
    self.quantity -= 1
  end
  
  def price
    pe = self.variation ? self.variation.price_effect : 0
    self.product.price + pe
  end
  
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
railscart-0.0.1 starter-app/vendor/plugins/railscart/app/models/cart_item.rb
railscart-0.0.2 starter_app/vendor/plugins/railscart/app/models/cart_item.rb