Olf Info-ZIP Extra for UNIX uid/gid and file timestampes
# File lib/zip/extra_field/old_unix.rb, line 7 def initialize(binstr = nil) @uid = 0 @gid = 0 @atime = nil @mtime = nil binstr and merge(binstr) end
# File lib/zip/extra_field/old_unix.rb, line 29 def ==(other) @uid == other.uid && @gid == other.gid && @atime == other.atime && @mtime == other.mtime end
# File lib/zip/extra_field/old_unix.rb, line 17 def merge(binstr) return if binstr.empty? size, content = initial_parse(binstr) # size: 0 for central directory. 4 for local header return if (!size || size == 0) atime, mtime, uid, gid = content.unpack("VVvv") @uid ||= uid @gid ||= gid @atime ||= atime @mtime ||= mtime end
# File lib/zip/extra_field/old_unix.rb, line 40 def pack_for_c_dir [@atime, @mtime].pack("VV") end
# File lib/zip/extra_field/old_unix.rb, line 36 def pack_for_local [@atime, @mtime, @uid, @gid].pack("VVvv") end