Class: Packer::Binary::Compressor

Inherits:
Object
  • Object
show all
Extended by:
Helpers
Defined in:
lib/packer/binary/compressor.rb

Class Method Summary collapse

Methods included from Helpers

debug, err, msg, stderr, stdout, system_command

Class Method Details

.extract(input_file, output_dir) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/packer/binary/compressor.rb', line 28

def extract(input_file, output_dir)
  Zip::File.open(input_file) do |zip_file|
    # Handle entries one by one
    zip_file.each do |entry|
      # Extract to file/directory/symlink
      dest_file = "#{output_dir}/#{entry.name}"
      debug("Extracting to #{dest_file}")
      entry.extract(dest_file)
    end
  end
end

.write(input_dir, output_file) ⇒ Object

Zip the input directory.



20
21
22
23
24
25
26
# File 'lib/packer/binary/compressor.rb', line 20

def write(input_dir, output_file)
  entries = Dir.entries(input_dir); entries.delete("."); entries.delete("..")
  io = Zip::ZipFile.open(output_file, Zip::ZipFile::CREATE);

  write_entries(entries, "", io, input_dir, output_file)
  io.close();
end