Module Zip::ZipFileSystem
In: lib/zip/zipfilesystem.rb

The ZipFileSystem API provides an API for accessing entries in a zip archive that is similar to ruby‘s builtin File and Dir classes.

Requiring ‘zip/zipfilesystem’ includes this module in ZipFile making the methods in this module available on ZipFile objects.

Using this API the following example creates a new zip file my.zip containing a normal entry with the name first.txt, a directory entry named mydir and finally another normal entry named second.txt

  require 'zip/zipfilesystem'

  Zip::ZipFile.open("my.zip", Zip::ZipFile::CREATE) {
    |zipfile|
    zipfile.file.open("first.txt", "w") { |f| f.puts "Hello world" }
    zipfile.dir.mkdir("mydir")
    zipfile.file.open("mydir/second.txt", "w") { |f| f.puts "Hello again" }
  }

Reading is as easy as writing, as the following example shows. The example writes the contents of first.txt from zip archive my.zip to standard out.

  require 'zip/zipfilesystem'

  Zip::ZipFile.open("my.zip") {
    |zipfile|
    puts zipfile.file.read("first.txt")
  }

Methods

dir   file  

Classes and Modules

Class Zip::ZipFileSystem::ZipFsDir
Class Zip::ZipFileSystem::ZipFsFile

Public Instance methods

Returns a ZipFsDir which is much like ruby‘s builtin Dir (class) object, except it works on the ZipFile on which this method is invoked

[Source]

# File lib/zip/zipfilesystem.rb, line 50
    def dir
      @zipFsDir
    end

Returns a ZipFsFile which is much like ruby‘s builtin File (class) object, except it works on the ZipFile on which this method is invoked

[Source]

# File lib/zip/zipfilesystem.rb, line 57
    def file
      @zipFsFile
    end

[Validate]