class Gem::Resolver::LockSpecification
def add_dependency(dependency) # :nodoc:
def add_dependency(dependency) # :nodoc: @dependencies << dependency end
def initialize(set, name, version, sources, platform)
def initialize(set, name, version, sources, platform) super() @name = name @platform = platform @set = set @source = sources.first @sources = sources @version = version @dependencies = [] @spec = nil end
def install(options = {})
def install(options = {}) destination = options[:install_dir] || Gem.dir if File.exist? File.join(destination, "specifications", spec.spec_name) yield nil return end super end
def pretty_print(q) # :nodoc:
def pretty_print(q) # :nodoc: q.group 2, "[LockSpecification", "]" do q.breakable q.text "name: #{@name}" q.breakable q.text "version: #{@version}" unless @platform == Gem::Platform::RUBY q.breakable q.text "platform: #{@platform}" end unless @dependencies.empty? q.breakable q.text "dependencies:" q.breakable q.pp @dependencies end end end
def spec
def spec @spec ||= Gem::Specification.find do |spec| spec.name == @name && spec.version == @version end @spec ||= Gem::Specification.new do |s| s.name = @name s.version = @version s.platform = @platform s.dependencies.concat @dependencies end end