class RuboCop::Select::CLI

Attributes

config_store[R]
options[R]
output[R]

Public Class Methods

new() click to toggle source
# File lib/rubocop/select/cli.rb, line 6
def initialize
  @options = {}
  @config_store = ::RuboCop::ConfigStore.new
  @output = $stdout
end

Public Instance Methods

run(args = ARGV) click to toggle source

Entry point for the application logic. Here we do the command line arguments processing and inspect the target files @return [Fixnum] UNIX exit code

# File lib/rubocop/select/cli.rb, line 15
def run(args = ARGV)
  @options, paths = ::RuboCop::Options.new.parse(args)
  act_on_options

  target_finder = ::RuboCop::TargetFinder.new(@config_store)
  full_scan_files = target_finder.find('')
  @output.puts File.intersect(full_scan_files, Dir.pwd, paths, Dir.pwd)
  0
rescue StandardError => e
  $stderr.puts e.message
  $stderr.puts e.backtrace
  return 1
end

Private Instance Methods

act_on_options() click to toggle source
# File lib/rubocop/select/cli.rb, line 31
def act_on_options
  handle_exiting_options

  ConfigLoader.debug = @options[:debug]
  ConfigLoader.auto_gen_config = @options[:auto_gen_config]

  @config_store.options_config = @options[:config] if @options[:config]
end
handle_exiting_options() click to toggle source
# File lib/rubocop/select/cli.rb, line 40
def handle_exiting_options
  return unless ::RuboCop::Options::EXITING_OPTIONS.any? { |o| @options.key? o }

  puts RuboCop::Select.version(false) if @options[:version]
  puts RuboCop::Select.version(true) if @options[:verbose_version]
  exit(0)
end