Sha256: 675caf37993ee1aa0c6a161fdfd8f2dd955309b99f64eb6abef7f4eb66bdbde1

Contents?: true

Size: 585 Bytes

Versions: 3

Compression:

Stored size: 585 Bytes

Contents

class FluQ::Feed::Json < FluQ::Feed::Base

  # @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

  protected

    # @see [FluQ::Feed::Base] each_raw
    def each_raw
      buffer.drain do |io|
        while line = io.gets
          yield line
        end
      end
    end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
fluq-0.7.5 lib/fluq/feed/json.rb
fluq-0.7.3 lib/fluq/feed/json.rb
fluq-0.7.1 lib/fluq/feed/json.rb