1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-04-09 23:44:52 +00:00

Wrestler pool number is now saved in db. Pool number generation moved to it's own class.

This commit is contained in:
2017-03-02 18:11:21 +00:00
parent 8fa529dc5f
commit 3f72a912b6
12 changed files with 177 additions and 106 deletions

View File

@@ -130,7 +130,7 @@ class Match < ActiveRecord::Base
end
def poolNumber
if self.w1?
wrestler1.generatePoolNumber
wrestler1.pool
end
end

View File

@@ -17,8 +17,13 @@ class Weight < ActiveRecord::Base
# self.tournament.destroyAllMatches
end
def wrestlersForPool(pool)
self.wrestlers.select{|w| w.generatePoolNumber == pool}
def wrestlersForPool(poolNumber)
#For some reason this does not work
# wrestlers.select{|w| w.pool == poolNumber}
#This does...
weightWrestlers = Wrestler.where(:weight_id => self.id)
weightWrestlers.select{|w| w.pool == poolNumber}
end
def allPoolMatchesFinished(pool)
@@ -43,7 +48,8 @@ class Weight < ActiveRecord::Base
end
def poolSeedOrder(pool)
wrestlersForPool(pool).sort_by{|w| [w.original_seed ? 0 : 1, w.original_seed || 0]}
# wrestlersForPool(pool).sort_by{|w| [w.original_seed ? 0 : 1, w.original_seed || 0]}
return wrestlersForPool(pool).sort_by{|w|w.seed}
end
@@ -51,79 +57,6 @@ class Weight < ActiveRecord::Base
SwapWrestlers.new.swapWrestlers(wrestler1_id,wrestler2_id)
end
def returnPoolNumber(wrestler)
if self.pools == 4
@wrestlers = fourPoolNumbers(self.wrestlers)
elsif self.pools == 2
@wrestlers = twoPoolNumbers(self.wrestlers)
elsif self.pools == 1
@wrestlers = onePoolNumbers(self.wrestlers)
end
@wrestler = @wrestlers.select{|w| w.id == wrestler.id}.first
return @wrestler.poolNumber
end
def onePoolNumbers(poolWrestlers)
poolWrestlers.sort_by{|x| x.seed }.each do |w|
w.poolNumber = 1
end
return poolWrestlers
end
def twoPoolNumbers(poolWrestlers)
pool = 1
poolWrestlers.sort_by{|x| x.seed }.reverse.each do |w|
if w.seed == 1
w.poolNumber = 1
elsif w.seed == 2
w.poolNumber = 2
elsif w.seed == 3
w.poolNumber = 2
elsif w.seed == 4
w.poolNumber = 1
else
w.poolNumber = pool
end
if pool < 2
pool = pool + 1
else
pool = 1
end
end
return poolWrestlers
end
def fourPoolNumbers(poolWrestlers)
pool = 1
poolWrestlers.sort_by{|x| x.seed }.reverse.each do |w|
if w.seed == 1
w.poolNumber = 1
elsif w.seed == 2
w.poolNumber = 2
elsif w.seed == 3
w.poolNumber = 3
elsif w.seed == 4
w.poolNumber = 4
elsif w.seed == 8
w.poolNumber = 1
elsif w.seed == 7
w.poolNumber = 2
elsif w.seed == 6
w.poolNumber = 3
elsif w.seed == 5
w.poolNumber = 4
else
w.poolNumber = pool
end
if pool < 4
pool = pool + 1
else
pool = 1
end
end
return poolWrestlers
end
def bracket_size
wrestlers.size

View File

@@ -4,7 +4,7 @@ class Wrestler < ActiveRecord::Base
has_one :tournament, through: :weight
has_many :matches, through: :weight
has_many :deductedPoints, class_name: "Teampointadjust"
attr_accessor :poolNumber, :poolAdvancePoints, :originalId, :swapId
attr_accessor :poolAdvancePoints, :originalId, :swapId
validates :name, :weight_id, :school_id, presence: true
@@ -103,10 +103,6 @@ class Wrestler < ActiveRecord::Base
end
end
def generatePoolNumber
self.weight.returnPoolNumber(self)
end
def boutByRound(round)
round_match = allMatches.select{|m| m.round == round}.first
if round_match.blank?
@@ -122,7 +118,7 @@ class Wrestler < ActiveRecord::Base
def poolMatches
pool_matches = allMatches.select{|m| m.bracket_position == "Pool"}
pool_matches.select{|m| m.poolNumber == self.generatePoolNumber}
pool_matches.select{|m| m.poolNumber == self.pool}
end
def hasAPoolBye