class Excavate::Extractors::TarExtractor
Public Instance Methods
extract(target)
click to toggle source
# File lib/excavate/extractors/tar_extractor.rb, line 6 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 Instance Methods
save_tar_file(file, dir)
click to toggle source
# File lib/excavate/extractors/tar_extractor.rb, line 18 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