mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-08 23:18:18 -07:00
29 lines
866 B
Ruby
29 lines
866 B
Ruby
class Subcategory < ActiveRecord::Base
|
|
belongs_to :category
|
|
|
|
has_many :measures
|
|
|
|
def score(school:, academic_year:)
|
|
scores = measures.includes([:survey_items]).map do |measure|
|
|
measure.score(school:, academic_year:).average
|
|
end
|
|
scores = scores.reject(&:nil?)
|
|
scores.average
|
|
end
|
|
|
|
def student_response_rate(school:, academic_year:)
|
|
@student_response_rate ||= Hash.new do |memo|
|
|
memo[[school, academic_year]] = StudentResponseRate.new(subcategory: self, school:, academic_year:)
|
|
end
|
|
|
|
@student_response_rate[[school, academic_year]]
|
|
end
|
|
|
|
def teacher_response_rate(school:, academic_year:)
|
|
@teacher_response_rate ||= Hash.new do |memo|
|
|
memo[[school, academic_year]] = TeacherResponseRate.new(subcategory: self, school:, academic_year:)
|
|
end
|
|
|
|
@teacher_response_rate[[school, academic_year]]
|
|
end
|
|
end
|