Class: Zip::ZipExtraField::Generic
Overview
Meta class for extra fields
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
- #==(other) ⇒ Object
-
#initial_parse(binstr) ⇒ Object
return field [size, content] or false.
- #to_c_dir_bin ⇒ Object
- #to_local_bin ⇒ Object
Class Method Details
.name ⇒ Object
1643 1644 1645 |
# File 'lib/pik/contrib/zip/zip.rb', line 1643 def self.name self.to_s.split("::")[-1] end |
Instance Method Details
#==(other) ⇒ Object
1659 1660 1661 1662 1663 1664 1665 |
# File 'lib/pik/contrib/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) ⇒ Object
return field [size, content] or false
1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 |
# File 'lib/pik/contrib/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 ⇒ Object
1672 1673 1674 1675 |
# File 'lib/pik/contrib/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 ⇒ Object
1667 1668 1669 1670 |
# File 'lib/pik/contrib/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 |