X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=app%2Fmodels%2Fproduct.rb;h=4854ee5c213d4f31da3bae6e6a31466582157667;hb=HEAD;hp=4cd770b8408e024060066222912e8afdb473d4e7;hpb=09cd438e77dd418b03b67e3e6a4b48ec95b72d1d;p=depot.git diff --git a/app/models/product.rb b/app/models/product.rb index 4cd770b..4854ee5 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -1,4 +1,7 @@ class Product < ActiveRecord::Base + has_many :line_items + has_many :orders, :through => :line_items + validates_presence_of :title, :description, :image_url validates_numericality_of :price validate :price_must_be_at_least_a_penny @@ -7,6 +10,12 @@ class Product < ActiveRecord::Base :with => %r{\.(gif|jpg|png)$}i, :message => "must be a URL for GIF, JPG, or PNG image." + def self.find_products_for_sale + find(:all, + :conditions => "date_available <= now() and (date_available_until is null or date_available_until >= now())", + :order => :title) + end + protected def price_must_be_at_least_a_penny errors.add(:price, 'should be at least 0.01') if price.nil? || price < 0.01