Class: Droonga::LineBuffer

Inherits:
Object
  • Object
show all
Defined in:
lib/droonga/line_buffer.rb

Instance Method Summary collapse

Constructor Details

#initializeLineBuffer

Returns a new instance of LineBuffer.



18
19
20
# File 'lib/droonga/line_buffer.rb', line 18

def initialize
  @buffer = ""
end

Instance Method Details

#feed(data) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/droonga/line_buffer.rb', line 22

def feed(data)
  position = 0
  loop do
    new_line_position = data.index("\n", position)
    if new_line_position.nil?
      @buffer << data[position..-1]
      break
    end

    line = data[position..new_line_position]
    if position.zero?
      yield(@buffer + line)
      @buffer.clear
    else
      yield(line)
    end
    position = new_line_position + 1
  end
end