box-o-sand/map-mash/app/models/mash_tournament.rb
Dan Buch d834b81003 Add 'map-mash/' from commit '7f16409d1257e7471fef35c18bcdf32856b908e3'
git-subtree-dir: map-mash
git-subtree-mainline: eacc351b17
git-subtree-split: 7f16409d12
2013-01-09 23:59:47 -05:00

40 lines
816 B
Ruby

class MashTournament < ActiveRecord::Base
belongs_to :requester
has_many :mashes
has_many :rounds, :class_name => 'MashTournamentRound'
def next_unplayed_mash
mash = self.mashes.unplayed.first
if not mash
filled = self.builder.fill_in_next_round
if filled
return self.mashes.unplayed.first
else
return nil
end
else
return mash
end
end
def total_rounds_options
@total_rounds_options ||= [3, 4, 5, 6, 7]
end
def done?
self.rounds.collect(&:done?).uniq == [true]
end
def round(number = 0)
MashTournamentRound.find_by_mash_tournament_id(self.id,
:conditions => {:number => number}
)
end
def builder
MashTournamentBuilder.new(
self, MashTournament, MashTournamentRound, Map, Mash
)
end
end