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