def parse
      @options_parser.order! @args

      determine_command_provided
      self
    rescue OptionParser::InvalidOption => e
      ui.output e
      show_all_help
      exit 1
    end
def parse
      @options_parser.order! @args

      determine_command_provided
      self
    rescue OptionParser::InvalidOption => e
      ui.output e
      show_all_help
      exit 1
    end
Internal: Creates a new Fission::CommandLineParser object.

 args - The command line arguments to parse.  This is expected to be in the
 same format of ARGV (Array) (default: ARGV).

 Examples:

   CommandLineParser.new ['foo', 'bar']

   CommandLineParser.new

 Returns a Fission::CommandLineParser object.
 Internal: Parses the command line arguments.  If the arguments are
 invalid, the appropriate help will be output and then will exit.  If the
 arguments are valid, then the @command variable will be set to a new
 instance of the determined command class.

 Examples:

   @command_line_parser.parse

 Returns nothing.