You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
982 B
29 lines
982 B
module InvalidLogsHelper |
|
def count_and_display_invalid_logs(model, log_type, year) |
|
invalid_ids = [] |
|
total_logs_seen = 0 |
|
|
|
model.filter_by_year(year).find_in_batches(batch_size: 1000) do |batch| |
|
batch.each do |log| |
|
total_logs_seen += 1 |
|
invalid_ids << log.id unless log.valid? |
|
end |
|
|
|
Rails.logger.debug "Progress: #{invalid_ids.size} invalid logs found out of #{total_logs_seen} logs seen so far." |
|
end |
|
|
|
Rails.logger.info "Number of invalid #{log_type} for year #{year}: #{invalid_ids.size}" |
|
Rails.logger.info "Invalid #{log_type} IDs: #{invalid_ids.join(', ')}" |
|
end |
|
|
|
def surface_invalid_logs(model, log_type, year) |
|
model.filter_by_year(year).find_in_batches(batch_size: 1000) do |batch| |
|
batch.each do |log| |
|
next if log.valid? |
|
|
|
error_messages = log.errors.full_messages.join(";\n") |
|
Rails.logger.info "#{log_type} ID: #{log.id} \n Errors----\n #{error_messages}" |
|
end |
|
end |
|
end |
|
end
|
|
|