class Mixpanel::EventManager

Public Class Methods

new(token) click to toggle source
# File lib/motion_panel/event_manager.rb, line 5
def initialize(token)
  @token = token
end

Public Instance Methods

people() click to toggle source
# File lib/motion_panel/event_manager.rb, line 18
def people
  people_manager
end
set_person(distinct_id, params = {}) click to toggle source
# File lib/motion_panel/event_manager.rb, line 22
def set_person(distinct_id, params = {})
  puts '## Set person is depreciated, please use people.set'
  return false unless config.should_track?
  people_manager.set(distinct_id, params)
end
track(event_name, params = {}) { |body| ... } click to toggle source
# File lib/motion_panel/event_manager.rb, line 9
def track(event_name, params = {})
  return false unless config.should_track?
  data = encode_64(event_json(event_name, params))
  url = "http://api.mixpanel.com/track/?data=#{data}"
  AFMotion::JSON.get(url) do |result|
    yield result.body if block_given?
  end
end

Private Instance Methods

config() click to toggle source
# File lib/motion_panel/event_manager.rb, line 30
def config
  Mixpanel::ConfigManager
end
event_json(name, params) click to toggle source
# File lib/motion_panel/event_manager.rb, line 38
def event_json(name, params)
  hash = {
    'event' => name,
    'properties' => {
      'token' => @token
    }.merge(params).merge(Mixpanel.default_hash)
  }
  BW::JSON.generate(hash)
end
people_manager() click to toggle source
# File lib/motion_panel/event_manager.rb, line 34
def people_manager
  @people_manager ||= PeopleManager.new(@token)
end