class Zip::ZipExtraField::Generic
Meta class for extra fields
Public Class Methods
name()
click to toggle source
# File lib/zip/zip.rb, line 1643 def self.name self.to_s.split("::")[-1] end
register_map()
click to toggle source
# File lib/zip/zip.rb, line 1637 def self.register_map if self.const_defined?(:HEADER_ID) ID_MAP[self.const_get(:HEADER_ID)] = self end end
Public Instance Methods
==(other)
click to toggle source
# File lib/zip/zip.rb, line 1659 def ==(other) self.class != other.class and return false each { |k, v| v != other[k] and return false } true end
initial_parse(binstr)
click to toggle source
return field [size, content] or false
# File lib/zip/zip.rb, line 1648 def initial_parse(binstr) if ! binstr # If nil, start with empty. return false elsif binstr[0,2] != self.class.const_get(:HEADER_ID) $stderr.puts "Warning: weired extra feild header ID. skip parsing" return false end [binstr[2,2].unpack("v")[0], binstr[4..-1]] end
to_c_dir_bin()
click to toggle source
# File lib/zip/zip.rb, line 1672 def to_c_dir_bin s = pack_for_c_dir self.class.const_get(:HEADER_ID) + [s.length].pack("v") + s end
to_local_bin()
click to toggle source
# File lib/zip/zip.rb, line 1667 def to_local_bin s = pack_for_local self.class.const_get(:HEADER_ID) + [s.length].pack("v") + s end