Skip to content

Instantly share code, notes, and snippets.

@jay-snee
Created May 4, 2016 07:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jay-snee/9a05dad59385bbfe6c1ab8bd6a1a578a to your computer and use it in GitHub Desktop.
Save jay-snee/9a05dad59385bbfe6c1ab8bd6a1a578a to your computer and use it in GitHub Desktop.
Dead simple Mixpanel login/logout tracking for Devise Sessions Controllers
class Users::SessionsController < Devise::SessionsController
before_action :set_tracker
# POST /resource/sign_in
def create
super
@tracker.people.set(current_user.id, {
"$name" => current_user.name,
"$email" => current_user.email,
"class" => current_user.cohort.name,
"school" => current_user.school.name,
"role" => current_user.role
})
@tracker.track(current_user.id, 'login')
end
# DELETE /resource/sign_out
def destroy
@tracker.track(current_user.id, 'logout')
super
end
private
def set_tracker
# setup mixpanel tracker
@tracker = Mixpanel::Tracker.new(ENV['MIXPANEL_KEY'])
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment