Class: Onkcop::CLI

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

Constant Summary collapse

CONFIG_FILE_NAME =
".rubocop.yml"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details



30
31
32
33
# File 'lib/onkcop/cli.rb', line 30

def self.print_help
  puts "onkcop commands:"
  puts "  init - Setup .rubocop.yml"
end

.retrieve_command_name(args) ⇒ Object



25
26
27
28
# File 'lib/onkcop/cli.rb', line 25

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

.start(args) ⇒ Object



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

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



36
37
38
39
40
41
# File 'lib/onkcop/cli.rb', line 36

def init(args)
  raise "usage: onkcop 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