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.
The Gem::Specification for this Resolver::Specification.
Implementers, note that install updates @spec, so be sure to cache the Gem::Specification in @spec when overriding.
The name and version of the specification.
Unlike Gem::Specification#full_name, the platform is not included.
# File rubygems/resolver/specification.rb, line 70
def full_name
"#{@name}-#{@version}"
end
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.
After installation spec is updated to point to the just-installed specification.
# File rubygems/resolver/specification.rb, line 83
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?
@spec = installer.install
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.