user_trackers 0.0.41 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5948a32d33ca951eafc6ba34537bccdf52424d1c
4
- data.tar.gz: 651709df8c069ad8e85efc165171bc4b5794a3fd
3
+ metadata.gz: defa3cfd73c52525afba5ae239aa39321f3a609f
4
+ data.tar.gz: cc090df3362c8a09f7f00ce13c902cc545750c1d
5
5
  SHA512:
6
- metadata.gz: 880992ec151cc9266fd8b7d54f87db909fa21c5c93510cfc0baa817d6434471795733f8a63e692285c80dab9662debc4dd9b768003bf1cc829968a363ff44fce
7
- data.tar.gz: b3a2f53812cd93214f847a087c6ae09e3ae3e445b8981ce253942a1603cf7e8226c7cae9811d6cd1fa303a56624a1504429bacf12fe507e451eb114bb68a9aa2
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 Configuration
4
+ module UserTrackers
5
+ module Configuration
6
+ def self.config_path
7
+ 'config/user_trackers.yml'
8
+ end
5
9
 
6
- def self.get_yml_options
7
- config_dir = File.join(".", "config")
8
- config_file_path = nil
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
- opts = parse_config(config_file_path) if config_file_path
15
- opts
16
- end
15
+ def self.parse_config(path)
16
+ opts = YAML.load(ERB.new(File.read(path)).result) || {}
17
17
 
18
- def self.parse_config(path)
19
- opts = YAML.load(ERB.new(File.read(path)).result) || {}
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
- if opts.respond_to? :deep_symbolize_keys!
22
- opts.deep_symbolize_keys!
23
- else
24
- symbolize_keys_deep!(opts)
24
+ opts
25
25
  end
26
26
 
27
- opts
28
- end
29
-
30
- def self.symbolize_keys_deep!(hash)
31
- hash.keys.each do |k|
32
- symkey = k.respond_to?(:to_sym) ? k.to_sym : k
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
- attr_accessor :activity_channel
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: @activity_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: @activity_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.41
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