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 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