class PreCommit::Cli

Public Class Methods

new(*args) click to toggle source
# File lib/pre-commit/cli.rb, line 13
def initialize(*args)
  @args = args
end

Public Instance Methods

config() click to toggle source
# File lib/pre-commit/cli.rb, line 74
def config
  @config ||= PreCommit::Configuration.new(PreCommit.pluginator)
end
execute() click to toggle source
# File lib/pre-commit/cli.rb, line 17
def execute()
  action_name = @args.shift or 'help'
  action = :"execute_#{action_name}"
  if respond_to?(action)
  then send(action, *@args)
  else execute_help(action_name, *@args)
  end
end
execute_disable(*args) click to toggle source
# File lib/pre-commit/cli.rb, line 68
def execute_disable(*args)
  config.disable(*args)
rescue ArgumentError
  execute_help('disable', *args)
end
execute_enable(*args) click to toggle source
# File lib/pre-commit/cli.rb, line 62
def execute_enable(*args)
  config.enable(*args)
rescue ArgumentError
  execute_help('enable', *args)
end
execute_help(*args) click to toggle source
# File lib/pre-commit/cli.rb, line 26
def execute_help(*args)
  warn "Unknown parameters: #{args.map(&:inspect) * " "}" unless args.empty?
  warn "Usage: pre-commit install"
  warn "Usage: pre-commit list"
  warn "Usage: pre-commit plugins"
  warn "Usage: pre-commit new plugin-name 'Author Name' author@email 'description of the plugin'"
  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) click to toggle source
# File lib/pre-commit/cli.rb, line 41
def execute_install(key = nil, *args)
  PreCommit::Installer.new(key).install
end
execute_list(*args) click to toggle source
# File lib/pre-commit/cli.rb, line 45
def execute_list(*args)
  puts list_evaluator.list
  true
end
execute_new(*args) click to toggle source
# File lib/pre-commit/cli.rb, line 55
def execute_new(*args)
  PreCommit::Template.new(*args).save
rescue ArgumentError => e
  warn e
  warn "Usage: pre-commit new plugin-name 'Author Name' author@email 'description of the plugin'"
end
execute_plugins(*args) click to toggle source
# File lib/pre-commit/cli.rb, line 50
def execute_plugins(*args)
  puts list_evaluator.plugins
  true
end
execute_run(*args) click to toggle source
# File lib/pre-commit/cli.rb, line 36
def execute_run(*args)
  require 'pre-commit/runner'
  PreCommit::Runner.new.run(*args).tap { |ok| puts "No failed checks." if ok }
end
list_evaluator() click to toggle source
# File lib/pre-commit/cli.rb, line 78
def list_evaluator
  @list_evaluator ||= PreCommit::ListEvaluator.new(config)
end