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.
@@ -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