class Excavate::Extractors::XarExtractor
Public Instance Methods
extract(target)
click to toggle source
# File lib/excavate/extractors/xar_extractor.rb, line 6 def extract(target) Dir.chdir(target) do extract_with_libarchive rename_payload(target) end end
Private Instance Methods
extract_with_libarchive()
click to toggle source
# File lib/excavate/extractors/xar_extractor.rb, line 15 def extract_with_libarchive flags = ::Archive::EXTRACT_PERM reader = ::Archive::Reader.open_filename(@archive) reader.each_entry do |entry| reader.extract(entry, flags.to_i) end reader.close end
rename_payload(target)
click to toggle source
# File lib/excavate/extractors/xar_extractor.rb, line 26 def rename_payload(target) Dir.glob(File.join(target, "**", "Payload")).each do |file| next unless File.file?(file) FileUtils.mv(file, "#{file}.cpio.gz") end end