class Gem::DependencyInstaller

def resolve_dependencies(dep_or_name, version) # :nodoc:

:nodoc:
def resolve_dependencies(dep_or_name, version) # :nodoc:
  request_set = Gem::RequestSet.new
  request_set.development         = @development
  request_set.development_shallow = @dev_shallow
  request_set.soft_missing = @force
  request_set.prerelease = @prerelease
  installer_set = Gem::Resolver::InstallerSet.new @domain
  installer_set.ignore_installed = (@minimal_deps == false) || @only_install_dir
  installer_set.force = @force
  if consider_local?
    if dep_or_name =~ /\.gem$/ && File.file?(dep_or_name)
      src = Gem::Source::SpecificFile.new dep_or_name
      installer_set.add_local dep_or_name, src.spec, src
      version = src.spec.version if version == Gem::Requirement.default
    elsif dep_or_name =~ /\.gem$/ # rubocop:disable Performance/RegexpMatch
      Dir[dep_or_name].each do |name|
        src = Gem::Source::SpecificFile.new name
        installer_set.add_local dep_or_name, src.spec, src
      rescue Gem::Package::FormatError
      end
      # else This is a dependency. InstallerSet handles this case
    end
  end
  dependency =
    if spec = installer_set.local?(dep_or_name)
      installer_set.remote = nil if spec.dependencies.none?
      Gem::Dependency.new spec.name, version
    elsif String === dep_or_name
      Gem::Dependency.new dep_or_name, version
    else
      dep_or_name
    end
  dependency.prerelease = @prerelease
  request_set.import [dependency]
  installer_set.add_always_install dependency
  request_set.always_install = installer_set.always_install
  request_set.remote = installer_set.consider_remote?
  if @ignore_dependencies
    installer_set.ignore_dependencies = true
    request_set.ignore_dependencies   = true
    request_set.soft_missing          = true
  end
  request_set.resolve installer_set
  @errors.concat request_set.errors
  request_set
end