class ActiveRecord::DataIntegrity::Collector

collects result info for rendering

Public Class Methods

log(cop, message) click to toggle source
# File lib/active_record/data_integrity/collector.rb, line 8
def log(cop, message)
  data.push(cop: cop, message: message)
end
progress(_cop, char) click to toggle source
# File lib/active_record/data_integrity/collector.rb, line 12
def progress(_cop, char)
  print char
end
render() click to toggle source
# File lib/active_record/data_integrity/collector.rb, line 16
def render
  group_data_by_cop_name.each do |cop_name, items|
    items.each do |item|
      puts "#{Rainbow(cop_name).red}:"\
             " #{Rainbow(item[:cop].model.name).yellow}"\
             " #{item[:message]}"
    end
  end
end

Private Class Methods

data() click to toggle source
# File lib/active_record/data_integrity/collector.rb, line 28
def data
  @data ||= []
end
group_data_by_cop_name() click to toggle source
# File lib/active_record/data_integrity/collector.rb, line 32
def group_data_by_cop_name
  data.each_with_object({}) do |item, hash|
    hash[item[:cop].class.cop_name] ||= []
    hash[item[:cop].class.cop_name] << item
  end
end