class Zip::ExtraField::IUnix
Info-ZIP Extra for UNIX uid/gid
Constants
- HEADER_ID
Attributes
gid[RW]
uid[RW]
Public Class Methods
new(binstr = nil)
click to toggle source
# File lib/zip/extra_field/unix.rb, line 7 def initialize(binstr = nil) @uid = 0 @gid = 0 binstr && merge(binstr) end
Public Instance Methods
==(other)
click to toggle source
# File lib/zip/extra_field/unix.rb, line 27 def ==(other) @uid == other.uid && @gid == other.gid end
merge(binstr)
click to toggle source
# File lib/zip/extra_field/unix.rb, line 15 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 uid, gid = content.unpack('vv') @uid ||= uid @gid ||= gid # rubocop:disable Naming/MemoizedInstanceVariableName end
pack_for_c_dir()
click to toggle source
# File lib/zip/extra_field/unix.rb, line 35 def pack_for_c_dir '' end
pack_for_local()
click to toggle source
# File lib/zip/extra_field/unix.rb, line 31 def pack_for_local [@uid, @gid].pack('vv') end