Sha256: 3d889bb08772e04f380cb810e4d977decfc5f32c07f1035b783a5fe3be4c182c
Contents?: true
Size: 631 Bytes
Versions: 16
Compression:
Stored size: 631 Bytes
Contents
require "rubygems/package" module Excavate module Extractors class TarExtractor < Extractor def extract(target) File.open(@archive, "rb") do |archive_file| Gem::Package::TarReader.new(archive_file) do |tar| tar.each do |tarfile| save_tar_file(tarfile, target) end end end end private def save_tar_file(file, dir) path = File.join(dir, file.full_name) if file.directory? FileUtils.mkdir_p(path) else File.write(path, file.read, mode: "wb") end end end end end
Version data entries
16 entries across 16 versions & 1 rubygems