Module: DooDah::CentralDirectoryHeader
Constant Summary
ZipEntryHeader::CENTRAL_ENTRY_HEADER_SIGNATURE, ZipEntryHeader::DEFLATED, ZipEntryHeader::END_CENTRAL_DIRECTORY_SIGNATURE, ZipEntryHeader::GP_FLAGS_CRC_UNKNOWN, ZipEntryHeader::GP_FLAGS_UTF8, ZipEntryHeader::LOCAL_ENTRY_FOOTER_SIGNATURE, ZipEntryHeader::LOCAL_ENTRY_HEADER_SIGNATURE, ZipEntryHeader::LOCAL_ENTRY_STATIC_HEADER_LENGTH, ZipEntryHeader::LOCAL_ENTRY_TRAILING_DESCRIPTOR_LENGTH, ZipEntryHeader::STORED, ZipEntryHeader::VERSION_NEEDED_TO_EXTRACT
Class Method Summary
collapse
Instance Method Summary
collapse
common_header_size, name_size, #write_common_header, #write_infozip_utf8_name, #write_name
Methods included from ZipHeader
signature_size, #write_signature
Class Method Details
.end_of_central_directory_size ⇒ Object
119
120
121
|
# File 'lib/doo_dah/zip_header.rb', line 119
def self.end_of_central_directory_size
ZipHeader.signature_size + 10 + 8
end
|
.version_made_by_size ⇒ Object
123
124
125
|
# File 'lib/doo_dah/zip_header.rb', line 123
def self.version_made_by_size
2
end
|
Instance Method Details
127
128
129
130
131
132
133
134
135
136
137
138
139
|
# File 'lib/doo_dah/zip_header.rb', line 127
def
write_signature(CENTRAL_ENTRY_HEADER_SIGNATURE)
write_version_made_by
write([
0, 0, 0, (010 << 12 | 0644) << 16,
].pack('vvvVV'))
write_name
end
|
#write_end_of_central_directory ⇒ Object
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
# File 'lib/doo_dah/zip_header.rb', line 141
def write_end_of_central_directory
central_directory_size = current_offset - central_directory_offset
write_signature(END_CENTRAL_DIRECTORY_SIGNATURE)
end_of_central_directory = [
0, 0, entry_count, entry_count, central_directory_size,
central_directory_offset,
0 ].pack('vvvvVVv')
write(end_of_central_directory)
end
|
#write_version_made_by ⇒ Object
156
157
158
|
# File 'lib/doo_dah/zip_header.rb', line 156
def write_version_made_by
write([10, 3].pack('CC')) end
|