Class: Compression::Zip

Inherits:
Strategy show all
Defined in:
lib/compression/zip.rb

Constant Summary

Constants inherited from Strategy

Strategy::DestinationFileExistsError, Strategy::ExtractFailed

Instance Method Summary collapse

Methods inherited from Strategy

#can_handle?, #decompress

Instance Method Details

#compress(path, target_name) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/compression/zip.rb', line 11

def compress(path, target_name)
  absolute_path = sanitize_path("#{path}/#{target_name}")
  zip_filename = "#{absolute_path}.zip"

  ::Zip::File.open(zip_filename, ::Zip::File::CREATE) do |zipfile|
    if File.directory?(absolute_path)
      entries = Dir.entries(absolute_path) - %w[. ..]
      write_entries(entries, absolute_path, "", zipfile)
    else
      put_into_archive(absolute_path, zipfile, target_name)
    end
  end

  zip_filename
end

#extensionObject



7
8
9
# File 'lib/compression/zip.rb', line 7

def extension
  ".zip"
end