mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-03-25 01:14:43 +00:00
54 lines
1.2 KiB
Ruby
54 lines
1.2 KiB
Ruby
class Tournamentmatchgen
|
|
|
|
def initialize(tournament)
|
|
@tournament = tournament
|
|
@matches = @tournament.matches
|
|
end
|
|
|
|
def genMatches
|
|
if @tournament.tournament_type == "Pool to bracket"
|
|
@matches = poolToBracket()
|
|
end
|
|
return @matches
|
|
end
|
|
|
|
def poolToBracket
|
|
destroyMatches
|
|
buildTournamentWeights
|
|
generateMatches
|
|
saveMatches
|
|
return @matches
|
|
end
|
|
|
|
def destroyMatches
|
|
@tournament.destroyAllMatches
|
|
@matches = []
|
|
end
|
|
|
|
def buildTournamentWeights
|
|
@tournament.weights.sort_by{|x|[x.max]}.each do |weight|
|
|
@wrestlers = weight.wrestlers
|
|
@matches = Pool.new.generatePools(weight, @tournament.id, @matches)
|
|
@weight_matches = @matches.select{|m| m.weight_id == weight.id }
|
|
@last_match = @weight_matches.sort_by{|m| m.round}.last
|
|
@highest_round = @last_match.round
|
|
@matches = Poolbracket.new.generateBracketMatches(@matches, weight, @highest_round)
|
|
end
|
|
end
|
|
|
|
def generateMatches
|
|
@matches =
|
|
Losernamegen.new.assignLoserNames(
|
|
Boutgen.new.assignBouts(@matches, @tournament.weights),
|
|
@tournament.weights)
|
|
end
|
|
|
|
def saveMatches
|
|
@matches.each do |m|
|
|
m.tournament_id = @tournament.id
|
|
m.save
|
|
end
|
|
end
|
|
|
|
end
|