Support for the Ruby 2.1 series ended on March 31 2017. See here for details.
A set of gems for installation sourced from remote sources and local .gem files
Creates a new InstallerSet that will look
for gems in domain
.
# File rubygems/resolver/installer_set.rb, line 26 def initialize domain super() @domain = domain @remote = consider_remote? @f = Gem::SpecFetcher.fetcher @always_install = [] @ignore_dependencies = false @ignore_installed = false @remote_set = Gem::Resolver::BestSet.new @specs = {} end
Returns an array of IndexSpecification objects matching DependencyRequest
req
.
# File rubygems/resolver/installer_set.rb, line 59 def find_all req res = [] dep = req.dependency return res if @ignore_dependencies and @always_install.none? { |spec| dep.matches_spec? spec } name = dep.name dep.matching_specs.each do |gemspec| next if @always_install.include? gemspec res << Gem::Resolver::InstalledSpecification.new(self, gemspec) end unless @ignore_installed if consider_local? then local_source = Gem::Source::Local.new if spec = local_source.find_gem(name, dep.requirement) then res << Gem::Resolver::IndexSpecification.new( self, spec.name, spec.version, local_source, spec.platform) end end res.concat @remote_set.find_all req if consider_remote? res end