mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-04-14 00:49:54 +00:00
Placement points added need to test
This commit is contained in:
125
app/models/poolbracket_teampoints_calc.rb
Normal file
125
app/models/poolbracket_teampoints_calc.rb
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
class PoolBracketTeamPointsCalc
|
||||||
|
def initialize(wrestler)
|
||||||
|
@wrestler = wrestler
|
||||||
|
@bracket = wrestler.weight.pool_bracket_type
|
||||||
|
end
|
||||||
|
|
||||||
|
def calcPoints
|
||||||
|
@points = 0
|
||||||
|
whilePointsAreZero { @points = finalMatchPoints }
|
||||||
|
if @bracket == "twoPoolsToSemi"
|
||||||
|
whilePointsAreZero { @points = twoPoolsToSemi }
|
||||||
|
end
|
||||||
|
if @bracket == "fourPoolsToQuarter"
|
||||||
|
whilePointsAreZero { @points = fourPoolsToQuarter }
|
||||||
|
end
|
||||||
|
if @bracket == "fourPoolsToSemi"
|
||||||
|
whilePointsAreZero { @points = fourPoolsToSemi }
|
||||||
|
end
|
||||||
|
return @points
|
||||||
|
end
|
||||||
|
|
||||||
|
def whilePointsAreZero
|
||||||
|
if @points == 0
|
||||||
|
yield
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def bracket_position_size(bracket_position_name)
|
||||||
|
@wrestler.allMatches.select{|m| m.bracket_position == bracket_position_name}.size
|
||||||
|
end
|
||||||
|
|
||||||
|
def won_bracket_position_size(bracket_position_name)
|
||||||
|
@wrestler.matchesWon.select{|m| m.bracket_position == bracket_position_name}.size
|
||||||
|
end
|
||||||
|
|
||||||
|
def fourPoolsToQuarter
|
||||||
|
if bracket_position_size("Semis") > 0
|
||||||
|
return fourthPlace
|
||||||
|
end
|
||||||
|
if bracket_position_size("Quarter") > 0
|
||||||
|
return eighthPlace
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
def twoPoolsToSemi
|
||||||
|
if bracket_position_size("Semis") > 0
|
||||||
|
return fourthPlace
|
||||||
|
end
|
||||||
|
if bracket_position_size("Conso Semis") > 0
|
||||||
|
return eighthPlace
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
def fourPoolsToSemi
|
||||||
|
if bracket_position_size("Semis") > 0
|
||||||
|
return fourthPlace
|
||||||
|
end
|
||||||
|
if bracket_position_size("Conso Semis") > 0
|
||||||
|
return eighthPlace
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
def finalMatchPoints
|
||||||
|
if won_bracket_position_size("1/2") > 0
|
||||||
|
return firstPlace
|
||||||
|
end
|
||||||
|
if won_bracket_position_size("3/4") > 0
|
||||||
|
return thirdPlace
|
||||||
|
end
|
||||||
|
if won_bracket_position_size("5/6") > 0
|
||||||
|
return fifthPlace
|
||||||
|
end
|
||||||
|
if won_bracket_position_size("7/8") > 0
|
||||||
|
return seventhPlace
|
||||||
|
end
|
||||||
|
if bracket_position_size("1/2") > 0
|
||||||
|
return secondPlace
|
||||||
|
end
|
||||||
|
if bracket_position_size("3/4") > 0
|
||||||
|
return fourthPlace
|
||||||
|
end
|
||||||
|
if bracket_position_size("5/6") > 0
|
||||||
|
return sixthPlace
|
||||||
|
end
|
||||||
|
if bracket_position_size("7/8") > 0
|
||||||
|
return eighthPlace
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
def firstPlace
|
||||||
|
16
|
||||||
|
end
|
||||||
|
|
||||||
|
def secondPlace
|
||||||
|
12
|
||||||
|
end
|
||||||
|
|
||||||
|
def thirdPlace
|
||||||
|
10
|
||||||
|
end
|
||||||
|
|
||||||
|
def fourthPlace
|
||||||
|
9
|
||||||
|
end
|
||||||
|
|
||||||
|
def fifthPlace
|
||||||
|
7
|
||||||
|
end
|
||||||
|
|
||||||
|
def sixthPlace
|
||||||
|
6
|
||||||
|
end
|
||||||
|
|
||||||
|
def seventhPlace
|
||||||
|
4
|
||||||
|
end
|
||||||
|
|
||||||
|
def eighthPlace
|
||||||
|
3
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -16,7 +16,11 @@ class Wrestler < ActiveRecord::Base
|
|||||||
|
|
||||||
def totalTeamPoints
|
def totalTeamPoints
|
||||||
points = 0.0
|
points = 0.0
|
||||||
points = points + (poolWins.size * 1) + (pinWins.size * 2) + (techWins.size * 1.5) + (majorWins.size * 1)
|
points = points + (poolWins.size * 1) + (pinWins.size * 2) + (techWins.size * 1.5) + (majorWins.size * 1) + placementPoints
|
||||||
|
end
|
||||||
|
|
||||||
|
def placementPoints
|
||||||
|
PoolBracketTeamPointsCalc.new(self).calcPoints
|
||||||
end
|
end
|
||||||
|
|
||||||
def totalDeductedPoints
|
def totalDeductedPoints
|
||||||
|
|||||||
Reference in New Issue
Block a user