class Mixpanel::PeopleManager
Attributes
token[RW]
Public Class Methods
new(token)
click to toggle source
# File lib/motion_panel/people_manager.rb, line 7 def initialize(token) self.token = token end
Public Instance Methods
add(distinct_id, params)
click to toggle source
# File lib/motion_panel/people_manager.rb, line 19 def add(distinct_id, params) engage_action(distinct_id, params, '$add', false) end
append(distinct_id, params)
click to toggle source
# File lib/motion_panel/people_manager.rb, line 23 def append(distinct_id, params) engage_action(distinct_id, params, '$append', false) end
delete(distinct_id)
click to toggle source
# File lib/motion_panel/people_manager.rb, line 31 def delete(distinct_id) engage_action(distinct_id, {}, '$delete', false) end
set(distinct_id, params)
click to toggle source
# File lib/motion_panel/people_manager.rb, line 11 def set(distinct_id, params) engage_action(distinct_id, params, '$set', true) end
set_once(distinct_id, params)
click to toggle source
# File lib/motion_panel/people_manager.rb, line 15 def set_once(distinct_id, params) engage_action(distinct_id, params, '$set_once', false) end
unset(distinct_id, params)
click to toggle source
# File lib/motion_panel/people_manager.rb, line 27 def unset(distinct_id, params) engage_action(distinct_id, params, '$unset', false) end
Private Instance Methods
config()
click to toggle source
# File lib/motion_panel/people_manager.rb, line 46 def config Mixpanel::ConfigManager end
engage_action(distinct_id, params, action, add_default_hash) { |body| ... }
click to toggle source
# File lib/motion_panel/people_manager.rb, line 37 def engage_action(distinct_id, params, action, add_default_hash) return false unless config.should_track? data = encode_64(person_json(distinct_id, params, action, add_default_hash)) url = "http://api.mixpanel.com/engage/?data=#{data}" AFMotion::JSON.get(url) do |result| yield result.body if block_given? end end
person_json(distinct_id, params, action, add_default_hash)
click to toggle source
# File lib/motion_panel/people_manager.rb, line 50 def person_json(distinct_id, params, action, add_default_hash) hash = { '$token' => token, '$distinct_id' => distinct_id, action => add_default_hash ? params.merge(Mixpanel.default_hash) : params } BW::JSON.generate(hash) end