class DataHoover::Nozzle

Public Class Methods

new(trackee:, bag: DataHoover::Bags::SegmentAnalytics) click to toggle source
# File lib/data_hoover/nozzle.rb, line 4
def initialize(trackee:, bag: DataHoover::Bags::SegmentAnalytics)
  @trackee = trackee
  @bag = bag
end

Public Instance Methods

absorb(event, props={}) click to toggle source
# File lib/data_hoover/nozzle.rb, line 9
def absorb(event, props={})
  @bag.tag(
    trackee_id: DataHoover.anon(@trackee.id),
    traits: traits
  )
  @bag.wrap(
    trackee_id: DataHoover.anon(@trackee.id),
    event: event,
    properties: props
  )
end

Private Instance Methods

traits() click to toggle source
# File lib/data_hoover/nozzle.rb, line 23
def traits
  trackee_traits = DataHoover.traits.call(@trackee)
  Hash(trackee_traits).reject { |_key, value| value.nil? }
end