mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-03-25 01:14:43 +00:00
52 lines
1.8 KiB
Ruby
52 lines
1.8 KiB
Ruby
class PoolToBracketMatchGeneration
|
|
def initialize( tournament )
|
|
@tournament = tournament
|
|
end
|
|
|
|
def generatePoolToBracketMatchesWeight(weight)
|
|
PoolGeneration.new(weight).generatePools()
|
|
last_match = @tournament.matches.where(weight: weight).order(round: :desc).limit(1).first
|
|
highest_round = last_match.round
|
|
PoolBracketGeneration.new(weight, highest_round).generateBracketMatches()
|
|
setOriginalSeedsToWrestleLastPoolRound(weight)
|
|
end
|
|
|
|
def generatePoolToBracketMatches
|
|
@tournament.weights.order(:max).each do |weight|
|
|
PoolGeneration.new(weight).generatePools()
|
|
last_match = @tournament.matches.where(weight: weight).order(round: :desc).limit(1).first
|
|
highest_round = last_match.round
|
|
PoolBracketGeneration.new(weight, highest_round).generateBracketMatches()
|
|
end
|
|
movePoolSeedsToFinalPoolRound
|
|
end
|
|
|
|
def movePoolSeedsToFinalPoolRound
|
|
@tournament.weights.each do |w|
|
|
setOriginalSeedsToWrestleLastPoolRound(w)
|
|
end
|
|
end
|
|
|
|
def setOriginalSeedsToWrestleLastPoolRound(weight)
|
|
pool = 1
|
|
until pool > weight.pools
|
|
wrestler1 = weight.pool_wrestlers_sorted_by_bracket_line(pool).first
|
|
wrestler2 = weight.pool_wrestlers_sorted_by_bracket_line(pool).second
|
|
match = wrestler1.pool_matches.sort_by{|m| m.round}.last
|
|
if match.w1 != wrestler2.id or match.w2 != wrestler2.id
|
|
if match.w1 == wrestler1.id
|
|
SwapWrestlers.new.swap_wrestlers_bracket_lines(match.w2,wrestler2.id)
|
|
elsif match.w2 == wrestler1.id
|
|
SwapWrestlers.new.swap_wrestlers_bracket_lines(match.w1,wrestler2.id)
|
|
end
|
|
end
|
|
pool += 1
|
|
end
|
|
end
|
|
|
|
|
|
def assignLoserNames
|
|
PoolToBracketGenerateLoserNames.new(@tournament).assignLoserNames
|
|
end
|
|
|
|
end |