Module: Omnizip::Formats::Zip

Defined in:
lib/omnizip/formats/zip.rb,
lib/omnizip/formats/zip/reader.rb,
lib/omnizip/formats/zip/writer.rb,
lib/omnizip/formats/zip/constants.rb,
lib/omnizip/formats/zip/unix_extra_field.rb,
lib/omnizip/formats/zip/local_file_header.rb,
lib/omnizip/formats/zip/zip64_extra_field.rb,
lib/omnizip/formats/zip/central_directory_header.rb,
lib/omnizip/formats/zip/end_of_central_directory.rb,
lib/omnizip/formats/zip/zip64_end_of_central_directory.rb,
lib/omnizip/formats/zip/zip64_end_of_central_directory_locator.rb

Overview

ZIP archive format implementation

Defined Under Namespace

Modules: Constants Classes: CentralDirectoryHeader, EndOfCentralDirectory, LocalFileHeader, Reader, UnixExtraField, Writer, Zip64EndOfCentralDirectory, Zip64EndOfCentralDirectoryLocator, Zip64ExtraField

Class Method Summary collapse

Class Method Details

.create(file_path) {|writer| ... } ⇒ Object

Create a ZIP archive

Yields:

  • (writer)


30
31
32
33
34
# File 'lib/omnizip/formats/zip.rb', line 30

def create(file_path, &block)
  writer = Writer.new(file_path)
  yield(writer) if block
  writer
end

.extract(file_path, output_dir) ⇒ Object

Extract a ZIP archive



37
38
39
40
# File 'lib/omnizip/formats/zip.rb', line 37

def extract(file_path, output_dir)
  reader = read(file_path)
  reader.extract_all(output_dir)
end

.list(file_path) ⇒ Object

List entries in a ZIP archive



43
44
45
46
# File 'lib/omnizip/formats/zip.rb', line 43

def list(file_path)
  reader = read(file_path)
  reader.list_entries
end

.read(file_path) ⇒ Object

Read a ZIP archive



25
26
27
# File 'lib/omnizip/formats/zip.rb', line 25

def read(file_path)
  Reader.new(file_path).read
end

.register!Object

Auto-register .zip format when loaded



49
50
51
# File 'lib/omnizip/formats/zip.rb', line 49

def register!
  FormatRegistry.register(".zip", Omnizip::Formats::Zip)
end