You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
box-o-sand/rails/map-mash/app/models/mash_tournament.rb

36 lines
736 B

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 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