class Zip::FileSystem::ZipFsDir
Instances of this class are normally accessed via the accessor ZipFile::dir. An instance of ZipFsDir behaves like ruby's builtin Dir (class) object, except it works on ZipFile entries.
The individual methods are not documented due to their similarity with the methods in Dir
Attributes
file[W]
Public Class Methods
new(mappedZip)
click to toggle source
# File lib/zip/filesystem.rb, line 433 def initialize(mappedZip) @mappedZip = mappedZip end
Public Instance Methods
chdir(aDirectoryName)
click to toggle source
# File lib/zip/filesystem.rb, line 461 def chdir(aDirectoryName) unless @file.stat(aDirectoryName).directory? raise Errno::EINVAL, "Invalid argument - #{aDirectoryName}" end @mappedZip.pwd = @file.expand_path(aDirectoryName) end
chroot(*_args)
click to toggle source
# File lib/zip/filesystem.rb, line 505 def chroot(*_args) raise NotImplementedError, 'The chroot() function is not implemented' end
delete(entryName)
click to toggle source
# File lib/zip/filesystem.rb, line 492 def delete(entryName) unless @file.stat(entryName).directory? raise Errno::EINVAL, "Invalid argument - #{entryName}" end @mappedZip.remove(entryName) end
entries(aDirectoryName)
click to toggle source
# File lib/zip/filesystem.rb, line 468 def entries(aDirectoryName) entries = [] foreach(aDirectoryName) { |e| entries << e } entries end
foreach(aDirectoryName) { |match| ... }
click to toggle source
# File lib/zip/filesystem.rb, line 478 def foreach(aDirectoryName) unless @file.stat(aDirectoryName).directory? raise Errno::ENOTDIR, aDirectoryName end path = @file.expand_path(aDirectoryName) path << '/' unless path.end_with?('/') path = Regexp.escape(path) subDirEntriesRegex = Regexp.new("^#{path}([^/]+)$") @mappedZip.each do |fileName| match = subDirEntriesRegex.match(fileName) yield(match[1]) unless match.nil? end end
glob(*args, &block)
click to toggle source
# File lib/zip/filesystem.rb, line 474 def glob(*args, &block) @mappedZip.glob(*args, &block) end
mkdir(entryName, permissionInt = 0755)
click to toggle source
# File lib/zip/filesystem.rb, line 501 def mkdir(entryName, permissionInt = 0755) @mappedZip.mkdir(entryName, permissionInt) end
new(aDirectoryName)
click to toggle source
# File lib/zip/filesystem.rb, line 439 def new(aDirectoryName) ZipFsDirIterator.new(entries(aDirectoryName)) end
open(aDirectoryName) { |dirIt| ... }
click to toggle source
# File lib/zip/filesystem.rb, line 443 def open(aDirectoryName) dirIt = new(aDirectoryName) if block_given? begin yield(dirIt) return nil ensure dirIt.close end end dirIt end
pwd()
click to toggle source
# File lib/zip/filesystem.rb, line 456 def pwd @mappedZip.pwd end
Also aliased as: getwd