module Zip::FileSystem
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/filesystem’ includes this module in Zip::File making the methods in this module available on Zip::File 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/filesystem’
Zip::File.open(‘my.zip’, create: true) do |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' }
end “‘
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/filesystem’
Zip::File.open(‘my.zip’) do |zipfile|
puts zipfile.file.read('first.txt')
end “‘
Public Instance Methods
Source
# File lib/zip/filesystem.rb, line 55 def dir @zip_fs_dir end
Returns a Zip::FileSystem::Dir which is much like ruby’s builtin Dir (class) object, except it works on the Zip::File on which this method is invoked
Source
# File lib/zip/filesystem.rb, line 62 def file @zip_fs_file end
Returns a Zip::FileSystem::File which is much like ruby’s builtin File (class) object, except it works on the Zip::File on which this method is invoked