From c0a8905fbae9d8a3e552a991ab12bd9a76521de6 Mon Sep 17 00:00:00 2001 From: Nelson Jovel Date: Fri, 4 Mar 2022 14:53:51 +0100 Subject: [PATCH] Cap response rate at 100 for both students and teachers --- app/models/response_rate.rb | 15 ++++++++++----- app/models/teacher_response_rate.rb | 8 -------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/app/models/response_rate.rb b/app/models/response_rate.rb index c6b9ed2a..e287cd8c 100644 --- a/app/models/response_rate.rb +++ b/app/models/response_rate.rb @@ -1,6 +1,6 @@ module ResponseRate - TEACHER_RATE_THRESHOLD = 0.25 - STUDENT_RATE_THRESHOLD = 0.25 + TEACHER_RATE_THRESHOLD = 25 + STUDENT_RATE_THRESHOLD = 25 def initialize(subcategory:, school:, academic_year:) @subcategory = subcategory @@ -15,14 +15,19 @@ module ResponseRate return 0 unless total_possible_responses.positive? - (average_responses_per_survey_item / total_possible_responses.to_f * 100).round + response_rate = (average_responses_per_survey_item / total_possible_responses.to_f * 100).round + cap_at_100(response_rate) end def meets_student_threshold? - rate >= STUDENT_RATE_THRESHOLD * 100 + rate >= STUDENT_RATE_THRESHOLD end def meets_teacher_threshold? - rate >= TEACHER_RATE_THRESHOLD * 100 + rate >= TEACHER_RATE_THRESHOLD + end + + def cap_at_100(response_rate) + response_rate > 100 ? 100 : response_rate end end diff --git a/app/models/teacher_response_rate.rb b/app/models/teacher_response_rate.rb index 97c801f4..0bbdf7ae 100644 --- a/app/models/teacher_response_rate.rb +++ b/app/models/teacher_response_rate.rb @@ -1,16 +1,8 @@ class TeacherResponseRate include ResponseRate - def rate - cap_at_100(super) - end - private - def cap_at_100(response_rate) - response_rate > 100 ? 100 : response_rate - end - def survey_item_count @survey_item_count ||= @subcategory.measures.map { |measure| measure.teacher_survey_items.count }.sum end