rack-tracker 1.3.1 → 1.4.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 +4 -4
- data/CHANGELOG.md +11 -0
- data/README.md +24 -5
- data/lib/rack/tracker.rb +18 -11
- data/lib/rack/tracker/criteo/criteo.rb +1 -5
- data/lib/rack/tracker/facebook/facebook.rb +0 -4
- data/lib/rack/tracker/facebook_pixel/facebook_pixel.rb +0 -4
- data/lib/rack/tracker/go_squared/go_squared.rb +0 -4
- data/lib/rack/tracker/google_adwords_conversion/google_adwords_conversion.rb +0 -4
- data/lib/rack/tracker/google_analytics/google_analytics.rb +0 -4
- data/lib/rack/tracker/google_tag_manager/template/google_tag_manager_head.erb +25 -11
- data/lib/rack/tracker/handler.rb +22 -3
- data/lib/rack/tracker/handler_delegator.rb +3 -12
- data/lib/rack/tracker/hotjar/hotjar.rb +2 -0
- data/lib/rack/tracker/hotjar/template/hotjar.erb +10 -0
- data/lib/rack/tracker/version.rb +1 -1
- data/lib/rack/tracker/vwo/vwo.rb +1 -4
- data/lib/rack/tracker/zanox/zanox.rb +0 -4
- data/spec/benchmark/tracker_injection_benchmark.rb +47 -0
- data/spec/fixtures/views/metal/turing.html.erb +2517 -0
- data/spec/handler/hotjar_spec.rb +10 -0
- data/spec/integration/google_tag_manager_integration_spec.rb +10 -0
- data/spec/integration/hotjar_integration_spec.rb +17 -0
- data/spec/support/metal_controller.rb +16 -0
- metadata +13 -3
@@ -22,4 +22,14 @@ RSpec.describe "Google Tag Manager Integration" do
|
|
22
22
|
expect(page.find("head")).to_not have_content "dataLayer.push("
|
23
23
|
expect(page.find("body")).to have_xpath '//body/noscript/iframe[@src="https://www.googletagmanager.com/ns.html?id=GTM-ABCDEF"]'
|
24
24
|
end
|
25
|
+
|
26
|
+
it "embeds the turbolinks observer if requested" do
|
27
|
+
visit '/'
|
28
|
+
expect(page.find("head")).to_not have_content "turbolinks:load"
|
29
|
+
setup_app(action: :google_tag_manager) do |tracker|
|
30
|
+
tracker.handler :google_tag_manager, { container: 'GTM-ABCDEF', turbolinks: true }
|
31
|
+
end
|
32
|
+
visit '/'
|
33
|
+
expect(page.find("head")).to have_content "turbolinks:load"
|
34
|
+
end
|
25
35
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'support/capybara_app_helper'
|
2
|
+
|
3
|
+
RSpec.describe "Hotjar Integration" do
|
4
|
+
before do
|
5
|
+
setup_app(action: :hotjar) do |tracker|
|
6
|
+
tracker.handler :hotjar, { site_id: '4711' }
|
7
|
+
end
|
8
|
+
|
9
|
+
visit '/'
|
10
|
+
end
|
11
|
+
|
12
|
+
subject { page }
|
13
|
+
|
14
|
+
it 'embeds the script with site_id' do
|
15
|
+
expect(page).to have_content(/function\(h,o,t,j,a,r\)(.*)4711/)
|
16
|
+
end
|
17
|
+
end
|
@@ -14,6 +14,18 @@ class MetalController < ActionController::Metal
|
|
14
14
|
append_view_path File.join(File.dirname(__FILE__), '../fixtures/views')
|
15
15
|
layout 'application'
|
16
16
|
|
17
|
+
def turing
|
18
|
+
tracker do |t|
|
19
|
+
t.track_all_the_things like: 'turing'
|
20
|
+
t.another_handler likes: 'turing'
|
21
|
+
end
|
22
|
+
render "metal/turing", layout: false
|
23
|
+
end
|
24
|
+
|
25
|
+
def do_not_track_alan
|
26
|
+
render "metal/turing", layout: false
|
27
|
+
end
|
28
|
+
|
17
29
|
def index
|
18
30
|
tracker do |t|
|
19
31
|
t.track_all_the_things like: 'no-one-else'
|
@@ -94,4 +106,8 @@ class MetalController < ActionController::Metal
|
|
94
106
|
end
|
95
107
|
render 'metal/index'
|
96
108
|
end
|
109
|
+
|
110
|
+
def hotjar
|
111
|
+
render "metal/index"
|
112
|
+
end
|
97
113
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-tracker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lars Brillert
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-08-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
@@ -178,6 +178,8 @@ files:
|
|
178
178
|
- lib/rack/tracker/google_tag_manager/template/google_tag_manager_head.erb
|
179
179
|
- lib/rack/tracker/handler.rb
|
180
180
|
- lib/rack/tracker/handler_delegator.rb
|
181
|
+
- lib/rack/tracker/hotjar/hotjar.rb
|
182
|
+
- lib/rack/tracker/hotjar/template/hotjar.erb
|
181
183
|
- lib/rack/tracker/javascript_helper.rb
|
182
184
|
- lib/rack/tracker/railtie.rb
|
183
185
|
- lib/rack/tracker/version.rb
|
@@ -186,11 +188,13 @@ files:
|
|
186
188
|
- lib/rack/tracker/zanox/template/zanox.erb
|
187
189
|
- lib/rack/tracker/zanox/zanox.rb
|
188
190
|
- rack-tracker.gemspec
|
191
|
+
- spec/benchmark/tracker_injection_benchmark.rb
|
189
192
|
- spec/fixtures/another_handler.erb
|
190
193
|
- spec/fixtures/dummy.erb
|
191
194
|
- spec/fixtures/track_all_the_things.erb
|
192
195
|
- spec/fixtures/views/layouts/application.html.erb
|
193
196
|
- spec/fixtures/views/metal/index.html.erb
|
197
|
+
- spec/fixtures/views/metal/turing.html.erb
|
194
198
|
- spec/handler/criteo_spec.rb
|
195
199
|
- spec/handler/facebook_pixel_spec.rb
|
196
200
|
- spec/handler/facebook_spec.rb
|
@@ -198,6 +202,7 @@ files:
|
|
198
202
|
- spec/handler/google_adwords_conversion_spec.rb
|
199
203
|
- spec/handler/google_analytics_spec.rb
|
200
204
|
- spec/handler/google_tag_manager_spec.rb
|
205
|
+
- spec/handler/hotjar_spec.rb
|
201
206
|
- spec/handler/vwo_spec.rb
|
202
207
|
- spec/handler/zanox_spec.rb
|
203
208
|
- spec/integration/criteo_integration_spec.rb
|
@@ -207,6 +212,7 @@ files:
|
|
207
212
|
- spec/integration/google_adwords_conversion_integration_spec.rb
|
208
213
|
- spec/integration/google_analytics_integration_spec.rb
|
209
214
|
- spec/integration/google_tag_manager_integration_spec.rb
|
215
|
+
- spec/integration/hotjar_integration_spec.rb
|
210
216
|
- spec/integration/rails_integration_spec.rb
|
211
217
|
- spec/integration/vwo_integration_spec.rb
|
212
218
|
- spec/integration/zanox_integration_spec.rb
|
@@ -239,16 +245,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
239
245
|
version: '0'
|
240
246
|
requirements: []
|
241
247
|
rubyforge_project:
|
242
|
-
rubygems_version: 2.5.1
|
248
|
+
rubygems_version: 2.4.5.1
|
243
249
|
signing_key:
|
244
250
|
specification_version: 4
|
245
251
|
summary: Tracking made easy
|
246
252
|
test_files:
|
253
|
+
- spec/benchmark/tracker_injection_benchmark.rb
|
247
254
|
- spec/fixtures/another_handler.erb
|
248
255
|
- spec/fixtures/dummy.erb
|
249
256
|
- spec/fixtures/track_all_the_things.erb
|
250
257
|
- spec/fixtures/views/layouts/application.html.erb
|
251
258
|
- spec/fixtures/views/metal/index.html.erb
|
259
|
+
- spec/fixtures/views/metal/turing.html.erb
|
252
260
|
- spec/handler/criteo_spec.rb
|
253
261
|
- spec/handler/facebook_pixel_spec.rb
|
254
262
|
- spec/handler/facebook_spec.rb
|
@@ -256,6 +264,7 @@ test_files:
|
|
256
264
|
- spec/handler/google_adwords_conversion_spec.rb
|
257
265
|
- spec/handler/google_analytics_spec.rb
|
258
266
|
- spec/handler/google_tag_manager_spec.rb
|
267
|
+
- spec/handler/hotjar_spec.rb
|
259
268
|
- spec/handler/vwo_spec.rb
|
260
269
|
- spec/handler/zanox_spec.rb
|
261
270
|
- spec/integration/criteo_integration_spec.rb
|
@@ -265,6 +274,7 @@ test_files:
|
|
265
274
|
- spec/integration/google_adwords_conversion_integration_spec.rb
|
266
275
|
- spec/integration/google_analytics_integration_spec.rb
|
267
276
|
- spec/integration/google_tag_manager_integration_spec.rb
|
277
|
+
- spec/integration/hotjar_integration_spec.rb
|
268
278
|
- spec/integration/rails_integration_spec.rb
|
269
279
|
- spec/integration/vwo_integration_spec.rb
|
270
280
|
- spec/integration/zanox_integration_spec.rb
|