prefetch(reqs)
public
A hint run by the resolver to allow the Set to
fetch data for DependencyRequests reqs.
# File lib/rubygems/resolver/api_set.rb, line 61
def prefetch reqs
return unless @remote
names = reqs.map { |r| r.dependency.name }
needed = names - @data.keys
return if needed.empty?
uri = @dep_uri + "?gems=#{needed.sort.join ','}"
str = Gem::RemoteFetcher.fetcher.fetch_path uri
loaded = []
Marshal.load(str).each do |ver|
name = ver[:name]
@data[name] << ver
loaded << name
end
(needed - loaded).each do |missing|
@data[missing] = []
end
end