class Special < ActiveRecord::Base belongs_to :bar validates_presence_of :bar_id, :name, :day validates_numericality_of :price, :if => Proc.new{ |p| not p.price.blank? } def self.get_for_week(bar_id) specials = Special.find(:all, :conditions => ['bar_id = ?', bar_id]) Special.weekify(specials) end def self.weekify(specials) week = Array.new(7){|i| specials.find_all{|s| s.day == i}} week.each_with_index{ |day, i| week[i] = [nil] if day.empty? } end