class Ascii85::BufferedWriter

Buffers an underlying IO object to increase efficiency. You do not need to use this directly.

@private

Attributes

io[RW]

Public Class Methods

new(io, buffer_size) click to toggle source
# File lib/ascii85.rb, line 351
def initialize(io, buffer_size)
  @io = io
  @buffer_size = buffer_size
  @buffer = String.new(capacity: buffer_size, encoding: Encoding::ASCII_8BIT)
end

Public Instance Methods

flush() click to toggle source
# File lib/ascii85.rb, line 362
def flush
  @io.write(@buffer)
  @buffer.clear
end
write(tuple) click to toggle source
# File lib/ascii85.rb, line 357
def write(tuple)
  flush if @buffer.bytesize + tuple.bytesize > @buffer_size
  @buffer << tuple
end