Class: Packer::Binary::Compressor
- Inherits:
-
Object
- Object
- Packer::Binary::Compressor
- Extended by:
- Helpers
- Defined in:
- lib/packer/binary/compressor.rb
Class Method Summary collapse
- .extract(input_file, output_dir) ⇒ Object
-
.write(input_dir, output_file) ⇒ Object
Zip the input directory.
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 |