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
# File lib/zip/zipfilesystem.rb, line 457 def chdir(aDirectoryName) unless @file.stat(aDirectoryName).directory? raise Errno::EINVAL, "Invalid argument - #{aDirectoryName}" end @mappedZip.pwd = @file.expand_path(aDirectoryName) end
# File lib/zip/zipfilesystem.rb, line 502 def chroot(*args) raise NotImplementedError, "The chroot() function is not implemented" end
# File lib/zip/zipfilesystem.rb, line 489 def delete(entryName) unless @file.stat(entryName).directory? raise Errno::EINVAL, "Invalid argument - #{entryName}" end @mappedZip.remove(entryName) end
# File lib/zip/zipfilesystem.rb, line 464 def entries(aDirectoryName) entries = [] foreach(aDirectoryName) { |e| entries << e } entries end
# File lib/zip/zipfilesystem.rb, line 474 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 { |fileName| match = subDirEntriesRegex.match(fileName) yield(match[1]) unless match == nil } end
# File lib/zip/zipfilesystem.rb, line 470 def glob(*args,&block) @mappedZip.glob(*args,&block) end
# File lib/zip/zipfilesystem.rb, line 498 def mkdir(entryName, permissionInt = 0755) @mappedZip.mkdir(entryName, permissionInt) end
# File lib/zip/zipfilesystem.rb, line 437 def new(aDirectoryName) ZipFsDirIterator.new(entries(aDirectoryName)) end
# File lib/zip/zipfilesystem.rb, line 441 def open(aDirectoryName) dirIt = new(aDirectoryName) if block_given? begin yield(dirIt) return nil ensure dirIt.close end end dirIt end
# File lib/zip/zipfilesystem.rb, line 454 def pwd; @mappedZip.pwd; end
Generated with the Darkfish Rdoc Generator 2.