Class: Harbor::ZippedIO::Deflater

Inherits:
Object
  • Object
show all
Defined in:
lib/harbor/zipped_io.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file, level = 0) ⇒ Deflater

Returns a new instance of Deflater.



65
66
67
68
# File 'lib/harbor/zipped_io.rb', line 65

def initialize(file, level = 0)
  @file = file
  @zlibDeflater = Zlib::Deflate.new(level, -Zlib::MAX_WBITS)
end

Instance Attribute Details

#sizeObject

Returns the value of attribute size.



63
64
65
# File 'lib/harbor/zipped_io.rb', line 63

def size
  @size
end

Instance Method Details

#readObject



70
71
72
73
74
75
76
77
78
79
# File 'lib/harbor/zipped_io.rb', line 70

def read
  @file.rewind
  while data = @file.read(Harbor::ZippedIO::block_size)
    yield @zlibDeflater.deflate(data)
  end
  until @zlibDeflater.finished?
    yield @zlibDeflater.finish
  end
  nil
end