user_trackers 0.0.41 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/user_trackers/configuration.rb +23 -25
- data/lib/user_trackers/slack_tracker.rb +7 -4
- metadata +57 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: defa3cfd73c52525afba5ae239aa39321f3a609f
|
4
|
+
data.tar.gz: cc090df3362c8a09f7f00ce13c902cc545750c1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f61f1c1eb99cdb7e3168166994af81fd4f506ae9f2527a5dad94988f83f3e6621b2a1d58870eec97da6db80ff917773e969755a643b5a4b799d7c4e53d3ee14f
|
7
|
+
data.tar.gz: b95a15f9c95af244fee48ebb7686d3ee2a44371b5b6e992ae8e260eee682a2d0254dead7abd52b106390969b6422c6e679da339d7d41a33f8d7f9da82bfb2d94
|
@@ -1,38 +1,36 @@
|
|
1
1
|
require "erb"
|
2
2
|
require "yaml"
|
3
3
|
|
4
|
-
module
|
4
|
+
module UserTrackers
|
5
|
+
module Configuration
|
6
|
+
def self.config_path
|
7
|
+
'config/user_trackers.yml'
|
8
|
+
end
|
5
9
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
%w[user_trackers.yml user_trackers.yml.erb].each do |config_file|
|
10
|
-
path = File.join(config_dir, config_file)
|
11
|
-
config_file_path ||= path if File.exist?(path)
|
10
|
+
def self.get_yml_options
|
11
|
+
opts = parse_config(config_path)
|
12
|
+
opts
|
12
13
|
end
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
end
|
15
|
+
def self.parse_config(path)
|
16
|
+
opts = YAML.load(ERB.new(File.read(path)).result) || {}
|
17
17
|
|
18
|
-
|
19
|
-
|
18
|
+
if opts.respond_to? :deep_symbolize_keys!
|
19
|
+
opts.deep_symbolize_keys!
|
20
|
+
else
|
21
|
+
symbolize_keys_deep!(opts)
|
22
|
+
end
|
20
23
|
|
21
|
-
|
22
|
-
opts.deep_symbolize_keys!
|
23
|
-
else
|
24
|
-
symbolize_keys_deep!(opts)
|
24
|
+
opts
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
hash[symkey] = hash.delete k
|
34
|
-
symbolize_keys_deep! hash[symkey] if hash[symkey].is_a? Hash
|
27
|
+
def self.symbolize_keys_deep!(hash)
|
28
|
+
hash.keys.each do |k|
|
29
|
+
symkey = k.respond_to?(:to_sym) ? k.to_sym : k
|
30
|
+
hash[symkey] = hash.delete k
|
31
|
+
symbolize_keys_deep! hash[symkey] if hash[symkey].is_a? Hash
|
32
|
+
end
|
35
33
|
end
|
34
|
+
|
36
35
|
end
|
37
|
-
|
38
36
|
end
|
@@ -2,7 +2,11 @@ module UserTrackers
|
|
2
2
|
module SlackTracker
|
3
3
|
class << self
|
4
4
|
attr_accessor :client
|
5
|
-
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.activity_channel
|
8
|
+
opts = UserTrackers.options
|
9
|
+
opts[Rails.env.to_sym][:slack][:activity_channel]
|
6
10
|
end
|
7
11
|
|
8
12
|
def self.client
|
@@ -11,7 +15,6 @@ module UserTrackers
|
|
11
15
|
Slack.configure do |config|
|
12
16
|
config.token = opts[Rails.env.to_sym][:slack][:token]
|
13
17
|
end
|
14
|
-
@activity_channel = opts[Rails.env.to_sym][:slack][:activity_channel]
|
15
18
|
@client = Slack::Web::Client.new
|
16
19
|
end
|
17
20
|
@client
|
@@ -21,12 +24,12 @@ module UserTrackers
|
|
21
24
|
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')
|
22
25
|
if user_logged_in
|
23
26
|
client.chat_postMessage(
|
24
|
-
channel:
|
27
|
+
channel: activity_channel,
|
25
28
|
text: "An anonymous person with id *#{anonymous_id}* `logged in as` user with id *#{user_id}*"
|
26
29
|
)
|
27
30
|
end
|
28
31
|
client.chat_postMessage(
|
29
|
-
channel:
|
32
|
+
channel: activity_channel,
|
30
33
|
text: message_for_event(user_id, event_name, event_attributes, anonymous_id)
|
31
34
|
)
|
32
35
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: user_trackers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Camilo Barraza
|
@@ -122,6 +122,62 @@ dependencies:
|
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: 3.9.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rspec-rails
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rails
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 5.2.1
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 5.2.1
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rspec-sidekiq
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 3.0.0
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 3.0.0
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: resque_spec
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.18.0
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 0.18.0
|
125
181
|
description: Gem for tracking user's activity on a rails app using mixpanel, intercom,
|
126
182
|
slack and database
|
127
183
|
email: cbarraza11@gmail.com
|