Sha256: fc16de6c459b80f76a19a51eccee8704e3d31e6894531b36d6187be9b349c513

Contents?: true

Size: 607 Bytes

Versions: 8

Compression:

Stored size: 607 Bytes

Contents

class Piggybak::Sellable < ActiveRecord::Base
  belongs_to :item, :polymorphic => true, :inverse_of => :piggybak_sellable

  validates :sku, presence: true, uniqueness: true
  validates :description, presence: true
  validates :price, presence: true
  validates :item_type, presence: true
  validates_numericality_of :quantity, :only_integer => true, :greater_than_or_equal_to => 0

  has_many :line_items, :as => :reference, :inverse_of => :reference

  def admin_label
    self.description
  end

  def update_inventory(purchased)
    self.update_attribute(:quantity, self.quantity + purchased)
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
piggybak-0.7.7 app/models/piggybak/sellable.rb
piggybak-0.7.6 app/models/piggybak/sellable.rb
piggybak-0.7.5 app/models/piggybak/sellable.rb
piggybak-0.7.4 app/models/piggybak/sellable.rb
piggybak-0.7.3 app/models/piggybak/sellable.rb
piggybak-0.7.2 app/models/piggybak/sellable.rb
piggybak-0.7.1 app/models/piggybak/sellable.rb
piggybak-0.7.0 app/models/piggybak/sellable.rb