Module: UserTrackers::SlackTracker

Defined in:
lib/user_trackers/slack_tracker.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.clientObject

Returns the value of attribute client.



4
5
6
# File 'lib/user_trackers/slack_tracker.rb', line 4

def client
  @client
end

Class Method Details

.activity_channelObject



7
8
9
10
# File 'lib/user_trackers/slack_tracker.rb', line 7

def self.activity_channel
  opts = UserTrackers.options
  opts[Rails.env.to_sym][:slack][:activity_channel]
end

.track(params) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/user_trackers/slack_tracker.rb', line 23

def self.track(params)
  user_id, event_name, event_attributes, anonymous_id, user_logged_in = params.values_at('user_id', 'event_name', 'event_attributes', 'anonymous_id', 'user_logged_in')
  if user_logged_in
    client.chat_postMessage(
      channel: activity_channel,
      text: "An anonymous person with id *#{anonymous_id}* `logged in as` user with id *#{user_id}*"
    )
  end
  client.chat_postMessage(
    channel: activity_channel,
    text: message_for_event(user_id, event_name, event_attributes, anonymous_id)
  )
end