class 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
The dependencies of the gem for this specification
The name of the gem for this specification
The platform this gem works on.
The set this specification came from.
The source for this specification
The version of the gem for this specification.
Public Class Methods
Sets default instance variables for the specification.
# File lib/rubygems/resolver/specification.rb, line 41 def initialize @dependencies = nil @name = nil @platform = nil @set = nil @source = nil @version = nil end
Public Instance Methods
The name and version of the specification.
Unlike Gem::Specification#full_name, the platform is not included.
# File lib/rubygems/resolver/specification.rb, line 55 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.
# File lib/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
Returns true if this specification is installable on this platform.
# File lib/rubygems/resolver/specification.rb, line 84 def installable_platform? Gem::Platform.match spec.platform end