Class: PreCommit::Cli

Inherits:
Object
  • Object
show all
Defined in:
lib/pre-commit/cli.rb

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Cli

Returns a new instance of Cli.



12
13
14
# File 'lib/pre-commit/cli.rb', line 12

def initialize(*args)
  @args = args
end

Instance Method Details

#configObject



60
61
62
# File 'lib/pre-commit/cli.rb', line 60

def config
  @config ||= PreCommit::Configuration.new(PreCommit.pluginator)
end

#executeObject



16
17
18
19
20
21
22
23
# File 'lib/pre-commit/cli.rb', line 16

def execute()
  action_name = @args.shift or 'help'
  action = "execute_#{action_name}".to_sym
  if respond_to?(action)
  then send(action, *@args)
  else execute_help(action_name, *@args)
  end
end

#execute_disable(*args) ⇒ Object



54
55
56
57
58
# File 'lib/pre-commit/cli.rb', line 54

def execute_disable(*args)
  config.disable(*args)
rescue ArgumentError
  execute_help('disable', *args)
end

#execute_enable(*args) ⇒ Object



48
49
50
51
52
# File 'lib/pre-commit/cli.rb', line 48

def execute_enable(*args)
  config.enable(*args)
rescue ArgumentError
  execute_help('enable', *args)
end

#execute_help(*args) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/pre-commit/cli.rb', line 25

def execute_help(*args)
  warn "Unknown parameters: #{args * " "}" unless args.empty?
  warn "Usage: pre-commit install"
  warn "Usage: pre-commit list"
  warn "Usage: pre-commit plugins"
  warn "Usage: pre-commit <enable|disable> <git|yaml> <checks|warnings> check1 [check2...]"
  args.empty? # return status, it's ok if user requested help
end

#execute_install(key = nil, *args) ⇒ Object



34
35
36
# File 'lib/pre-commit/cli.rb', line 34

def execute_install(key = nil, *args)
  PreCommit::Installer.new(key).install
end

#execute_list(*args) ⇒ Object



38
39
40
41
# File 'lib/pre-commit/cli.rb', line 38

def execute_list(*args)
  puts list_evaluator.list
  true
end

#execute_plugins(*args) ⇒ Object



43
44
45
46
# File 'lib/pre-commit/cli.rb', line 43

def execute_plugins(*args)
  puts list_evaluator.plugins
  true
end

#list_evaluatorObject



64
65
66
# File 'lib/pre-commit/cli.rb', line 64

def list_evaluator
  @list_evaluator ||= PreCommit::ListEvaluator.new(config)
end