In Files

  • rubygems/resolver/specification.rb

Class/Module Index [+]

Quicksearch

Gem::Resolver::Specification

A Resolver::Specification contains a subset of the information contained in a Gem::Specification. Only the information necessary for dependency resolution in the resolver is included.

Attributes

dependencies[R]

The dependencies of the gem for this specification

name[R]

The name of the gem for this specification

platform[R]

The platform this gem works on.

set[R]

The set this specification came from.

source[R]

The source for this specification

version[R]

The version of the gem for this specification.

Public Class Methods

new() click to toggle source

Sets default instance variables for the specification.

 
               # File rubygems/resolver/specification.rb, line 41
def initialize
  @dependencies = nil
  @name         = nil
  @platform     = nil
  @set          = nil
  @source       = nil
  @version      = nil
end
            

Public Instance Methods

full_name() click to toggle source

The name and version of the specification.

Unlike Gem::Specification#full_name, the platform is not included.

 
               # File rubygems/resolver/specification.rb, line 55
def full_name
  "#{@name}-#{@version}"
end
            
install(options) click to toggle source

Installs this specification using the Gem::Installer options. The install method yields a Gem::Installer instance, which indicates the gem will be installed, or nil, which indicates the gem is already installed.

 
               # File rubygems/resolver/specification.rb, line 65
def install options
  require 'rubygems/installer'

  destination = options[:install_dir] || Gem.dir

  Gem.ensure_gem_subdirectories destination

  gem = source.download spec, destination

  installer = Gem::Installer.new gem, options

  yield installer if block_given?

  installer.install
end
            
installable_platform?() click to toggle source

Returns true if this specification is installable on this platform.

 
               # File rubygems/resolver/specification.rb, line 84
def installable_platform?
  Gem::Platform.match spec.platform
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus