From 123b570bb943cc43916a554ffc1ae66f63221efb Mon Sep 17 00:00:00 2001 From: Nelson Jovel Date: Mon, 6 Nov 2023 21:55:37 -0800 Subject: [PATCH] Detect and print message when there are duplicate headers during cleaning process --- app/services/cleaner.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/services/cleaner.rb b/app/services/cleaner.rb index 91835122..c5fb2d96 100644 --- a/app/services/cleaner.rb +++ b/app/services/cleaner.rb @@ -42,8 +42,12 @@ class Cleaner clean_csv = [] log_csv = [] data = [] - - headers = CSV.parse(file.first).first.to_set + headers = CSV.parse(file.first).first + duplicate_header = headers.detect { |header| headers.count(header) > 1 } + unless duplicate_header.nil? + puts "\n>>>>>>>>>>>>>>>>>> Duplicate header found. This will misalign column headings. Please delete or rename the duplicate column: #{duplicate_header} \n>>>>>>>>>>>>>> \n" + end + headers = headers.to_set headers = headers.merge(Set.new(["Raw Income", "Income", "Raw ELL", "ELL", "Raw SpEd", "SpEd", "Progress Count", "Race", "Gender"])).to_a filtered_headers = include_all_headers(headers:)