From 71c8a0dc996d07e73c75f8b246b8c6c202519992 Mon Sep 17 00:00:00 2001 From: Jacob Cody Wimer Date: Wed, 30 Jan 2019 13:34:27 +0000 Subject: [PATCH] Fixed an infinite loop in pool_order when calculating pool order for a single pool bracket --- app/models/wrestler.rb | 4 ++++ app/services/bracket_advancement/pool_order.rb | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/models/wrestler.rb b/app/models/wrestler.rb index a53ea6a..ef370a6 100644 --- a/app/models/wrestler.rb +++ b/app/models/wrestler.rb @@ -36,6 +36,10 @@ class Wrestler < ActiveRecord::Base def total_points_deducted CalculateWrestlerTeamScore.new(self).deductedPoints end + + def total_pool_points_for_pool_order + CalculateWrestlerTeamScore.new(self).poolPoints + CalculateWrestlerTeamScore.new(self).bonusWinPoints + end def next_match unfinished_matches.first diff --git a/app/services/bracket_advancement/pool_order.rb b/app/services/bracket_advancement/pool_order.rb index b39b61a..da28987 100644 --- a/app/services/bracket_advancement/pool_order.rb +++ b/app/services/bracket_advancement/pool_order.rb @@ -135,10 +135,10 @@ class PoolOrder def teamPoints pointsArray = [] wrestlersWithSamePoints.each do |w| - pointsArray << w.team_points_earned + pointsArray << w.total_pool_points_for_pool_order end mostPoints = pointsArray.max - wrestlersWithLeastDeductedPoints = wrestlersWithSamePoints.select{|w| w.team_points_earned == mostPoints} + wrestlersWithLeastDeductedPoints = wrestlersWithSamePoints.select{|w| w.total_pool_points_for_pool_order == mostPoints} addPointsToWrestlersAhead(wrestlersWithLeastDeductedPoints.first) wrestlersWithLeastDeductedPoints.each do |wr| addPoints(wr)