class Rodimus::BufferedStep
Attributes
buffer[R]
buffer_size[RW]
The maximum size of the buffer
Public Class Methods
new(buffer_size = 100)
click to toggle source
Calls superclass method
# File lib/rodimus/buffered_step.rb, line 8 def initialize(buffer_size = 100) super() @buffer_size = buffer_size @buffer = [] end
Public Instance Methods
close_descriptors()
click to toggle source
Calls superclass method
# File lib/rodimus/buffered_step.rb, line 14 def close_descriptors # override flush if buffer.any? super end
flush()
click to toggle source
Flush the contents of the buffer to the outgoing data stream
# File lib/rodimus/buffered_step.rb, line 28 def flush outgoing.puts(buffer.join("\n")) @buffer = [] end
handle_output(transformed_row)
click to toggle source
# File lib/rodimus/buffered_step.rb, line 19 def handle_output(transformed_row) # override buffer << transformed_row if buffer.length >= buffer_size flush end end