X-Git-Url: https://irasnyder.com/gitweb/?a=blobdiff_plain;f=app%2Fmodels%2Fvideo_policy.rb;fp=app%2Fmodels%2Fvideo_policy.rb;h=ec1e7041aefde23aa52a159b0956bed65244feda;hb=09ddd1ef5546ec679c832c7cefb93f00125c96c6;hp=0000000000000000000000000000000000000000;hpb=93daca12cd904df11a8faadda08e487e9a4de8b7;p=cs356-p2-videostore.git diff --git a/app/models/video_policy.rb b/app/models/video_policy.rb new file mode 100644 index 0000000..ec1e704 --- /dev/null +++ b/app/models/video_policy.rb @@ -0,0 +1,35 @@ +class VideoPolicy < ActiveRecord::Base + validates_presence_of :day + validates_presence_of :fee + validates_presence_of :period + validates_presence_of :description + + validates_numericality_of :day + validates_numericality_of :fee + validates_numericality_of :period + + # Find the base fee for today + def todays_fee + # Gets the current day of the week in 0-6 == Sun-Sat form + day_of_week = Time.now.to_date.wday + return VideoPolicy.find_by_day(day_of_week).fee + end + + # Find the base rental period for today + def todays_period + # Gets the current day of the week in 0-6 == Sun-Sat form + day_of_week = Time.now.to_date.wday + return VideoPolicy.find_by_day(day_of_week).period + end + + # Find the fee for overdue videos (per day) + def overdue_fee + overdue_day = 7 + return VideoPolicy.find_by_day(overdue_day).fee + end + + protected + def validate + errors.add(:fee, "must be greater than $0.01") if fee < 0.01 + end +end