Class: Gem::DependencyInstaller

Class | Gem::DependencyInstaller
In: | lib/rubygems/dependency_installer.rb
Parent: | Object

### Methods

download find_gems_with_sources gather_dependencies install new

### Included Modules

Gem::UserInteraction

### Constants

DEFAULT_OPTIONS | = | { :env_shebang => false, :domain => :both, # HACK dup :force => false, :format_executable => false, # HACK dup :ignore_dependencies => false, :security_policy => nil, # HACK NoSecurity requires OpenSSL. AlmostNo? Low? :wrappers => true, :skip_dependencies => false

### Attributes

gems_to_install | [R] |
installed_gems | [R] |

### Public Class methods

new(gem_name, version = nil, options = {})

Creates a new installer instance that will install `gem_name` using version requirement `version` and `options`.

Options are:

:env_shebang: | See Gem::Installer::new.
:domain: | :local, :remote, or :both. :local only searches gems in the current directory. :remote searches only gems in Gem::sources. :both searches both.
:force: | See Gem::Installer#install.
:format_executable: | See Gem::Installer#initialize.

:ignore_dependencies: Don‘t install any dependencies. :install_dir: See Gem::Installer#install. :security_policy: See Gem::Installer::new and Gem::Security. :wrappers: See Gem::Installer::new

### Public Instance methods

download(spec, source_uri)

Moves the gem `spec` from `source_uri` to the cache dir unless it is already there. If the source_uri is local the gem cache dir copy is always replaced.

find_gems_with_sources(dep)

Returns a list of pairs of gemspecs and source_uris that match Gem::Dependency `dep` from both local (Dir.pwd) and remote (Gem.sources) sources. Gems are sorted with newer gems prefered over older gems, and local gems prefered over remote gems.

gather_dependencies()

Gathers all dependencies necessary for the installation from local and remote sources unless the ignore_dependencies was given.

install()

Installs the gem and all its dependencies.

[Validate]