class Git::Daily::Application
Attributes
commands[R]
options[R]
original_dir[R]
remote[RW]
Public Class Methods
new()
click to toggle source
# File lib/git-daily/application.rb, line 11 def initialize @original_dir = Dir.pwd @commands = {} end
Public Instance Methods
display_error_message(ex)
click to toggle source
# File lib/git-daily/application.rb, line 64 def display_error_message(ex) $stderr.puts "git-daily aborted!" $stderr.puts ex.message if options.trace $stderr.puts ex.backtrace.join("\n") end end
exception_handling() { || ... }
click to toggle source
# File lib/git-daily/application.rb, line 51 def exception_handling begin yield rescue SystemExit => ex raise rescue OptionParser::InvalidOption => ex $stderr.puts ex.message rescue Exception => ex display_error_message(ex) exit(false) end end
handle_options()
click to toggle source
# File lib/git-daily/application.rb, line 20 def handle_options command = ARGV.shift if @commands.has_key?(command) @commands[command].run else $stderr.puts @commands["help"].usage exit end end
init()
click to toggle source
# File lib/git-daily/application.rb, line 36 def init #exception_handling do load_commands handle_options #end end
load_commands()
click to toggle source
# File lib/git-daily/application.rb, line 43 def load_commands Dir[File.join(File.dirname(__FILE__), "command", "*.rb")].each do |file| load file name = File.basename(file, ".rb") @commands[name] = Git::Daily.const_get(name.capitalize).new end end
run()
click to toggle source
# File lib/git-daily/application.rb, line 30 def run #exception_handling do init #end end