class Gem::Resolver::LockSpecification

The LockSpecification comes from a lockfile (Gem::RequestSet::Lockfile).

A LockSpecification's dependency information is pre-filled from the lockfile.

Public Class Methods

new(set, name, version, source, platform) click to toggle source
Calls superclass method Gem::Resolver::Specification.new
# File lib/rubygems/resolver/lock_specification.rb, line 9
def initialize set, name, version, source, platform
 super()
 @name = name
 @platform = platform
 @set = set
 @source = source
 @version = version
 @dependencies = []
 @spec = nil
end

Public Instance Methods

install(options) { |nil| ... } click to toggle source

This is a null install as a locked specification is considered installed. options are ignored.

Calls superclass method Gem::Resolver::Specification#install
# File lib/rubygems/resolver/lock_specification.rb, line 26
def install options
 destination = options[:install_dir] || Gem.dir
 if File.exist? File.join(destination, 'specifications', spec.spec_name) then
 yield nil
 return
 end
 super
end
spec() click to toggle source

A specification constructed from the lockfile is returned

# File lib/rubygems/resolver/lock_specification.rb, line 47
def spec
 @spec ||= Gem::Specification.new do |s|
 s.name = @name
 s.version = @version
 s.platform = @platform
 s.dependencies.concat @dependencies
 end
end