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 69 def spec @spec ||= Gem::Specification.find { |spec| spec.name == @name and spec.version == @version } @spec ||= Gem::Specification.new do |s| s.name = @name s.version = @version s.platform = @platform s.dependencies.concat @dependencies end end