From a2691b9f88e12b7880063febdd45a8745694148e Mon Sep 17 00:00:00 2001 From: Malaber <32635600+Malaber@users.noreply.github.com> Date: Tue, 18 Jun 2019 22:31:52 +0200 Subject: [PATCH] Cache group_score in variable in sort function --- app/services/group_stage_service.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/services/group_stage_service.rb b/app/services/group_stage_service.rb index 5b9f1ce..6490980 100644 --- a/app/services/group_stage_service.rb +++ b/app/services/group_stage_service.rb @@ -62,12 +62,15 @@ class GroupStageService # @return [Array] of teams def teams_sorted_by_group_scores(group) group.teams.sort do |a, b| - [group.group_scores.find_by(team: b).group_points, - group.group_scores.find_by(team: b).difference_in_points, - group.group_scores.find_by(team: b).scored_points] <=> - [group.group_scores.find_by(team: a).group_points, - group.group_scores.find_by(team: a).difference_in_points, - group.group_scores.find_by(team: a).scored_points] + group_score_a = group.group_scores.find_by(team: a) + group_score_b = group.group_scores.find_by(team: b) + + [group_score_b.group_points, + group_score_b.difference_in_points, + group_score_b.scored_points] <=> + [group_score_a.group_points, + group_score_a.difference_in_points, + group_score_a.scored_points] end end