event-tracker 0.1 → 0.2

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