Class: Magritte::LineBufferOutputStream

Inherits:
Object
  • Object
show all
Defined in:
lib/magritte/iostreams.rb

Instance Method Summary collapse

Constructor Details

#initialize(output_proc, record_separator = "\n") ⇒ LineBufferOutputStream

Returns a new instance of LineBufferOutputStream.



52
53
54
55
# File 'lib/magritte/iostreams.rb', line 52

def initialize(output_proc, record_separator="\n") 
  @output_proc = output_proc;
  @buffer = LineBuffer.new(record_separator)
end

Instance Method Details

#write(data) ⇒ Object



57
58
59
60
61
# File 'lib/magritte/iostreams.rb', line 57

def write(data)
  bytes_written = @buffer.write(data)
  @buffer.each_line { |line| @output_proc.call(line) }
  bytes_written
end