Class: Git::Daily::Application
- Inherits:
-
Object
- Object
- Git::Daily::Application
- Defined in:
- lib/git-daily/application.rb
Instance Attribute Summary collapse
-
#commands ⇒ Object
readonly
Returns the value of attribute commands.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#original_dir ⇒ Object
readonly
Returns the value of attribute original_dir.
-
#remote ⇒ Object
Returns the value of attribute remote.
Instance Method Summary collapse
- #display_error_message(ex) ⇒ Object
- #exception_handling ⇒ Object
- #handle_options ⇒ Object
- #init ⇒ Object
-
#initialize ⇒ Application
constructor
A new instance of Application.
- #load_commands ⇒ Object
- #run ⇒ Object
Constructor Details
#initialize ⇒ Application
Returns a new instance of Application.
12 13 14 15 |
# File 'lib/git-daily/application.rb', line 12 def initialize @original_dir = Dir.pwd @commands = {} end |
Instance Attribute Details
#commands ⇒ Object (readonly)
Returns the value of attribute commands.
9 10 11 |
# File 'lib/git-daily/application.rb', line 9 def commands @commands end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
8 9 10 |
# File 'lib/git-daily/application.rb', line 8 def @options end |
#original_dir ⇒ Object (readonly)
Returns the value of attribute original_dir.
7 8 9 |
# File 'lib/git-daily/application.rb', line 7 def original_dir @original_dir end |
#remote ⇒ Object
Returns the value of attribute remote.
10 11 12 |
# File 'lib/git-daily/application.rb', line 10 def remote @remote end |
Instance Method Details
#display_error_message(ex) ⇒ Object
65 66 67 68 69 70 71 |
# File 'lib/git-daily/application.rb', line 65 def (ex) $stderr.puts "git-daily aborted!" $stderr.puts ex. if .trace $stderr.puts ex.backtrace.join("\n") end end |
#exception_handling ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/git-daily/application.rb', line 52 def exception_handling begin yield rescue SystemExit => ex raise rescue OptionParser::InvalidOption => ex $stderr.puts ex. rescue Exception => ex (ex) exit(false) end end |
#handle_options ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/git-daily/application.rb', line 21 def command = ARGV.shift if @commands.has_key?(command) @commands[command].run else $stderr.puts @commands["help"].usage exit end end |
#init ⇒ Object
37 38 39 40 41 42 |
# File 'lib/git-daily/application.rb', line 37 def init #exception_handling do load_commands #end end |
#load_commands ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/git-daily/application.rb', line 44 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 ⇒ Object
31 32 33 34 35 |
# File 'lib/git-daily/application.rb', line 31 def run #exception_handling do init #end end |