class Zip::FileSystem::ZipFsFile::ZipFsStat

protected :dir

Public Class Methods

delegate_to_fs_file(*methods) click to toggle source
# File lib/zip/filesystem.rb, line 71
          def delegate_to_fs_file(*methods)
            methods.each do |method|
              class_eval "                def #{method}                      # def file?
                  @zipFsFile.#{method}(@entryName) #   @zipFsFile.file?(@entryName)
                end                                # end
", __FILE__, __LINE__ + 1
            end
          end
new(zipFsFile, entryName) click to toggle source
# File lib/zip/filesystem.rb, line 82
def initialize(zipFsFile, entryName)
  @zipFsFile = zipFsFile
  @entryName = entryName
end

Public Instance Methods

blksize() click to toggle source
# File lib/zip/filesystem.rb, line 157
def blksize
  nil
end
blocks() click to toggle source
# File lib/zip/filesystem.rb, line 96
def blocks
  nil
end
dev() click to toggle source
# File lib/zip/filesystem.rb, line 127
def dev
  0
end
ftype() click to toggle source
# File lib/zip/filesystem.rb, line 143
def ftype
  if file?
    return 'file'
  elsif directory?
    return 'directory'
  else
    raise StandardError, 'Unknown file type'
  end
end
gid() click to toggle source
# File lib/zip/filesystem.rb, line 105
def gid
  e = get_entry
  if e.extra.member? 'IUnix'
    e.extra['IUnix'].gid || 0
  else
    0
  end
end
ino() click to toggle source
# File lib/zip/filesystem.rb, line 123
def ino
  0
end
kind_of?(t) click to toggle source
Calls superclass method
# File lib/zip/filesystem.rb, line 87
def kind_of?(t)
  super || t == ::File::Stat
end
mode() click to toggle source
# File lib/zip/filesystem.rb, line 161
def mode
  e = get_entry
  if e.fstype == 3
    e.external_file_attributes >> 16
  else
    33_206 # 33206 is equivalent to -rw-rw-rw-
  end
end
rdev() click to toggle source
# File lib/zip/filesystem.rb, line 131
def rdev
  0
end
rdev_major() click to toggle source
# File lib/zip/filesystem.rb, line 135
def rdev_major
  0
end
rdev_minor() click to toggle source
# File lib/zip/filesystem.rb, line 139
def rdev_minor
  0
end
uid() click to toggle source
# File lib/zip/filesystem.rb, line 114
def uid
  e = get_entry
  if e.extra.member? 'IUnix'
    e.extra['IUnix'].uid || 0
  else
    0
  end
end

Private Instance Methods

get_entry() click to toggle source
# File lib/zip/filesystem.rb, line 100
def get_entry
  @zipFsFile.__send__(:get_entry, @entryName)
end