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 <<-END_EVAL, __FILE__, __LINE__ + 1
                def #{method}                      # def file?
                  @zip_fs_file.#{method}(@entry_name) #   @zip_fs_file.file?(@entry_name)
                end                                # end
              END_EVAL
            end
          end
new(zip_fs_file, entry_name) click to toggle source
# File lib/zip/filesystem.rb, line 82
def initialize(zip_fs_file, entry_name)
  @zip_fs_file = zip_fs_file
  @entry_name = entry_name
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?
    'file'
  elsif directory?
    '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?(type) click to toggle source
Calls superclass method
# File lib/zip/filesystem.rb, line 87
def kind_of?(type)
  super || type == ::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
  @zip_fs_file.__send__(:get_entry, @entry_name)
end