event-tracker 0.1 → 0.2
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 +4 -4
- data/lib/event-tracker.rb +20 -0
- data/lib/{event_tracker.rb → event_tracker/action_controller_extensions.rb} +5 -69
- data/lib/event_tracker/config.rb +18 -0
- data/lib/event_tracker/helper_methods.rb +48 -0
- data/lib/event_tracker/railtie.rb +7 -5
- data/lib/event_tracker/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21d873ec2949c740fd2e722ac2997ced4608f1bc
|
4
|
+
data.tar.gz: b5d506b480e9561f60a430c80125839cf094fa9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c6d7f78071293a7dabf8e964ef7ac34a6af681566afe1a04b7c9fdcf20e9c53023a7d83aeaaf16f84ed1a4695c072c21ec23ae81e56eb3a42aaea90f2638bcb
|
7
|
+
data.tar.gz: c6631d7a706bce15e37d1113ae94344d720e6decbc623b67df9f31d2cd65efbf53274bc8d1f10d3d2c4ac5e271f92b3a7508f5dc09b1ed466482c608961fdf4d
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module EventTracker
|
2
|
+
end
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'rails'
|
6
|
+
rescue LoadError
|
7
|
+
#do nothing
|
8
|
+
end
|
9
|
+
|
10
|
+
require 'core_ext/hash'
|
11
|
+
|
12
|
+
require 'event_tracker/config'
|
13
|
+
require 'event_tracker/tracker'
|
14
|
+
require 'event_tracker/helper_methods'
|
15
|
+
require 'event_tracker/action_controller_extensions'
|
16
|
+
require 'event_tracker/segment_io'
|
17
|
+
|
18
|
+
if defined? Rails
|
19
|
+
require 'event_tracker/railtie'
|
20
|
+
end
|
@@ -1,74 +1,10 @@
|
|
1
|
-
require 'core_ext/hash'
|
2
|
-
require 'event_tracker/tracker'
|
3
|
-
require 'event_tracker/segment_io'
|
4
|
-
|
5
1
|
module EventTracker
|
6
|
-
class Config
|
7
|
-
attr_accessor :segment_io_key
|
8
|
-
attr_accessor :disabled
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.config
|
12
|
-
@config ||= Config.new
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.configure
|
16
|
-
yield self.config
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.disabled?
|
20
|
-
@config.disabled == true
|
21
|
-
end
|
22
|
-
|
23
|
-
# Defines all the helper methods that become available at the controller level
|
24
|
-
module HelperMethods
|
25
|
-
def track_event(event_name, args = {})
|
26
|
-
(session[:tracker_events] ||= []) << [event_name, _sanitize_args(args)]
|
27
|
-
end
|
28
|
-
|
29
|
-
def register_properties(args)
|
30
|
-
(session[:tracker_properties] ||= {}).merge!(_sanitize_args(args))
|
31
|
-
end
|
32
|
-
|
33
|
-
def track_pageview(name, category, args = {})
|
34
|
-
(session[:tracker_pageviews] ||= []) << [name, category, _sanitize_args(args)]
|
35
|
-
end
|
36
|
-
|
37
|
-
def create_alias(identity1, identity2)
|
38
|
-
(session[:tracker_alias] ||= []) << [identity1, identity2]
|
39
|
-
end
|
40
|
-
|
41
|
-
def track_transaction(event_name, args = {})
|
42
|
-
(session[:tracker_transactions] ||= []) << [event_name, _sanitize_args(args)]
|
43
|
-
end
|
44
|
-
|
45
|
-
def identify_for_user(user, with_info = false)
|
46
|
-
_trackers.each do |tracker|
|
47
|
-
tracker.identify_for_identity(_tracker_identity(user), with_info)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
def create_alias_for_user(identity1, identity2)
|
52
|
-
_trackers.each do |tracker|
|
53
|
-
tracker.create_alias_for_identity(identity1, identity2)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def track_event_for_user(user, event_name, args = {})
|
58
|
-
_trackers.each do |tracker|
|
59
|
-
tracker.track_event_for_identity(_tracker_identity(user), event_name, _sanitize_args(args))
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
def track_transaction_for_user(user, event_name, args = {})
|
64
|
-
_trackers.each do |tracker|
|
65
|
-
tracker.track_transaction_for_identity(_tracker_identity(user), event_name, _sanitize_args(args))
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
2
|
module ActionControllerExtension
|
71
|
-
def
|
3
|
+
def self.included(base)
|
4
|
+
base.send(:after_filter, :_append_tracker)
|
5
|
+
end
|
6
|
+
|
7
|
+
def _append_tracker
|
72
8
|
return if EventTracker.disabled? || _trackers.empty?
|
73
9
|
body = response.body
|
74
10
|
head_insert_at = body.index('</head')
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module EventTracker
|
2
|
+
class Config
|
3
|
+
attr_accessor :segment_io_key
|
4
|
+
attr_accessor :disabled
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.config
|
8
|
+
@config ||= Config.new
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.configure
|
12
|
+
yield self.config
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.disabled?
|
16
|
+
@config.disabled == true
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module EventTracker
|
2
|
+
# Defines all the helper methods that become available at the controller level
|
3
|
+
module HelperMethods
|
4
|
+
def track_event(event_name, args = {})
|
5
|
+
(session[:tracker_events] ||= []) << [event_name, _sanitize_args(args)]
|
6
|
+
end
|
7
|
+
|
8
|
+
def register_properties(args)
|
9
|
+
(session[:tracker_properties] ||= {}).merge!(_sanitize_args(args))
|
10
|
+
end
|
11
|
+
|
12
|
+
def track_pageview(name, category, args = {})
|
13
|
+
(session[:tracker_pageviews] ||= []) << [name, category, _sanitize_args(args)]
|
14
|
+
end
|
15
|
+
|
16
|
+
def create_alias(identity1, identity2)
|
17
|
+
(session[:tracker_alias] ||= []) << [identity1, identity2]
|
18
|
+
end
|
19
|
+
|
20
|
+
def track_transaction(event_name, args = {})
|
21
|
+
(session[:tracker_transactions] ||= []) << [event_name, _sanitize_args(args)]
|
22
|
+
end
|
23
|
+
|
24
|
+
def identify_for_user(user, with_info = false)
|
25
|
+
_trackers.each do |tracker|
|
26
|
+
tracker.identify_for_identity(_tracker_identity(user), with_info)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def create_alias_for_user(identity1, identity2)
|
31
|
+
_trackers.each do |tracker|
|
32
|
+
tracker.create_alias_for_identity(identity1, identity2)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def track_event_for_user(user, event_name, args = {})
|
37
|
+
_trackers.each do |tracker|
|
38
|
+
tracker.track_event_for_identity(_tracker_identity(user), event_name, _sanitize_args(args))
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def track_transaction_for_user(user, event_name, args = {})
|
43
|
+
_trackers.each do |tracker|
|
44
|
+
tracker.track_transaction_for_identity(_tracker_identity(user), event_name, _sanitize_args(args))
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -1,10 +1,12 @@
|
|
1
1
|
module EventTracker
|
2
|
-
|
3
|
-
|
4
|
-
class Railtie < Rails::Railtie
|
5
|
-
|
6
|
-
initializer 'event_tracker' do |app|
|
2
|
+
class Railtie < ::Rails::Railtie
|
7
3
|
|
4
|
+
initializer 'event_tracker' do |_app|
|
5
|
+
ActiveSupport.on_load(:action_controller) do
|
6
|
+
ActionController::Base.send(:include, EventTracker::ActionControllerExtension)
|
7
|
+
ActionController::Base.send(:include, EventTracker::HelperMethods)
|
8
|
+
ActionController::Base.send(:helper, EventTracker::HelperMethods)
|
9
|
+
end
|
8
10
|
end
|
9
11
|
end
|
10
12
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: event-tracker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Donald Piret
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: analytics-ruby
|
@@ -130,7 +130,10 @@ files:
|
|
130
130
|
- MIT-LICENSE
|
131
131
|
- README.rdoc
|
132
132
|
- lib/core_ext/hash.rb
|
133
|
-
- lib/
|
133
|
+
- lib/event-tracker.rb
|
134
|
+
- lib/event_tracker/action_controller_extensions.rb
|
135
|
+
- lib/event_tracker/config.rb
|
136
|
+
- lib/event_tracker/helper_methods.rb
|
134
137
|
- lib/event_tracker/railtie.rb
|
135
138
|
- lib/event_tracker/segment_io.rb
|
136
139
|
- lib/event_tracker/tracker.rb
|