This method is deprecated or moved on the latest stable version.
The last existing version (v1_9_3_392) is shown here.
read_files_from_gem(gem_file)
private
Reads the embedded file data from a gem file, yielding an entry containing
metadata about the file and the file contents themselves for each file
that’s archived in the gem. NOTE: Many of these methods should be
extracted into some kind of Gem file read/writer
# File lib/rubygems/old_format.rb, line 130
def self.read_files_from_gem(gem_file)
errstr = "Error reading files from gem"
header_yaml = ''
begin
self.read_until_dashes(gem_file) do |line|
header_yaml << line
end
header = YAML.load(header_yaml)
raise Gem::Exception, errstr unless header
header.each do |entry|
file_data = ''
self.read_until_dashes(gem_file) do |line|
file_data << line
end
yield [entry, Zlib::Inflate.inflate(file_data.strip.unpack("m")[0])]
end
rescue Zlib::DataError
raise Gem::Exception, errstr
end
end