X-Git-Url: https://irasnyder.com/gitweb/?a=blobdiff_plain;f=app%2Fmodels%2Fgame.rb;h=ed7f30bde2e1c8f3205b210bda70f416fff89962;hb=bbf13350a73e14c5448f6fb0077126b7d92cdb48;hp=9880b045044bae4d3c59626191fc7bf18e8a40fe;hpb=7f26973835fc8deef03d25d751e92e4c633ae464;p=cs356-p2-videostore.git diff --git a/app/models/game.rb b/app/models/game.rb index 9880b04..ed7f30b 100644 --- a/app/models/game.rb +++ b/app/models/game.rb @@ -1,7 +1,35 @@ -class Game < ActiveRecord::Base - has_one :rentable - - validates_presence_of :title - validates_presence_of :genre +class Game < Rentable + validates_presence_of :game_genre validates_presence_of :platform + + def genre + return Gamegenre.find(game_genre).name + end + + def game_platform + return Gameplatform.find(platform).name + end + + def calculated_price + # FIXME: generate this based on day of week, newrelease + day_of_week = Time.now.to_date.wday + base_fee = GamePolicy.find_by_day(day_of_week).fee + + # Check for newrelease + newrelease_fee = newrelease ? GamePolicy.find_by_day(8).fee : 0.00 + + return base_fee + newrelease_fee + end + + def due_date + # FIXME: generate this based on the day of week, newrelease + # NOTE: a Date.wday will tell you the day of week (0-6, meaning Sunday-Saturday) + day_of_week = Time.now.to_date.wday + base_period = GamePolicy.find_by_day(day_of_week).period + newrelease_period = newrelease ? GamePolicy.find_by_day(8).period : 0 + + period = base_period + newrelease_period + return Time.now.advance(:days => period).to_date + end + end