module UserTrackers::MixpanelTracker

Attributes

client[RW]

Public Class Methods

track(params) click to toggle source
# File lib/user_trackers/mixpanel_tracker.rb, line 12
def self.track(params)
  user_id, event_name, event_attributes, anonymous_id, user_logged_in = params.values_at('user_id', 'event_name', 'event_attributes', 'anonymous_id', 'user_logged_in')
  client.alias(user_id, anonymous_id) if user_logged_in
  client.people.set(user_id, user_attributes(user_id, event_name, event_attributes, anonymous_id)) if user_id
  client.track(
    user_id || anonymous_id, 
    event_name || "undefined_event", 
    event_attributes(user_id, event_name, event_attributes, anonymous_id) || {}
  )
end