class Zip::FileSystem::ZipFsFile::ZipFsStat
def blksize
def blksize nil end
def blocks
def blocks nil end
def delegate_to_fs_file(*methods)
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
def dev
def dev 0 end
def ftype
def ftype if file? 'file' elsif directory? 'directory' else raise StandardError, 'Unknown file type' end end
def get_entry
def get_entry @zip_fs_file.__send__(:get_entry, @entry_name) end
def gid
def gid e = get_entry if e.extra.member? 'IUnix' e.extra['IUnix'].gid || 0 else 0 end end
def initialize(zip_fs_file, entry_name)
def initialize(zip_fs_file, entry_name) @zip_fs_file = zip_fs_file @entry_name = entry_name end
def ino
def ino 0 end
def kind_of?(type)
def kind_of?(type) super || type == ::File::Stat end
def mode
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
def nlink
def nlink 1 end
def rdev
def rdev 0 end
def rdev_major
def rdev_major 0 end
def rdev_minor
def rdev_minor 0 end
def uid
def uid e = get_entry if e.extra.member? 'IUnix' e.extra['IUnix'].uid || 0 else 0 end end