slimmer 1.1.35 → 1.1.37
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.
- data/lib/slimmer/google_analytics_configurator.rb +3 -2
- data/lib/slimmer/headers.rb +7 -6
- data/lib/slimmer/version.rb +1 -1
- data/test/google_analytics_test.rb +20 -8
- data/test/headers_test.rb +5 -0
- metadata +96 -90
@@ -2,12 +2,13 @@ require "json"
|
|
2
2
|
|
3
3
|
module Slimmer
|
4
4
|
class GoogleAnalyticsConfigurator
|
5
|
-
|
5
|
+
PAGE_LEVEL_EVENT = 3
|
6
6
|
HEADER_MAPPING = {
|
7
7
|
"Section" => "X-SLIMMER-SECTION",
|
8
8
|
"Format" => "X-SLIMMER-FORMAT",
|
9
9
|
"NeedID" => "X-SLIMMER-NEED-ID",
|
10
10
|
"Proposition" => "X-SLIMMER-PROPOSITION",
|
11
|
+
"ResultCount" => "X-SLIMMER-RESULT-COUNT"
|
11
12
|
}
|
12
13
|
|
13
14
|
def initialize(headers)
|
@@ -31,7 +32,7 @@ module Slimmer
|
|
31
32
|
|
32
33
|
def set_custom_var(slot, name, value)
|
33
34
|
return nil unless value
|
34
|
-
"_gaq.push(#{JSON.dump([ "_setCustomVar", slot, name, value,
|
35
|
+
"_gaq.push(#{JSON.dump([ "_setCustomVar", slot, name, value, PAGE_LEVEL_EVENT])});"
|
35
36
|
end
|
36
37
|
end
|
37
38
|
end
|
data/lib/slimmer/headers.rb
CHANGED
@@ -3,12 +3,13 @@ module Slimmer
|
|
3
3
|
InvalidHeader = Class.new(RuntimeError)
|
4
4
|
|
5
5
|
SLIMMER_HEADER_MAPPING = {
|
6
|
-
section:
|
7
|
-
need_id:
|
8
|
-
format:
|
9
|
-
proposition:
|
10
|
-
|
11
|
-
|
6
|
+
section: "Section",
|
7
|
+
need_id: "Need-ID",
|
8
|
+
format: "Format",
|
9
|
+
proposition: "Proposition",
|
10
|
+
result_count: "Result-Count",
|
11
|
+
template: "Template",
|
12
|
+
skip: "Skip",
|
12
13
|
}
|
13
14
|
|
14
15
|
def set_slimmer_headers(hash)
|
data/lib/slimmer/version.rb
CHANGED
@@ -38,30 +38,38 @@ module GoogleAnalyticsTest
|
|
38
38
|
|
39
39
|
class WithHeadersTest < SlimmerIntegrationTest
|
40
40
|
include JavaScriptAssertions
|
41
|
+
PAGE_LEVEL_EVENT = 3
|
41
42
|
|
42
43
|
headers = {
|
43
|
-
"X-Slimmer-Section"
|
44
|
-
"X-Slimmer-Format"
|
45
|
-
"X-Slimmer-Need-ID"
|
46
|
-
"X-Slimmer-Proposition"
|
44
|
+
"X-Slimmer-Section" => "rhubarb",
|
45
|
+
"X-Slimmer-Format" => "custard",
|
46
|
+
"X-Slimmer-Need-ID" => "42",
|
47
|
+
"X-Slimmer-Proposition" => "trifle",
|
48
|
+
"X-Slimmer-Result-Count" => "3"
|
47
49
|
}
|
50
|
+
|
48
51
|
given_response 200, GENERIC_DOCUMENT, headers
|
49
52
|
|
50
53
|
def test_should_pass_section_to_GA
|
51
|
-
assert_custom_var 1, "Section", "rhubarb",
|
54
|
+
assert_custom_var 1, "Section", "rhubarb", PAGE_LEVEL_EVENT
|
52
55
|
end
|
53
56
|
|
54
57
|
def test_should_pass_internal_format_name_to_GA
|
55
|
-
assert_custom_var 2, "Format", "custard",
|
58
|
+
assert_custom_var 2, "Format", "custard", PAGE_LEVEL_EVENT
|
56
59
|
end
|
57
60
|
|
58
61
|
def test_should_pass_need_ID_to_GA
|
59
|
-
assert_custom_var 3, "NeedID", "42",
|
62
|
+
assert_custom_var 3, "NeedID", "42", PAGE_LEVEL_EVENT
|
60
63
|
end
|
61
64
|
|
62
65
|
def test_should_pass_proposition_to_GA
|
63
|
-
assert_custom_var 4, "Proposition", "trifle",
|
66
|
+
assert_custom_var 4, "Proposition", "trifle", PAGE_LEVEL_EVENT
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_should_pass_result_count_to_GA
|
70
|
+
assert_custom_var 5, "ResultCount", "3", PAGE_LEVEL_EVENT
|
64
71
|
end
|
72
|
+
|
65
73
|
end
|
66
74
|
|
67
75
|
class WithoutHeadersTest < SlimmerIntegrationTest
|
@@ -84,5 +92,9 @@ module GoogleAnalyticsTest
|
|
84
92
|
def test_should_omit_proposition
|
85
93
|
refute_custom_var "Proposition"
|
86
94
|
end
|
95
|
+
|
96
|
+
def test_should_omit_result_count
|
97
|
+
refute_custom_var "ResultCount"
|
98
|
+
end
|
87
99
|
end
|
88
100
|
end
|
data/test/headers_test.rb
CHANGED
@@ -29,6 +29,11 @@ class HeadersTest < MiniTest::Unit::TestCase
|
|
29
29
|
assert_equal "rhubarb", headers["X-Slimmer-Proposition"]
|
30
30
|
end
|
31
31
|
|
32
|
+
def test_should_set_result_count_header
|
33
|
+
set_slimmer_headers result_count: 3
|
34
|
+
assert_equal "3", headers["X-Slimmer-Result-Count"]
|
35
|
+
end
|
36
|
+
|
32
37
|
def test_should_set_template_header
|
33
38
|
set_slimmer_headers template: "rhubarb"
|
34
39
|
assert_equal "rhubarb", headers["X-Slimmer-Template"]
|
metadata
CHANGED
@@ -1,147 +1,150 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: slimmer
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.35
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 1.1.37
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Ben Griffiths
|
9
9
|
- James Stewart
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
|
14
|
+
date: 2012-03-30 00:00:00 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
16
17
|
name: nokogiri
|
17
|
-
requirement: &
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
18
19
|
none: false
|
19
|
-
requirements:
|
20
|
+
requirements:
|
20
21
|
- - ~>
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
+
- !ruby/object:Gem::Version
|
22
23
|
version: 1.5.0
|
23
24
|
type: :runtime
|
24
25
|
prerelease: false
|
25
|
-
version_requirements: *
|
26
|
-
- !ruby/object:Gem::Dependency
|
26
|
+
version_requirements: *id001
|
27
|
+
- !ruby/object:Gem::Dependency
|
27
28
|
name: rack
|
28
|
-
requirement: &
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
29
30
|
none: false
|
30
|
-
requirements:
|
31
|
-
- -
|
32
|
-
- !ruby/object:Gem::Version
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
33
34
|
version: 1.3.5
|
34
35
|
type: :runtime
|
35
36
|
prerelease: false
|
36
|
-
version_requirements: *
|
37
|
-
- !ruby/object:Gem::Dependency
|
37
|
+
version_requirements: *id002
|
38
|
+
- !ruby/object:Gem::Dependency
|
38
39
|
name: plek
|
39
|
-
requirement: &
|
40
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
40
41
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
44
45
|
version: 0.1.8
|
45
46
|
type: :runtime
|
46
47
|
prerelease: false
|
47
|
-
version_requirements: *
|
48
|
-
- !ruby/object:Gem::Dependency
|
48
|
+
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
49
50
|
name: json
|
50
|
-
requirement: &
|
51
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
51
52
|
none: false
|
52
|
-
requirements:
|
53
|
-
- -
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version:
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: "0"
|
56
57
|
type: :runtime
|
57
58
|
prerelease: false
|
58
|
-
version_requirements: *
|
59
|
-
- !ruby/object:Gem::Dependency
|
59
|
+
version_requirements: *id004
|
60
|
+
- !ruby/object:Gem::Dependency
|
60
61
|
name: null_logger
|
61
|
-
requirement: &
|
62
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
62
63
|
none: false
|
63
|
-
requirements:
|
64
|
-
- -
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version:
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: "0"
|
67
68
|
type: :runtime
|
68
69
|
prerelease: false
|
69
|
-
version_requirements: *
|
70
|
-
- !ruby/object:Gem::Dependency
|
70
|
+
version_requirements: *id005
|
71
|
+
- !ruby/object:Gem::Dependency
|
71
72
|
name: gds-api-adapters
|
72
|
-
requirement: &
|
73
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
73
74
|
none: false
|
74
|
-
requirements:
|
75
|
+
requirements:
|
75
76
|
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
+
- !ruby/object:Gem::Version
|
77
78
|
version: 0.0.33
|
78
79
|
type: :runtime
|
79
80
|
prerelease: false
|
80
|
-
version_requirements: *
|
81
|
-
- !ruby/object:Gem::Dependency
|
81
|
+
version_requirements: *id006
|
82
|
+
- !ruby/object:Gem::Dependency
|
82
83
|
name: rake
|
83
|
-
requirement: &
|
84
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
84
85
|
none: false
|
85
|
-
requirements:
|
86
|
+
requirements:
|
86
87
|
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
+
- !ruby/object:Gem::Version
|
88
89
|
version: 0.9.2.2
|
89
90
|
type: :development
|
90
91
|
prerelease: false
|
91
|
-
version_requirements: *
|
92
|
-
- !ruby/object:Gem::Dependency
|
92
|
+
version_requirements: *id007
|
93
|
+
- !ruby/object:Gem::Dependency
|
93
94
|
name: rack-test
|
94
|
-
requirement: &
|
95
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
95
96
|
none: false
|
96
|
-
requirements:
|
97
|
+
requirements:
|
97
98
|
- - ~>
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
+
- !ruby/object:Gem::Version
|
99
100
|
version: 0.6.1
|
100
101
|
type: :development
|
101
102
|
prerelease: false
|
102
|
-
version_requirements: *
|
103
|
-
- !ruby/object:Gem::Dependency
|
103
|
+
version_requirements: *id008
|
104
|
+
- !ruby/object:Gem::Dependency
|
104
105
|
name: mocha
|
105
|
-
requirement: &
|
106
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
106
107
|
none: false
|
107
|
-
requirements:
|
108
|
+
requirements:
|
108
109
|
- - ~>
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
+
- !ruby/object:Gem::Version
|
110
111
|
version: 0.9.12
|
111
112
|
type: :development
|
112
113
|
prerelease: false
|
113
|
-
version_requirements: *
|
114
|
-
- !ruby/object:Gem::Dependency
|
114
|
+
version_requirements: *id009
|
115
|
+
- !ruby/object:Gem::Dependency
|
115
116
|
name: webmock
|
116
|
-
requirement: &
|
117
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
117
118
|
none: false
|
118
|
-
requirements:
|
119
|
+
requirements:
|
119
120
|
- - ~>
|
120
|
-
- !ruby/object:Gem::Version
|
121
|
-
version:
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: "1.7"
|
122
123
|
type: :development
|
123
124
|
prerelease: false
|
124
|
-
version_requirements: *
|
125
|
-
- !ruby/object:Gem::Dependency
|
125
|
+
version_requirements: *id010
|
126
|
+
- !ruby/object:Gem::Dependency
|
126
127
|
name: therubyracer
|
127
|
-
requirement: &
|
128
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
128
129
|
none: false
|
129
|
-
requirements:
|
130
|
-
- -
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version:
|
130
|
+
requirements:
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: "0"
|
133
134
|
type: :development
|
134
135
|
prerelease: false
|
135
|
-
version_requirements: *
|
136
|
+
version_requirements: *id011
|
136
137
|
description: Rack middleware for skinning pages using a specific template
|
137
|
-
email:
|
138
|
+
email:
|
138
139
|
- bengriffiths@gmail.com
|
139
140
|
- james.stewart@digital.cabinet-office.gov.uk
|
140
|
-
executables:
|
141
|
+
executables:
|
141
142
|
- render_slimmer_error
|
142
143
|
extensions: []
|
144
|
+
|
143
145
|
extra_rdoc_files: []
|
144
|
-
|
146
|
+
|
147
|
+
files:
|
145
148
|
- README.md
|
146
149
|
- CHANGELOG.md
|
147
150
|
- lib/slimmer/admin_title_inserter.rb
|
@@ -179,35 +182,38 @@ files:
|
|
179
182
|
- bin/render_slimmer_error
|
180
183
|
homepage: http://github.com/alphagov/slimmer
|
181
184
|
licenses: []
|
185
|
+
|
182
186
|
post_install_message:
|
183
187
|
rdoc_options: []
|
184
|
-
|
188
|
+
|
189
|
+
require_paths:
|
185
190
|
- lib
|
186
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
191
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
187
192
|
none: false
|
188
|
-
requirements:
|
189
|
-
- -
|
190
|
-
- !ruby/object:Gem::Version
|
191
|
-
|
192
|
-
segments:
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
hash: 3414616106183530372
|
197
|
+
segments:
|
193
198
|
- 0
|
194
|
-
|
195
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
199
|
+
version: "0"
|
200
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
196
201
|
none: false
|
197
|
-
requirements:
|
198
|
-
- -
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
|
201
|
-
segments:
|
202
|
+
requirements:
|
203
|
+
- - ">="
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
hash: 3414616106183530372
|
206
|
+
segments:
|
202
207
|
- 0
|
203
|
-
|
208
|
+
version: "0"
|
204
209
|
requirements: []
|
210
|
+
|
205
211
|
rubyforge_project: slimmer
|
206
|
-
rubygems_version: 1.8.
|
212
|
+
rubygems_version: 1.8.12
|
207
213
|
signing_key:
|
208
214
|
specification_version: 3
|
209
215
|
summary: Thinner than the skinner
|
210
|
-
test_files:
|
216
|
+
test_files:
|
211
217
|
- test/fixtures/404.html.erb
|
212
218
|
- test/fixtures/500.html.erb
|
213
219
|
- test/fixtures/related.raw.html.erb
|