class RuboCop::CLI::Command::ShowCops

@api private
for the current directory.
Shows the given cops, or all cops by default, and their configurations

def config_lines(cop)

def config_lines(cop)
  cnf = @config.for_cop(cop)
  cnf.to_yaml.lines.to_a.drop(1).map { |line| "  #{line}" }
end

def cops_of_department(cops, department)

def cops_of_department(cops, department)
  cops.with_department(department).sort!
end

def initialize(env)

def initialize(env)
  super
  # Load the configs so the require()s are done for custom cops
  @config = @config_store.for(Dir.pwd)
end

def print_available_cops

def print_available_cops
  registry = Cop::Registry.global
  show_all = @options[:show_cops].empty?
  puts "# Available cops (#{registry.length}) + config for #{Dir.pwd}: " if show_all
  registry.departments.sort!.each do |department|
    print_cops_of_department(registry, department, show_all)
  end
end

def print_cop_details(cops)

def print_cop_details(cops)
  cops.each do |cop|
    puts '# Supports --autocorrect' if cop.support_autocorrect?
    puts "#{cop.cop_name}:"
    puts config_lines(cop)
    puts
  end
end

def print_cops_of_department(registry, department, show_all)

def print_cops_of_department(registry, department, show_all)
  selected_cops = if show_all
                    cops_of_department(registry, department)
                  else
                    selected_cops_of_department(registry, department)
                  end
  puts "# Department '#{department}' (#{selected_cops.length}):" if show_all
  print_cop_details(selected_cops)
end

def run

def run
  print_available_cops
end

def selected_cops_of_department(cops, department)

def selected_cops_of_department(cops, department)
  cops_of_department(cops, department).select do |cop|
    @options[:show_cops].include?(cop.cop_name)
  end
end