From 80ae130aa88f4b5361e4787b01b2c37372085670 Mon Sep 17 00:00:00 2001 From: Jacob Cody Wimer Date: Tue, 5 Feb 2019 14:15:09 +0000 Subject: [PATCH] This fixes a bug where moving from two pools to four did not work --- app/models/weight.rb | 9 +++++++++ app/services/weight_services/generate_pool_numbers.rb | 2 ++ 2 files changed, 11 insertions(+) diff --git a/app/models/weight.rb b/app/models/weight.rb index 05574dd..badb344 100644 --- a/app/models/weight.rb +++ b/app/models/weight.rb @@ -37,6 +37,15 @@ class Weight < ActiveRecord::Base weight_wrestlers = Wrestler.where(:weight_id => self.id) weight_wrestlers.select{|w| w.pool == pool_number} end + + def one_pool_empty + (1..self.pools).each do |pool| + if wrestlers_in_pool(pool).size < 1 + return true + end + end + return false + end def all_pool_matches_finished(pool) @wrestlers = wrestlers_in_pool(pool) diff --git a/app/services/weight_services/generate_pool_numbers.rb b/app/services/weight_services/generate_pool_numbers.rb index fd8c981..0c7518e 100644 --- a/app/services/weight_services/generate_pool_numbers.rb +++ b/app/services/weight_services/generate_pool_numbers.rb @@ -7,6 +7,8 @@ class GeneratePoolNumbers @weight.wrestlers.each do |wrestler| if wrestler.pool and (wrestler.pool) > (@weight.pools) resetPool + elsif @weight.one_pool_empty + resetPool end end if @weight.pools == 4