Class: Fablicop::CLI
- Inherits:
-
Object
- Object
- Fablicop::CLI
- Defined in:
- lib/fablicop/cli.rb
Overview
CLI handles command-line inputs.
Constant Summary collapse
- CONFIG_FILE_NAME =
'.rubocop.yml'
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.print_help ⇒ Object
34 35 36 37 |
# File 'lib/fablicop/cli.rb', line 34 def self.print_help puts 'fablicop commands:' puts ' init - Setup .rubocop.yml' end |
.retrieve_command_name(args) ⇒ Object
29 30 31 32 |
# File 'lib/fablicop/cli.rb', line 29 def self.retrieve_command_name(args) meth = args.first.to_s unless args.empty? args.shift if meth && (meth !~ /^-/) end |
.start(args) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/fablicop/cli.rb', line 8 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 StandardError => e puts e. exit(1) end |
Instance Method Details
#init(args) ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/fablicop/cli.rb', line 40 def init(args) raise 'usage: fablicop init' unless args.empty? template_path = File.('../../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 |