mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-03-25 01:14:43 +00:00
48 lines
2.0 KiB
Ruby
48 lines
2.0 KiB
Ruby
class DoubleEliminationPlacementPoints
|
|
def initialize(wrestler)
|
|
@wrestler = wrestler
|
|
@number_of_placers = @wrestler.tournament.number_of_placers
|
|
end
|
|
|
|
def calc_points
|
|
if won_bracket_position_size("1/2") > 0
|
|
return PlacementPoints.new(@number_of_placers).firstPlace
|
|
elsif bracket_position_size("1/2") > 0
|
|
return PlacementPoints.new(@number_of_placers).secondPlace
|
|
elsif won_bracket_position_size("3/4") > 0
|
|
return PlacementPoints.new(@number_of_placers).thirdPlace
|
|
elsif bracket_position_size("3/4") > 0
|
|
return PlacementPoints.new(@number_of_placers).fourthPlace
|
|
elsif won_bracket_position_size("5/6") > 0
|
|
return PlacementPoints.new(@number_of_placers).fifthPlace
|
|
elsif (bracket_position_size("Semis") > 0 or bracket_position_size("Conso Semis") > 0) and @number_of_placers >= 6
|
|
return PlacementPoints.new(@number_of_placers).sixthPlace
|
|
elsif won_bracket_position_size("7/8") > 0
|
|
return PlacementPoints.new(@number_of_placers).seventhPlace
|
|
elsif bracket_position_size("Conso Quarter") > 0 and @number_of_placers >= 8
|
|
return PlacementPoints.new(@number_of_placers).eighthPlace
|
|
else
|
|
return 0
|
|
end
|
|
end
|
|
|
|
def bracket_position_size(bracket_position_name)
|
|
@wrestler.all_matches.select{|m| m.bracket_position == bracket_position_name}.size
|
|
end
|
|
|
|
def won_bracket_position_size(bracket_position_name)
|
|
@wrestler.matches_won.select{|m| m.bracket_position == bracket_position_name}.size
|
|
end
|
|
|
|
def bracket_placement_points(bracket_position_name)
|
|
if bracket_position_name == "Did not place"
|
|
return 0
|
|
end
|
|
if @wrestler.participating_matches.where(bracket_position: bracket_position_name).count > 0
|
|
points = Teampointadjust.find_by(tournament_id: @wrestler.tournament.id, points_for_placement: bracket_position_name)
|
|
if points
|
|
# ... existing code ...
|
|
end
|
|
end
|
|
end
|
|
end |