Class Zip::ZipExtraField::IUnix
In: lib/zip/zip.rb
Parent: Generic

Info-ZIP Extra for UNIX uid/gid

Methods

==   merge   new   pack_for_c_dir   pack_for_local  

Constants

HEADER_ID = "Ux"

Attributes

gid  [RW] 
uid  [RW] 

Public Class methods

[Source]

# File lib/zip/zip.rb, line 1762
      def initialize(binstr = nil)
        @uid = 0
        @gid = 0
        binstr and merge(binstr)
      end

Public Instance methods

[Source]

# File lib/zip/zip.rb, line 1779
      def ==(other)
        @uid == other.uid &&
        @gid == other.gid
      end

[Source]

# File lib/zip/zip.rb, line 1769
      def merge(binstr)
        binstr == "" and return
        size, content = initial_parse(binstr)
        # size: 0 for central direcotry. 4 for local header
        return if(! size || size == 0)
        uid, gid = content.unpack("vv")
        @uid ||= uid
        @gid ||= gid
      end

[Source]

# File lib/zip/zip.rb, line 1788
      def pack_for_c_dir
        ""
      end

[Source]

# File lib/zip/zip.rb, line 1784
      def pack_for_local
        [@uid, @gid].pack("vv")
      end

[Validate]