class Gnip::GnipStream::JsonDataBuffer

Attributes

check_pattern[RW]
split_pattern[RW]

Public Class Methods

new(split_pattern, check_pattern) click to toggle source
# File lib/gnip/gnip-stream/json_data_bufffer.rb, line 6
def initialize(split_pattern, check_pattern)
  @split_pattern = split_pattern
  @check_pattern = check_pattern
  @buffer = ''
end

Public Instance Methods

complete_entries() click to toggle source
# File lib/gnip/gnip-stream/json_data_bufffer.rb, line 16
def complete_entries
  entries = []
  while @buffer =~ check_pattern
    new_line = @buffer[@buffer.size - 2..@buffer.size - 1] == "\r\n"
    activities = @buffer.split(split_pattern)
    entries << activities.shift
    @buffer = activities.join(split_pattern)
    @buffer += "\r\n" if !@buffer.empty? && new_line
  end
  entries.reject(&:empty?)
end
process(chunk) click to toggle source
# File lib/gnip/gnip-stream/json_data_bufffer.rb, line 12
def process(chunk)
  @buffer.concat(chunk)
end