class Git::Whistles::App

Attributes

log[R]
options[R]

Public Class Methods

new() click to toggle source
# File lib/git-whistles/app.rb, line 11
def initialize
  @options = OpenStruct.new(defaults)
  @log = Git::Whistles::Logger.new($stderr)
end
run!() click to toggle source
# File lib/git-whistles/app.rb, line 22
def self.run!
  new.main(ARGV)
end

Public Instance Methods

main(args) click to toggle source
# File lib/git-whistles/app.rb, line 17
def main(args)
  parse_args!(args)
end

Protected Instance Methods

defaults() click to toggle source

default options hash

# File lib/git-whistles/app.rb, line 30
def defaults
  {}
end
die(message, options = {}) click to toggle source
# File lib/git-whistles/app.rb, line 67
def die(message, options = {})
  puts Term::ANSIColor.red(message)
  if options[:usage]
    puts 
    puts option_parser.help
  end
  exit 1
end
option_parser() click to toggle source
# File lib/git-whistles/app.rb, line 38
def option_parser
  @option_parser ||= OptionParser.new do |op|
    op.banner = "Usage: #{$0}"
  end
end
parse_args!(args) click to toggle source
# File lib/git-whistles/app.rb, line 46
def parse_args!(args)
  begin
    option_parser.parse!(args)
  rescue OptionParser::InvalidOption => error
    die error.message, :usage => true
  end
end
run(command) click to toggle source
# File lib/git-whistles/app.rb, line 55
def run(command)
  %x(#{command})
end
run!(command) click to toggle source
# File lib/git-whistles/app.rb, line 60
def run!(command)
  result = %x(#{command})
  return result if $? == 0
  die "command '#{command}' failed"
end