X-Git-Url: https://irasnyder.com/gitweb/?a=blobdiff_plain;f=app%2Fmodels%2Fpurchase.rb;h=0f018131b54b6315dec82eb9f20ce5992c856fcc;hb=refs%2Ftags%2Fturned-in;hp=023f423a730ee39a377f17511ac0b9cce19f3cf2;hpb=97d39268c0b348898dca1ec24552eb26a94ae546;p=cs356-p2-videostore.git diff --git a/app/models/purchase.rb b/app/models/purchase.rb index 023f423..0f01813 100644 --- a/app/models/purchase.rb +++ b/app/models/purchase.rb @@ -1,4 +1,28 @@ class Purchase < ActiveRecord::Base belongs_to :customer - belongs_to :purchaseable, :polymorphic => true + + validates_presence_of :customer_id + validates_presence_of :date + validates_presence_of :price + validates_numericality_of :price + + def title + if self.class == MerchandisePurchase + return merchandise.title + elsif self.class == RentablePurchase + return rentable.title + elsif self.class == BonusPurchase + return rentable.title + else + return 'Late Fees' + end + end + + protected + def validate + errors.add(:price, "cannot be negative") if price < 0 + # Need to leave this out for bonuses + #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