Class Gem::Indexer
In: lib/rubygems/indexer.rb
Parent: Object

Top level class for building the gem repository index.

Methods

Included Modules

Gem::UserInteraction

Attributes

dest_directory  [R]  Index install location
directory  [R]  Index build directory

Public Class methods

Create an indexer that will index the gems in directory.

Public Instance methods

Abbreviate the spec for downloading. Abbreviated specs are only used for searching, downloading and related activities and do not need deployment specific information (e.g. list of files). So we abbreviate the spec, making it much smaller for quicker downloads.

Build various indicies

Collect specifications from .gem files from the gem directory.

Compacts Marshal output for the specs index data source by using identical objects as much as possible.

Compress filename with extension.

List of gem file names to index.

Builds and installs indexicies.

Zlib::GzipWriter wrapper that gzips filename on disk.

Install generated indicies into the destination directory.

Ensure path and path with extension are identical.

Sanitize the descriptive fields in the spec. Sometimes non-ASCII characters will garble the site index. Non-ASCII characters will be replaced by their XML entity equivalent.

Sanitize a single string.

[Validate]