diff options
author | bronzdoc <[email protected]> | 2019-06-23 20:03:50 -0600 |
---|---|---|
committer | Hiroshi SHIBATA <[email protected]> | 2019-07-31 07:47:01 +0800 |
commit | 688ccc96020258acb4c02a2f8c5ff6e5a0bbc966 () | |
tree | 932522a984f1a289a6c6fc9dadba8dbba524e069 | |
parent | 8103d46a4d9591ae95f9a3c31619d1b12031cf3c (diff) |
[rubygems/rubygems] Move metadata method to Gem::Package
https://.com/rubygems/rubygems/commit/2c9cfcb666
-rw-r--r-- | lib/rubygems/commands/unpack_command.rb | 30 | ||||
-rw-r--r-- | lib/rubygems/package.rb | 27 | ||||
-rw-r--r-- | test/rubygems/test_gem_package.rb | 27 |
3 files changed, 54 insertions, 30 deletions
@@ -85,7 +85,7 @@ command help for an example. end if @options[:spec] - spec, metadata = get_metadata path, security_policy if metadata.nil? alert_error "--spec is unsupported on '#{name}' (old format gem)" @@ -173,32 +173,4 @@ command help for an example. path end - - ## - # Extracts the Gem::Specification and raw metadata from the .gem file at - # +path+. - #-- - # TODO move to Gem::Package as #raw_spec or something - - def get_metadata(path, security_policy = nil) - format = Gem::Package.new path, security_policy - spec = format.spec - - metadata = nil - - File.open path, Gem.binary_mode do |io| - tar = Gem::Package::TarReader.new io - tar.each_entry do |entry| - case entry.full_name - when 'metadata' then - metadata = entry.read - when 'metadata.gz' then - metadata = Gem::Util.gunzip entry.read - end - end - end - - return spec, metadata - end - end @@ -157,6 +157,32 @@ class Gem::Package end ## # Creates a new package that will read or write to the file +gem+. def initialize(gem, security_policy) # :notnew: @@ -690,7 +716,6 @@ EOM rescue Zlib::GzipFile::Error => e raise Gem::Package::FormatError.new(e.message, entry.full_name) end - end require 'rubygems/package/digest_io' @@ -420,6 +420,33 @@ class TestGemPackage < Gem::Package::TarTestCase assert_equal %w[lib/code.rb], reader.contents end def test_contents package = Gem::Package.new @gem |