Sha256: 678903cbc302bcd25d95f5e448100fdac99d9cee1d4214fc5e88539db36757f6

Contents?: true

Size: 803 Bytes

Versions: 18

Compression:

Stored size: 803 Bytes

Contents

class Piggybak::Sellable < ActiveRecord::Base
  belongs_to :item, :polymorphic => true, :inverse_of => :piggybak_sellable
  attr_accessible :sku, :description, :price, :quantity, :active, :unlimited_inventory, :item_id, :item_type 
  attr_accessible :item # to allow direct assignment from code or console

  validates_presence_of :sku
  validates_uniqueness_of :sku
  validates_presence_of :description
  validates_presence_of :price
  validates_presence_of :item_type
  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
    "Sellable: #{self.description}"
  end

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

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
piggybak-0.6.18 app/models/piggybak/sellable.rb
piggybak-0.6.17 app/models/piggybak/sellable.rb
piggybak-0.6.16 app/models/piggybak/sellable.rb
piggybak-0.6.15 app/models/piggybak/sellable.rb
piggybak-0.6.13 app/models/piggybak/sellable.rb
piggybak-0.6.12 app/models/piggybak/sellable.rb
piggybak-0.6.11 app/models/piggybak/sellable.rb
piggybak-0.6.10 app/models/piggybak/sellable.rb
piggybak-0.6.9 app/models/piggybak/sellable.rb
piggybak-0.6.8 app/models/piggybak/sellable.rb
piggybak-0.6.7 app/models/piggybak/sellable.rb
piggybak-0.6.6 app/models/piggybak/sellable.rb
piggybak-0.6.5 app/models/piggybak/sellable.rb
piggybak-0.6.4 app/models/piggybak/sellable.rb
piggybak-0.6.3 app/models/piggybak/sellable.rb
piggybak-0.6.2 app/models/piggybak/sellable.rb
piggybak-0.6.1 app/models/piggybak/sellable.rb
piggybak-0.6.0 app/models/piggybak/sellable.rb