sqm-dashboards/app/presenters/analyze/graph/students_by_grade.rb
rebuilt c70f051e1e Refactor groups
Refactor graphs to take new slice format

Add Students and Teachers and Parents graph.  Add selector for that
graph
2025-03-20 13:12:52 -07:00

42 lines
831 B
Ruby

# frozen_string_literal: true
module Analyze
module Graph
class StudentsByGrade
attr_reader :grades
def initialize(grades:)
@grades = grades
end
def to_s
"Students by Grade"
end
def slug
"students-by-grade"
end
def columns
[].tap do |array|
grades.each do |grade|
array << Analyze::Graph::Column::Grade.new(grade: grade)
end
array << Analyze::Graph::Column::AllStudent.new
end
end
def source
Analyze::Source::SurveyData.new(slices: [slice], graph: self)
end
def slice
Analyze::Slice::StudentsByGroup.new(graph: self)
end
def group
Analyze::Group::Base.new(name: "Grade", slug: "grade", graph: self)
end
end
end
end