Class Gem::SourceIndex
In: lib/yard/rubygems/backports/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

Attributes

spec_dirs  [RW]  Directories to use to refresh this SourceIndex when calling refresh!

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, which is a Hash of gem full names and Gem::Specifications.

Public Instance methods

Add gem specifications to the source index.

TODO: remove method

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 an Array specifications for the latest released 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.

An array including only the prerelease gemspecs

Replaces the gems in the source index from specifications in the directories this source index was created from. Raises an exception if this source index wasn‘t created from a directory (via from_gems_in or from_installed_gems, or having spec_dirs set).

An array including only the released gemspecs

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.

[Validate]