Sha256: 5e4e40d9dcd8186827469922dd998402cbe9f75bbe9dcd85a6cfcd96fe28abb6

Contents?: true

Size: 495 Bytes

Versions: 2

Compression:

Stored size: 495 Bytes

Contents

require "json"

class LogStash::Outputs::Tracker
  def initialize(emitter, base64 = true)
    @emitter = emitter
    @trackers = {}
    @base64 = base64
  end

  def track(event)
    tracker_of(event).track_unstruct_event SnowplowTracker::SelfDescribingJson.new(
      event["schema"], JSON.parse(event["message"]))
  end

  private

  def tracker_of(event)
    @trackers[event["application"]] ||= SnowplowTracker::Tracker.new(
      @emitter, nil, nil, event["application"], @base64)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
logstash-output-snowplow-0.1.1 lib/logstash/outputs/tracker.rb
logstash-output-snowplow-0.1.0 lib/logstash/outputs/tracker.rb