Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more
The global rubygems pool, available via the rubygems.org API. Returns instances of APISpecification.
Return an array of APISpecification
objects matching DependencyRequest
req
.
# File rubygems/dependency_resolver.rb, line 127 def find_all(req) res = [] versions(req.name).each do |ver| if req.dependency.match? req.name, ver[:number] res << APISpecification.new(self, ver) end end res end
A hint run by the resolver to allow the Set to fetch data for
DependencyRequests reqs
.
# File rubygems/dependency_resolver.rb, line 142 def prefetch(reqs) names = reqs.map { |r| r.dependency.name } needed = names.find_all { |d| !@data.key?(d) } return if needed.empty? uri = @dep_uri + "?gems=#{needed.sort.join ','}" str = Gem::RemoteFetcher.fetcher.fetch_path uri Marshal.load(str).each do |ver| @data[ver[:name]] << ver end end
Return data for all versions of the gem name
.
# File rubygems/dependency_resolver.rb, line 109 def versions(name) if @data.key?(name) return @data[name] end uri = @dep_uri + "?gems=#{name}" str = Gem::RemoteFetcher.fetcher.fetch_path uri Marshal.load(str).each do |ver| @data[ver[:name]] << ver end @data[name] end