Class: Excavate::Extractors::CabExtractor

Inherits:
Extractor
  • Object
show all
Defined in:
lib/excavate/extractors/cab_extractor.rb

Instance Method Summary collapse

Methods inherited from Extractor

eager_load_subclasses!, for_magic_type, handles, #initialize, registered_types, registry

Constructor Details

This class inherits a constructor from Excavate::Extractors::Extractor

Instance Method Details

#extract(target) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/excavate/extractors/cab_extractor.rb', line 10

def extract(target)
  decompressor = Cabriolet::CAB::Decompressor.new
  decompressor.salvage = true # Enable salvage mode for compatibility

  # Try to find embedded CAB first (for self-extracting archives)
  cabinet = decompressor.search(@archive) || decompressor.open(@archive)
  decompressor.extract_all(cabinet, target, salvage: true)
end