Class: RuboCop::Codetakt::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/rubocop/codetakt/cli.rb

Constant Summary collapse

CONFIG_FILE_NAME =
'.rubocop.yml'.freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details



32
33
34
35
# File 'lib/rubocop/codetakt/cli.rb', line 32

def self.print_help
  puts 'rubocop-codetakt commands:'
  puts '  init - Setup .rubocop.yml'
end

.retrieve_command_name(args) ⇒ Object



27
28
29
30
# File 'lib/rubocop/codetakt/cli.rb', line 27

def self.retrieve_command_name(args)
  meth = args.first.to_s unless args.empty?
  args.shift if meth && (meth !~ /^-/)
end

.start(args) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/rubocop/codetakt/cli.rb', line 6

def self.start(args)
  action_name = retrieve_command_name(args)
  unless action_name
    print_help
    exit
  end

  instance = self.new
  if instance.public_methods(false).include?(action_name.to_sym)
    instance.__send__(action_name, args)
    exit
  end

  puts "Could not find command #{action_name}."
  print_help
  exit(1)
rescue => e
  puts e.message
  exit(1)
end

Instance Method Details

#init(args) ⇒ Object



38
39
40
41
42
43
44
# File 'lib/rubocop/codetakt/cli.rb', line 38

def init(args)
  raise 'usage: rubocop-codetakt init' unless args.empty?

  template_path = File.expand_path('../../../templates', __dir__)
  puts "#{File.exist?(CONFIG_FILE_NAME) ? 'overwrite' : 'create'} #{CONFIG_FILE_NAME}"
  FileUtils.copy_file(File.join(template_path, CONFIG_FILE_NAME), CONFIG_FILE_NAME)
end