X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=app%2Fmodels%2Fproduct.rb;h=9cc9488c6030d3a2ba776359b759115f1df07e70;hb=94adcb93b1eac6b07408de9db7f12d46e9e7d390;hp=077a8197956de5d49c2de53c2b9aefd6e8477ff8;hpb=e580d4626176c8deb6f44fec7e66f980b5923b29;p=depot.git diff --git a/app/models/product.rb b/app/models/product.rb index 077a819..9cc9488 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -1,2 +1,20 @@ class Product < ActiveRecord::Base + validates_presence_of :title, :description, :image_url + validates_numericality_of :price + validate :price_must_be_at_least_a_penny + validates_uniqueness_of :title + validates_format_of :image_url, + :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()", + :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 + end end