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