Optimize SurveyResponseAggregator via a join

[Finishes #179425717]
pull/1/head
Alex Basson 4 years ago
parent f5724407f2
commit 18ddfaaaf8

@ -8,8 +8,8 @@ class SurveyResponseAggregator
def self.score(academic_year:, school:, measure:) def self.score(academic_year:, school:, measure:)
SurveyItemResponse SurveyItemResponse
.where(academic_year: academic_year, school: school) .where(academic_year: academic_year, school: school)
.filter { |survey_item_response| survey_item_response.survey_item.measure == measure } .joins(:survey_item).where('survey_items.measure_id': measure.id)
.map { |survey_response| survey_response.likert_score } .map { |survey_item_response| survey_item_response.likert_score }
.average .average
end end
end end

Loading…
Cancel
Save