Class Gem::SourceIndex
In: lib/rubygems/source_index.rb
Parent: Object

The SourceIndex object indexes all the gems available from a particular source (e.g. a list of gem directories, or a remote source). A SourceIndex maps a gem full name to a gem specification.

NOTE:The class used to be named Cache, but that became confusing when cached source fetchers where introduced. The constant Gem::Cache is an alias for this class to allow old YAMLized source index objects to load properly.

Methods

Included Modules

Enumerable Gem::UserInteraction Gem::UserInteraction

Public Class methods

Creates a new SourceIndex from the ruby format gem specifications in spec_dirs.

Factory method to construct a source index instance for a given path.

deprecated:If supplied, from_installed_gems will act just like from_gems_in. This argument is deprecated and is provided just for backwards compatibility, and should not generally be used.
return:SourceIndex instance

Returns a list of directories from Gem.path that contain specifications.

Loads a ruby-format specification from file_name and returns the loaded spec.

Constructs a source index instance from the provided specifications

specifications:[Hash] hash of [Gem name, Gem::Specification] pairs

Public Instance methods

Add a gem specification to the source index.

Add gem specifications to the source index.

Iterate over the specifications in the source index.

Find a gem by an exact match on the short name.

The signature for the given gem specification.

The signature for the source index. Changes in the signature indicate a change in the index.

Returns a Hash of name => Specification of the latest versions of each gem in this index.

length()

Alias for size

Reconstruct the source index from the specifications in spec_dirs.

Returns an Array of Gem::Specifications that are not up to date.

Replaces the gems in the source index from specifications in the installed_spec_directories,

Remove a gem specification named full_name.

Search for a gem by Gem::Dependency gem_pattern. If only_platform is true, only gems matching Gem::Platform.local will be returned. An Array of matching Gem::Specification objects is returned.

For backwards compatibility, a String or Regexp pattern may be passed as gem_pattern, and a Gem::Requirement for platform_only. This behavior is deprecated and will be removed.

The gem specification given a full gem spec name.

Updates this SourceIndex from source_uri. If all is false, only the latest gems are fetched.

[Validate]