Add Rental Policies and Limits
[cs356-p2-videostore.git] / app / models / purchase.rb
index e688f99..26cf518 100644 (file)
@@ -1,2 +1,23 @@
 class Purchase < ActiveRecord::Base
+  belongs_to :customer
+
+  validates_presence_of :customer_id
+  validates_presence_of :date
+  validates_presence_of :price
+  validates_numericality_of :price
+
+  def title
+    if type == MerchandisePurchase
+      return merchandise.title
+    else
+      return rentable.title
+    end
+  end
+
+  protected
+  def validate
+    errors.add(:price, "cannot be negative") if price < 0
+    errors.add(:price, "cannot be less than $0.01") if price < 0.01
+    errors.add(:customer_id, "does not exist in the database") if customer.nil?
+  end
 end