Class: IOStreams::Bzip2::Writer

Inherits:
Writer
  • Object
show all
Defined in:
lib/io_streams/bzip2/writer.rb

Instance Attribute Summary

Attributes inherited from Writer

#output_stream

Class Method Summary collapse

Methods inherited from Writer

file, #initialize, open

Constructor Details

This class inherits a constructor from IOStreams::Writer

Class Method Details

.stream(input_stream, original_file_name: nil, **args) ⇒ Object

Write to a stream, compressing with Bzip2



5
6
7
8
9
10
11
12
13
14
# File 'lib/io_streams/bzip2/writer.rb', line 5

def self.stream(input_stream, original_file_name: nil, **args)
  Utils.load_soft_dependency("bzip2-ffi", "Bzip2", "bzip2/ffi") unless defined?(::Bzip2::FFI)

  begin
    io = ::Bzip2::FFI::Writer.new(input_stream, args)
    yield io
  ensure
    io&.close
  end
end