You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
438 B
15 lines
438 B
# frozen_string_literal: true
|
|
|
|
class Score < Struct.new(:average, :meets_teacher_threshold?, :meets_student_threshold?, :meets_admin_data_threshold?)
|
|
NIL_SCORE = Score.new(nil, false, false, false)
|
|
def in_zone?(zone:)
|
|
return false if average.nil? || average.is_a?(Float) && average.nan?
|
|
|
|
average.between?(zone.low_benchmark, zone.high_benchmark)
|
|
end
|
|
|
|
def blank?
|
|
average.nil? || average.zero? || average.nan?
|
|
end
|
|
end
|