A set of gems for installation sourced from remote sources and local .gem files
Methods
Class Public methods
new(domain)
Link
Creates a new InstallerSet that will look
for gems in domain.
Source: show
# File lib/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
Instance Public methods
find_all(req)
Link
Returns an array of IndexSpecification objects matching DependencyRequest
req.
Source: show
# File lib/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