From 8364d26e11fd8ca926d54c53548792b6a56e3e8b Mon Sep 17 00:00:00 2001 From: Nelson Jovel Date: Thu, 7 Dec 2023 13:40:02 -0800 Subject: [PATCH] feat: Support SIS categories for race in the form of 'White and Asian' or 'Black, Asian, and white' --- app/services/survey_item_values.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/services/survey_item_values.rb b/app/services/survey_item_values.rb index 6a918ef6..9250b29d 100644 --- a/app/services/survey_item_values.rb +++ b/app/services/survey_item_values.rb @@ -137,7 +137,12 @@ class SurveyItemValues race_codes ||= value_from(pattern: /Race\s*-\s*Qcodes/i) race_codes ||= value_from(pattern: /RACE/i) || "" race_codes ||= [] - race_codes = race_codes.split(",").map { |race| Race.qualtrics_code_from(race) }.map(&:to_i) + race_codes = race_codes.split(",") + .map do |word| + word.split("and") + end.flatten + .reject(&:blank?) + .map { |race| Race.qualtrics_code_from(race) }.map(&:to_i) race_codes = race_codes.reject { |code| code == 5 } if hispanic == "true" && race_codes.count == 1 race_codes = race_codes.push(4) if hispanic == "true" process_races(codes: race_codes)