rack-tracker 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,10 @@
1
+ RSpec.describe Rack::Tracker::Hotjar do
2
+ def env
3
+ { foo: 'bar' }
4
+ end
5
+
6
+ it 'will be placed in the head' do
7
+ expect(described_class.position).to eq(:head)
8
+ expect(described_class.new(env).position).to eq(:head)
9
+ end
10
+ end
@@ -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.3.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-06-21 00:00:00.000000000 Z
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