Refactor variance chart to make view responsible for sorting measures

This commit is contained in:
Liam Morley 2021-10-28 12:05:41 -04:00
parent f5e5abc27e
commit ad7dd85524
9 changed files with 58 additions and 62 deletions

View file

@ -1,24 +1,16 @@
class DashboardController < SqmApplicationController
def index
@measure_graph_row_presenters = measure_ids
.map { |measure_id| Measure.find_by_measure_id measure_id }
.map(&method(:presenter_for_measure))
.sort
.reverse
@variance_chart_row_presenters = Measure.all.map(&method(:presenter_for_measure))
@category_presenters = SqmCategory.sorted.map { |sqm_category| CategoryPresenter.new(category: sqm_category) }
end
private
def measure_ids
Measure.all.map(&:measure_id)
end
def presenter_for_measure(measure)
score = SurveyItemResponse.score_for_measure(measure: measure, school: @school, academic_year: @academic_year)
MeasureGraphRowPresenter.new(measure: measure, score: score)
VarianceChartRowPresenter.new(measure: measure, score: score)
end
end