Method: Fluent::Plugin::Buffer::Chunk::Decompressable#open
- Defined in:
- lib/fluent/plugin/buffer/chunk.rb
#open(**kwargs, &block) ⇒ Object
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 |
# File 'lib/fluent/plugin/buffer/chunk.rb', line 201 def open(**kwargs, &block) if kwargs[:compressed] == :gzip super else super(**kwargs) do |chunk_io| output_io = if chunk_io.is_a?(StringIO) StringIO.new else Tempfile.new('decompressed-data') end output_io.binmode if output_io.is_a?(Tempfile) decompress(input_io: chunk_io, output_io: output_io) output_io.seek(0, IO::SEEK_SET) yield output_io end end end |