diff --git a/app/helpers/invalid_logs_helper.rb b/app/helpers/invalid_logs_helper.rb new file mode 100644 index 000000000..56d5481ee --- /dev/null +++ b/app/helpers/invalid_logs_helper.rb @@ -0,0 +1,23 @@ +module InvalidLogsHelper + def count_and_display_invalid_logs(model, log_type, year) + invalid_logs = fetch_invalid_logs(model, year) + Rails.logger.debug "Number of invalid #{log_type} for year #{year}: #{invalid_logs.size}" + Rails.logger.debug "Invalid #{log_type} IDs: #{invalid_logs.map(&:id).join(', ')}" + end + + def surface_invalid_logs(model, log_type, year) + invalid_logs = fetch_invalid_logs(model, year) + if invalid_logs.any? + invalid_logs.each do |log| + Rails.logger.debug "#{log_type} ID: #{log.id}" + log.errors.full_messages.each { |message| Rails.logger.debug " - #{message}" } + end + else + Rails.logger.debug "No invalid #{log_type} found for year #{year}." + end + end + + def fetch_invalid_logs(model, year) + model.filter_by_year(year).reject(&:valid?) + end +end diff --git a/lib/helpers/invalid_logs_helper.rb b/lib/helpers/invalid_logs_helper.rb deleted file mode 100644 index 090a52525..000000000 --- a/lib/helpers/invalid_logs_helper.rb +++ /dev/null @@ -1,27 +0,0 @@ -module Helpers - module InvalidLogsHelper - module_function - - def count_and_display_invalid_logs(model, log_type, year) - invalid_logs = fetch_invalid_logs(model, year) - puts "Number of invalid #{log_type} for year #{year}: #{invalid_logs.size}" - puts "Invalid #{log_type} IDs: #{invalid_logs.map(&:id).join(', ')}" - end - - def surface_invalid_logs(model, log_type, year) - invalid_logs = fetch_invalid_logs(model, year) - if invalid_logs.any? - invalid_logs.each do |log| - puts "#{log_type} ID: #{log.id}" - log.errors.full_messages.each { |message| puts " - #{message}" } - end - else - puts "No invalid #{log_type} found for year #{year}." - end - end - - def fetch_invalid_logs(model, year) - model.filter_by_year(year).reject(&:valid?) - end - end -end diff --git a/lib/tasks/invalid_logs.rake b/lib/tasks/invalid_logs.rake index a5637ef84..a132c17fa 100644 --- a/lib/tasks/invalid_logs.rake +++ b/lib/tasks/invalid_logs.rake @@ -4,18 +4,20 @@ namespace :logs do desc "Count the number of invalid LettingsLog and SalesLog for a given year" task :count_invalid, [:year] => :environment do |_task, args| include CollectionTimeHelper + include InvalidLogsHelper year = args[:year] || current_collection_year - InvalidLogsHelper.count_and_display_invalid_logs(LettingsLog, "LettingsLog", year) - InvalidLogsHelper.count_and_display_invalid_logs(SalesLog, "SalesLog", year) + count_and_display_invalid_logs(LettingsLog, "LettingsLog", year) + count_and_display_invalid_logs(SalesLog, "SalesLog", year) end desc "Surface all invalid logs and output their error messages for a given year" task :surface_invalid, [:year] => :environment do |_task, args| include CollectionTimeHelper + include InvalidLogsHelper year = args[:year] || current_collection_year - InvalidLogsHelper.surface_invalid_logs(LettingsLog, "LettingsLog", year) - InvalidLogsHelper.surface_invalid_logs(SalesLog, "SalesLog", year) + surface_invalid_logs(LettingsLog, "LettingsLog", year) + surface_invalid_logs(SalesLog, "SalesLog", year) end end