sqm-dashboards/app/presenters/analyze/graph/students_by_income.rb
rebuilt b9ba8abf73 Refactor GroupedBarColumnPresenter to accept a configuration so that a
column can by given on the fly (dependency injection). Show Parent
graphs on analyze page.
2025-03-11 12:56:41 -07:00

38 lines
703 B
Ruby

# frozen_string_literal: true
module Analyze
module Graph
class StudentsByIncome
attr_reader :incomes
def initialize(incomes:)
@incomes = incomes
end
def to_s
"Students by income"
end
def slug
"students-by-income"
end
def columns
[].tap do |array|
incomes.each do |income|
array << Analyze::Graph::Column::Income.new(income:)
end
array << Analyze::Graph::Column::AllStudent.new
end
end
def source
Analyze::Source::SurveyData.new(slices: nil)
end
def slice
Analyze::Slice::StudentsByGroup.new
end
end
end
end