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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bc7102810ab7b2ebbedcdd8d6384f2388ed86e9d
4
- data.tar.gz: a9e5c3a2c4a846b7d99e36a83918d10bc8c043b7
3
+ metadata.gz: 21d873ec2949c740fd2e722ac2997ced4608f1bc
4
+ data.tar.gz: b5d506b480e9561f60a430c80125839cf094fa9f
5
5
  SHA512:
6
- metadata.gz: bd06c36ce0da7b40fab4e7f1931e88717be67440eb391cc2104801414f7d92d0bf41c31c70c94fc7316571d024e0a4df398e96de57c5a8c2934ea99afef27748
7
- data.tar.gz: 81d71fa242817d86beb2b528dd602110c4a4e6b9d6d61e187b9c82daa90cb89620edc1fb21d0c5ce21dff6a11972a780520ca69b2095293b6e0cb7fd6279c33b
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 append_tracker
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
- require 'rails'
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
@@ -1,3 +1,3 @@
1
1
  module EventTracker
2
- VERSION = '0.1'
2
+ VERSION = '0.2'
3
3
  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.1'
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-08-20 00:00:00.000000000 Z
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/event_tracker.rb
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