Sha256: fa73ce825cc6ec79d7e9fd7b58efe98deda1a782e5d7940d63e9d9919997f978
Contents?: true
Size: 697 Bytes
Versions: 10
Compression:
Stored size: 697 Bytes
Contents
require "libmspack" module Excavate module Extractors class CabExtractor < Extractor def extract(target) open_cab(@archive) do |decompressor, cab| file = cab.files while file path = File.join(target, file.filename) decompressor.extract(file, path) file = file.next end end end private def open_cab(archive) decompressor = LibMsPack::CabDecompressor.new cab = Utils.silence_stream(STDERR) do decompressor.search(archive) end yield decompressor, cab decompressor.close(cab) decompressor.destroy end end end end
Version data entries
10 entries across 10 versions & 1 rubygems