Maintenance Ruby 3.4 gets fixes, but no new features. Switch to Ruby 4.0 →
instance method
Gem::Package#extract_files
extract_files(destination_dir, pattern = "*")
lib/rubygems/package.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.4.1/lib/rubygems/package.rb, line 385
def extract_files(destination_dir, pattern = "*")
verify unless @spec
FileUtils.mkdir_p destination_dir, mode: dir_mode && 0o755
@gem.with_read_io do |io|
reader = Gem::Package::TarReader.new io
reader.each do |entry|
next unless entry.full_name == "data.tar.gz"
extract_tar_gz entry, destination_dir, pattern
break # ignore further entries
end
end
rescue Zlib::GzipFile::Error, EOFError, Gem::Package::TarInvalidError => e
raise Gem::Package::FormatError.new e.message, @gem
end
Extracts the files in this package into destination_dir
If pattern is specified, only entries matching that glob will be extracted.