parent
e90e6a4f0f
commit
6b2d51c331
@ -0,0 +1,49 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module Analyze
|
||||||
|
module Graph
|
||||||
|
module Column
|
||||||
|
class Language < ColumnBase
|
||||||
|
attr_reader :language, :label
|
||||||
|
|
||||||
|
def initialize(languages:, label:)
|
||||||
|
@language = languages
|
||||||
|
@label = label
|
||||||
|
end
|
||||||
|
|
||||||
|
def basis
|
||||||
|
"parent surveys"
|
||||||
|
end
|
||||||
|
|
||||||
|
def show_irrelevancy_message?(measure:)
|
||||||
|
false
|
||||||
|
end
|
||||||
|
|
||||||
|
def show_insufficient_data_message?(measure:, school:, academic_years:)
|
||||||
|
false
|
||||||
|
end
|
||||||
|
|
||||||
|
def type
|
||||||
|
:parent
|
||||||
|
end
|
||||||
|
|
||||||
|
def n_size(measure:, school:, academic_year:)
|
||||||
|
SurveyItemResponse.joins([parent: :languages]).where(languages: { designation: designations }, school:, academic_year:).select(:parent_id).distinct.count
|
||||||
|
end
|
||||||
|
|
||||||
|
def score(measure:, school:, academic_year:)
|
||||||
|
average = SurveyItemResponse.joins([parent: :languages]).where(languages: { designation: designations }, school:, academic_year:).average(:likert_score)
|
||||||
|
|
||||||
|
Score.new(average:,
|
||||||
|
meets_teacher_threshold: false,
|
||||||
|
meets_student_threshold: true,
|
||||||
|
meets_admin_data_threshold: false)
|
||||||
|
end
|
||||||
|
|
||||||
|
def designations
|
||||||
|
language.map(&:designation)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
Loading…
Reference in new issue