class Mengpaneel::Tracker
Attributes
distinct_id[R]
remote_ip[R]
token[R]
Public Class Methods
new(token, remote_ip = nil)
click to toggle source
Calls superclass method
# File lib/mengpaneel/tracker.rb, line 10 def initialize(token, remote_ip = nil) super(token) @people = People.new(self) @remote_ip = remote_ip @disable_all_events = false @disabled_events = [] @properties = HashWithIndifferentAccess.new @properties["ip"] = @remote_ip if @remote_ip end
Public Instance Methods
disable(events = nil)
click to toggle source
# File lib/mengpaneel/tracker.rb, line 28 def disable(events = nil) if events @disabled_events += events else @disable_all_events = true end end
get_property(property)
click to toggle source
# File lib/mengpaneel/tracker.rb, line 54 def get_property(property) @properties[property] end
identify(distinct_id)
click to toggle source
# File lib/mengpaneel/tracker.rb, line 36 def identify(distinct_id) @distinct_id = distinct_id end
push(item)
click to toggle source
# File lib/mengpaneel/tracker.rb, line 23 def push(item) method_name, args = item send(method_name, *args) end
register(properties)
click to toggle source
# File lib/mengpaneel/tracker.rb, line 40 def register(properties) @properties.merge!(properties) end
register_once(properties, default_value = "None")
click to toggle source
# File lib/mengpaneel/tracker.rb, line 44 def register_once(properties, default_value = "None") @properties.merge!(properties) do |key, oldval, newval| oldval.nil? || oldval == default_value ? newval : oldval end end
track(event, properties = {})
click to toggle source
Calls superclass method
# File lib/mengpaneel/tracker.rb, line 58 def track(event, properties = {}) return if @disable_all_events || @disabled_events.include?(event) properties = @properties.merge(properties) super(@distinct_id, event, properties) end
unregister(property)
click to toggle source
# File lib/mengpaneel/tracker.rb, line 50 def unregister(property) @properties.delete(property) end