Sha256: 1d99b0b5e082d959b414df7b2b82144ffc2291c47c9176607a0432baffd0c76d

Contents?: true

Size: 498 Bytes

Versions: 1

Compression:

Stored size: 498 Bytes

Contents

require "ffi-libarchive-binary"

module Excavate
  module Extractors
    class SevenZipExtractor < Extractor
      def extract(target)
        Dir.chdir(target) do
          extract_with_libarchive
        end
      end

      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
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
excavate-0.3.2 lib/excavate/extractors/seven_zip_extractor.rb