slimmer 3.9.0 → 3.9.1
Sign up to get free protection for your applications and to get access to all the features.
@@ -12,13 +12,13 @@ module Slimmer::Processors
|
|
12
12
|
def filter(src, dest)
|
13
13
|
custom_vars = []
|
14
14
|
if @artefact
|
15
|
-
custom_vars <<
|
16
|
-
custom_vars <<
|
17
|
-
custom_vars <<
|
15
|
+
custom_vars << set_custom_var_downcase(1, "Section", @artefact.primary_root_section["title"]) if @artefact.primary_root_section
|
16
|
+
custom_vars << set_custom_var_downcase(3, "NeedID", @artefact.need_id)
|
17
|
+
custom_vars << set_custom_var_downcase(4, "Proposition", (@artefact.business_proposition ? 'business' : 'citizen')) unless @artefact.business_proposition.nil?
|
18
18
|
custom_vars << set_custom_var(9, "Organisations", @artefact.organisations) unless @artefact.organisations.nil?
|
19
19
|
end
|
20
|
-
custom_vars <<
|
21
|
-
custom_vars <<
|
20
|
+
custom_vars << set_custom_var_downcase(2, "Format", @headers[Slimmer::Headers::FORMAT_HEADER])
|
21
|
+
custom_vars << set_custom_var_downcase(5, "ResultCount", @headers[Slimmer::Headers::RESULT_COUNT_HEADER])
|
22
22
|
|
23
23
|
if dest.at_css("#ga-params")
|
24
24
|
dest.at_css("#ga-params").content += custom_vars.compact.join("\n")
|
@@ -26,8 +26,12 @@ module Slimmer::Processors
|
|
26
26
|
end
|
27
27
|
|
28
28
|
private
|
29
|
-
def
|
29
|
+
def set_custom_var_downcase(slot, name, value)
|
30
30
|
return nil unless value
|
31
|
+
set_custom_var(slot, name, value.downcase)
|
32
|
+
end
|
33
|
+
|
34
|
+
def set_custom_var(slot, name, value)
|
31
35
|
response = "_gaq.push(#{JSON.dump([ "_setCustomVar", slot, name, value, PAGE_LEVEL_EVENT])});\n"
|
32
36
|
response + "GOVUK.Analytics.#{name} = \"#{value}\";"
|
33
37
|
end
|
data/lib/slimmer/version.rb
CHANGED
@@ -2,6 +2,7 @@ require_relative "../test_helper"
|
|
2
2
|
require "v8"
|
3
3
|
|
4
4
|
module GoogleAnalyticsTest
|
5
|
+
PAGE_LEVEL_EVENT = 3
|
5
6
|
|
6
7
|
GENERIC_DOCUMENT = <<-END
|
7
8
|
<html>
|
@@ -49,7 +50,6 @@ module GoogleAnalyticsTest
|
|
49
50
|
|
50
51
|
class WithHeadersTest < SlimmerIntegrationTest
|
51
52
|
include JavaScriptAssertions
|
52
|
-
PAGE_LEVEL_EVENT = 3
|
53
53
|
|
54
54
|
def setup
|
55
55
|
super
|
@@ -97,7 +97,7 @@ module GoogleAnalyticsTest
|
|
97
97
|
assert_custom_var 4, "Proposition", "business", PAGE_LEVEL_EVENT
|
98
98
|
end
|
99
99
|
|
100
|
-
def
|
100
|
+
def test_should_pass_organisation_to_GA
|
101
101
|
assert_custom_var 9, "Organisations", "<P1><D422>", PAGE_LEVEL_EVENT
|
102
102
|
end
|
103
103
|
|
@@ -143,4 +143,29 @@ module GoogleAnalyticsTest
|
|
143
143
|
refute_custom_var "ResultCount"
|
144
144
|
end
|
145
145
|
end
|
146
|
+
|
147
|
+
class WithNilHeaderTest < SlimmerIntegrationTest
|
148
|
+
include JavaScriptAssertions
|
149
|
+
|
150
|
+
def setup
|
151
|
+
super
|
152
|
+
|
153
|
+
artefact = artefact_for_slug_in_a_subsection("something", "rhubarb/in-puddings")
|
154
|
+
artefact["details"].merge!(
|
155
|
+
"need_id" => "42",
|
156
|
+
"business_proposition" => true,
|
157
|
+
"organisations" => "<P1><D422>"
|
158
|
+
)
|
159
|
+
headers = {
|
160
|
+
Slimmer::Headers::RESULT_COUNT_HEADER => "3",
|
161
|
+
Slimmer::Headers::ARTEFACT_HEADER => artefact.to_json
|
162
|
+
}
|
163
|
+
|
164
|
+
given_response 200, GENERIC_DOCUMENT, headers
|
165
|
+
end
|
166
|
+
|
167
|
+
def test_should_pass_organisation_to_GA_without_crashing
|
168
|
+
assert_custom_var 9, "Organisations", "<P1><D422>", PAGE_LEVEL_EVENT
|
169
|
+
end
|
170
|
+
end
|
146
171
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: slimmer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 3.9.
|
5
|
+
version: 3.9.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Ben Griffiths
|
@@ -246,7 +246,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
246
246
|
requirements:
|
247
247
|
- - ">="
|
248
248
|
- !ruby/object:Gem::Version
|
249
|
-
hash: -
|
249
|
+
hash: -3564071849089416318
|
250
250
|
segments:
|
251
251
|
- 0
|
252
252
|
version: "0"
|
@@ -255,7 +255,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
255
255
|
requirements:
|
256
256
|
- - ">="
|
257
257
|
- !ruby/object:Gem::Version
|
258
|
-
hash: -
|
258
|
+
hash: -3564071849089416318
|
259
259
|
segments:
|
260
260
|
- 0
|
261
261
|
version: "0"
|