lib/mothership.rb in mothership-0.0.15 vs lib/mothership.rb in mothership-0.1.0

- old
+ new

@@ -7,13 +7,10 @@ class Mothership # [Mothership::Command] global options @@global = Command.new(self, "(global options)") - # [Mothershp::Inputs] inputs from global options - @@inputs = Inputs.new(@@global) - # [Fixnum] exit status; reassign as appropriate error code (e.g. 1) @@exit_status = 0 class << self # define a global option @@ -25,46 +22,37 @@ # arguments and flags # # arguments and flags can be in any order; all flags will be parsed out # first, and the bits left over will be treated as arguments def start(argv) - name, *argv = - Parser.new(@@global).parse_flags( - @@inputs.inputs, - argv, - @@commands) + global_parser = Parser.new(@@global) + name, *argv = global_parser.parse_flags(argv, @@commands) app = new return app.default_action unless name cmdname = name.gsub("-", "_").to_sym cmd = @@commands[cmdname] return app.unknown_command(cmdname) unless cmd - app.execute(cmd, argv) + app.execute(cmd, argv, global_parser.given) code = @@exit_status # reset exit status @@exit_status = 0 exit code end + + def global_option(name) + @@global.inputs[name] + end end # set the exit status def exit_status(num) @@exit_status = num - end - - # get value of global option - def option(name, *args) - @@inputs.get(name, self, *args) - end - - # test if an option was explicitly provided - def option_given?(name) - @@inputs.given? name end end