diff options
Diffstat (limited to 'lib/rubygems/resolver/lock_specification.rb')
-rw-r--r-- | lib/rubygems/resolver/lock_specification.rb | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/lib/rubygems/resolver/lock_specification.rb b/lib/rubygems/resolver/lock_specification.rb index 4bc21b9402..0013171469 100644 --- a/lib/rubygems/resolver/lock_specification.rb +++ b/lib/rubygems/resolver/lock_specification.rb @@ -23,7 +23,7 @@ class Gem::Resolver::LockSpecification < Gem::Resolver::Specification # This is a null install as a locked specification is considered installed. # +options+ are ignored. - def install options + def install options = {} destination = options[:install_dir] || Gem.dir if File.exist? File.join(destination, 'specifications', spec.spec_name) then @@ -41,10 +41,36 @@ class Gem::Resolver::LockSpecification < Gem::Resolver::Specification @dependencies << dependency end + 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 then + q.breakable + q.text "platform: #{@platform}" + end + + unless @dependencies.empty? then + q.breakable + q.text 'dependencies:' + q.breakable + q.pp @dependencies + end + end + end + ## # A specification constructed from the lockfile is returned 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 |