diff --git a/app/services/cleaner.rb b/app/services/cleaner.rb index 65e7414b..dbf1829b 100644 --- a/app/services/cleaner.rb +++ b/app/services/cleaner.rb @@ -17,14 +17,15 @@ class Cleaner processed_data in [headers, clean_csv, log_csv, data] return if data.empty? - filename = filename(headers:, data:) + filename = filename(headers:, data:, filepath:) write_csv(data: clean_csv, output_filepath:, filename:) write_csv(data: log_csv, output_filepath: log_filepath, prefix: "removed.", filename:) end end end - def filename(headers:, data:) + def filename(headers:, data:, filepath:) + output = [] survey_item_ids = headers.filter(&:present?).filter do |header| header.start_with?("s-", "t-") end.reject { |item| item.end_with? "-1" } @@ -35,15 +36,35 @@ class Cleaner row.district.short_name end.to_set.to_a - districts.join(".").to_s + "." + survey_type.to_s + "." + range + ".csv" + schools = data.map do |row| + row.school.name + end.to_set + + part = filepath&.match(/[\b\s_.]+(part|form)[\W*_](?