class Gem::Commands::ExecCommand
def handle_options(args)
def handle_options(args) args = add_extra_args(args) check_deprecated_options(args) @options = Marshal.load Marshal.dump @defaults # deep copy parser.order!(args) do |v| # put the non-option back at the front of the list of arguments args.unshift(v) # stop parsing once we hit the first non-option, # so you can call `gem exec rails --version` and it prints the rails # version rather than rubygem's break end @options[:args] = args options[:executable], gem_version = extract_gem_name_and_version(options[:args].shift) options[:gem_name] ||= options[:executable] if gem_version if options[:version].none? options[:version] = Gem::Requirement.new(gem_version) else options[:version].concat [gem_version] end end if options[:prerelease] && !options[:version].prerelease? if options[:version].none? options[:version] = Gem::Requirement.default_prerelease else options[:version].concat [Gem::Requirement.default_prerelease] end end end