X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=app%2Fmodels%2Fproduct.rb;h=4cd770b8408e024060066222912e8afdb473d4e7;hb=09cd438e77dd418b03b67e3e6a4b48ec95b72d1d;hp=077a8197956de5d49c2de53c2b9aefd6e8477ff8;hpb=e580d4626176c8deb6f44fec7e66f980b5923b29;p=depot.git diff --git a/app/models/product.rb b/app/models/product.rb index 077a819..4cd770b 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -1,2 +1,14 @@ 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." + +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