lib/fluq/feed/json.rb in fluq-0.7.0 vs lib/fluq/feed/json.rb in fluq-0.7.1

- old
+ new

@@ -1,28 +1,28 @@ class FluQ::Feed::Json < FluQ::Feed::Base - # @see [FluQ::Feed::Base] each - def each - buffer.drain do |io| - while line = io.gets - event = to_event(line) - yield event if event - end + # @see FluQ::Feed::Base.to_event + def self.to_event(raw) + case hash = Oj.load(raw) + when Hash + FluQ::Event.new hash.delete("="), hash.delete("@"), hash + else + logger.warn "buffer contained invalid event #{hash.inspect}" + nil end + rescue Oj::ParseError + logger.warn "buffer contained invalid line #{raw.inspect}" + nil end - private + protected - def to_event(line) - case hash = Oj.load(line) - when Hash - FluQ::Event.new hash.delete("="), hash.delete("@"), hash - else - logger.warn "buffer contained invalid event #{hash.inspect}" - nil + # @see [FluQ::Feed::Base] each_raw + def each_raw + buffer.drain do |io| + while line = io.gets + yield line + end end - rescue Oj::ParseError - logger.warn "buffer contained invalid line #{line.inspect}" - nil end end \ No newline at end of file