1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-03-25 01:14:43 +00:00
Files
wrestlingdev.com/app/services/wrestler_services/double_elimination_placement_points.rb

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