Class: Rack::Compress::Deflater::ZstandardStream

Inherits:
Object
  • Object
show all
Includes:
Utils
Defined in:
lib/rack/compress/deflater.rb

Instance Method Summary collapse

Constructor Details

#initialize(body, level) ⇒ ZstandardStream

Returns a new instance of ZstandardStream.



104
105
106
107
108
# File 'lib/rack/compress/deflater.rb', line 104

def initialize(body, level)
  @body = body
  @level = level
  @compressor = ::Zstd::StreamingCompress.new(level)
end

Instance Method Details

#closeObject



122
123
124
# File 'lib/rack/compress/deflater.rb', line 122

def close
  @body.close if @body.respond_to?(:close)
end

#each(&block) ⇒ Object



110
111
112
113
114
115
116
117
118
119
120
# File 'lib/rack/compress/deflater.rb', line 110

def each(&block)
  @writer = block

  @body.each do |part|
    yield @compressor.compress(part)
  end

  yield @compressor.finish
ensure
  @writer = nil
end