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