class AccuHook::CommandLine

Public Class Methods

execute(args) click to toggle source

Parse command line options and execute

# File lib/accuhook/command_line.rb, line 13
def self.execute(args)
  options = parse_options(args)

  case options.command
  when :install
    ret_val = AccuHook::Installation.new(options.path)
    exit 0
  when :version
    puts 'Version 0.0.3'
    exit 0
  end
end

Private Class Methods

parse_options(args) click to toggle source
# File lib/accuhook/command_line.rb, line 27
def self.parse_options(args)
  options = OpenStruct.new
  options.command = :help
  options.path = Dir.pwd

  opts = OptionParser.new do |opts|
    opts.banner = "Usage #{File.basename $0} [options]"
    opts.on_head("-i","--install", "Install Accurev Git hook in current dir") { options.command = :install }
    opts.on("-p","--path=[path]", "Install Accurev Git hook to specified path") { |path| options.path = path }
    opts.on_tail("--version", "Print current version and exit") {options.command = :version }
    opts.on_tail("-h","--help", "Print help message")
  end
  opts.parse!(args)
  (puts opts and exit 0) if options.command == :help
  options
end