Class: TCellAgent::SensorEvents::SessionsMetric::UserSessionTrackMetric

Inherits:
Hash
  • Object
show all
Defined in:
lib/tcell_agent/sensor_events/metrics.rb

Instance Method Summary collapse

Constructor Details

#initialize(object_counter, user_id) ⇒ UserSessionTrackMetric

Returns a new instance of UserSessionTrackMetric.



42
43
44
45
46
47
# File 'lib/tcell_agent/sensor_events/metrics.rb', line 42

def initialize(object_counter, user_id)
  @object_counter = object_counter
  @user_agents = {}
  self["uid"] = user_id
  self["track"] = []
end

Instance Method Details

#add_user_agent_ip(truncated_agent, ip_address) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/tcell_agent/sensor_events/metrics.rb', line 49

def add_user_agent_ip(truncated_agent, ip_address)
  if @user_agents.has_key?(truncated_agent)
    tracked_agents = @user_agents[truncated_agent]
    ips = tracked_agents[1]
    unless ips.include?(ip_address)
      @object_counter.add_object
      ips.push(ip_address)
    end
  else
    @object_counter.add_object
    @user_agents[truncated_agent] = [truncated_agent, [ip_address]]
    self["track"].push(@user_agents[truncated_agent])
  end
end