class RSpec::Core::Parser

@private

Attributes

Public Class Methods

# File rspec-core/lib/rspec/core/option_parser.rb, line 13
def initialize(original_args)
  @original_args = original_args
end
# File rspec-core/lib/rspec/core/option_parser.rb, line 7
def self.parse(args, source=nil)
  new(args).parse(source)
end

Public Instance Methods

# File rspec-core/lib/rspec/core/option_parser.rb, line 17
def parse(source=nil)
  return { :files_or_directories_to_run => [] } if original_args.empty?
  args = original_args.dup

  options = args.delete('--tty') ? { :tty => true } : {}
  begin
    parser(options).parse!(args)
  rescue OptionParser::InvalidOption => e
    abort "#{e.message}#{" (defined in #{source})" if source}\n\n" \
          "Please use --help for a listing of valid options"
  end

  options[:files_or_directories_to_run] = args
  options
end