123456789_123456789_123456789_123456789_123456789_

Class: Gem::Resolver::VendorSet

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Set
Instance Chain:
self, Set
Inherits: Gem::Resolver::Set
Defined in: lib/rubygems/resolver/vendor_set.rb

Overview

A VendorSet represents gems that have been unpacked into a specific directory that contains a gemspec.

This is used for gem dependency file support.

Example:

set = Gem::Resolver::VendorSet.new

set.add_vendor_gem 'rake', 'vendor/rake'

The directory vendor/rake must contain an unpacked rake gem along with a rake.gemspec (watching the given name).

Instance Attribute Summary

Set - Inherited

#errors

Errors encountered when resolving gems.

#prerelease

When true, allows matching of requests to prerelease gems.

#remote

Set to true to disable network access for this set.

Instance Method Summary

Set - Inherited

#find_all

The find_all method must be implemented.

#prefetch

The #prefetch method may be overridden, but this is not necessary.

Instance Method Details

#find_all(req)

Returns an Array of VendorSpecification objects matching the DependencyRequest req.

[ GitHub ]

  
# File 'lib/rubygems/resolver/vendor_set.rb', line 55

def find_all req
  @specs.values.select do |spec|
    req.match? spec
  end.map do |spec|
    source = Gem::Source::Vendor.new @directories[spec]
    Gem::Resolver::VendorSpecification.new self, spec, source
  end
end