Class Gem::Installer
In: lib/rubygems/installer.rb
Parent: Object

The installer class processes RubyGem .gem files and installs the files contained in the .gem into the Gem.path.

Methods

Included Modules

UserInteraction

Classes and Modules

Class Gem::Installer::ExtensionBuildError

Public Class methods

Constructs an Installer instance

gem:[String] The file name of the gem

Public Instance methods

Return the text for an application file.

Given a root gem directory, build supporting directories for gem if they do not already exist

Ensure that the dependency is satisfied by the current installation of gem. If it is not, then fail (i.e. throw and exception).

spec :Gem::Specification
dependency :Gem::Dependency

Reads the YAML file index and then extracts each file into the supplied directory, building directories for the extracted files as needed.

directory:[String] The root directory to extract files into
file:[IO] The IO that contains the file data

Creates the scripts to run the applications in the gem.

Creates the symlinks to run the applications in the gem. Moves the symlink if the gem being installed has a newer version.

Creates windows .cmd files for easy running of commands

Installs the gem in the Gem.path. This will fail (unless force=true) if a Gem has a requirement on another Gem that is not installed. The installation will install in the following structure:

 Gem.path/
     specifications/<gem-version>.gemspec #=> the extracted YAML gemspec
     gems/<gem-version>/... #=> the extracted Gem files
     cache/<gem-version>.gem #=> a cached copy of the installed Gem
force:[default = false] if false will fail if a required Gem is not installed, or if the Ruby version is too low for the gem
install_dir:[default = Gem.dir] directory that Gem is to be installed in
return:[Gem::Specification] The specification for the newly installed Gem.

True if the current installed gems satisfy the given dependency.

dependency :Gem::Dependency

Unpacks the gem into the given directory.

Writes the .gemspec specification (in Ruby) to the supplied spec_path.

spec:[Gem::Specification] The Gem specification to output
spec_path:[String] The location (path) to write the gemspec to

[Validate]