Class: PureRubyZip::ZipFileItem
- Inherits:
-
Object
- Object
- PureRubyZip::ZipFileItem
show all
- Includes:
- ZipHelpers
- Defined in:
- lib/pure_ruby_zip.rb
Instance Method Summary
collapse
Methods included from ZipHelpers
#find_string, #read_int, #skip
Constructor Details
#initialize(filename, offset) ⇒ ZipFileItem
Returns a new instance of ZipFileItem.
159
160
161
162
|
# File 'lib/pure_ruby_zip.rb', line 159
def initialize(filename, offset)
@filename = filename
@offset = offset
end
|
Instance Method Details
#get_decompressed_data(zipfile) ⇒ Object
186
187
188
189
190
191
192
193
194
195
196
197
|
# File 'lib/pure_ruby_zip.rb', line 186
def get_decompressed_data(zipfile)
zipfile.seek @offset
skip zipfile, 8
compression_type = read_int zipfile, 2
data = if compression_type == 8
handle_compressed zipfile
else
handle_uncompressed zipfile
end
end
|
#handle_compressed(zipfile) ⇒ Object
177
178
179
180
181
182
|
# File 'lib/pure_ruby_zip.rb', line 177
def handle_compressed(zipfile)
data = read_data zipfile
b = Bitstream.new data
z = ZipDecompressor.new
z.decode_zipped_file b
end
|
#handle_uncompressed(zipfile) ⇒ Object
183
184
185
|
# File 'lib/pure_ruby_zip.rb', line 183
def handle_uncompressed(zipfile)
read_data zipfile
end
|
#read_data(zipfile) ⇒ Object
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
# File 'lib/pure_ruby_zip.rb', line 163
def read_data(zipfile)
skip zipfile, 8
compressed_size = read_int zipfile, 4
skip zipfile, 6
= read_int zipfile, 2
skip zipfile, @filename.length +
zipfile.read compressed_size
end
|