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.
@@ -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, 3])});"
35
+ "_gaq.push(#{JSON.dump([ "_setCustomVar", slot, name, value, PAGE_LEVEL_EVENT])});"
35
36
  end
36
37
  end
37
38
  end
@@ -3,12 +3,13 @@ module Slimmer
3
3
  InvalidHeader = Class.new(RuntimeError)
4
4
 
5
5
  SLIMMER_HEADER_MAPPING = {
6
- section: "Section",
7
- need_id: "Need-ID",
8
- format: "Format",
9
- proposition: "Proposition",
10
- template: "Template",
11
- skip: "Skip",
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)
@@ -1,3 +1,3 @@
1
1
  module Slimmer
2
- VERSION = '1.1.35'
2
+ VERSION = '1.1.37'
3
3
  end
@@ -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" => "rhubarb",
44
- "X-Slimmer-Format" => "custard",
45
- "X-Slimmer-Need-ID" => "42",
46
- "X-Slimmer-Proposition" => "trifle"
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", 3
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", 3
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", 3
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", 3
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
- date: 2012-03-29 00:00:00.000000000Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
13
+
14
+ date: 2012-03-30 00:00:00 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
16
17
  name: nokogiri
17
- requirement: &73346030 !ruby/object:Gem::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: *73346030
26
- - !ruby/object:Gem::Dependency
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
27
28
  name: rack
28
- requirement: &73343750 !ruby/object:Gem::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: *73343750
37
- - !ruby/object:Gem::Dependency
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
38
39
  name: plek
39
- requirement: &73342220 !ruby/object:Gem::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: *73342220
48
- - !ruby/object:Gem::Dependency
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
49
50
  name: json
50
- requirement: &73340010 !ruby/object:Gem::Requirement
51
+ requirement: &id004 !ruby/object:Gem::Requirement
51
52
  none: false
52
- requirements:
53
- - - ! '>='
54
- - !ruby/object:Gem::Version
55
- version: '0'
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: "0"
56
57
  type: :runtime
57
58
  prerelease: false
58
- version_requirements: *73340010
59
- - !ruby/object:Gem::Dependency
59
+ version_requirements: *id004
60
+ - !ruby/object:Gem::Dependency
60
61
  name: null_logger
61
- requirement: &73339350 !ruby/object:Gem::Requirement
62
+ requirement: &id005 !ruby/object:Gem::Requirement
62
63
  none: false
63
- requirements:
64
- - - ! '>='
65
- - !ruby/object:Gem::Version
66
- version: '0'
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
67
68
  type: :runtime
68
69
  prerelease: false
69
- version_requirements: *73339350
70
- - !ruby/object:Gem::Dependency
70
+ version_requirements: *id005
71
+ - !ruby/object:Gem::Dependency
71
72
  name: gds-api-adapters
72
- requirement: &73338430 !ruby/object:Gem::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: *73338430
81
- - !ruby/object:Gem::Dependency
81
+ version_requirements: *id006
82
+ - !ruby/object:Gem::Dependency
82
83
  name: rake
83
- requirement: &73333190 !ruby/object:Gem::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: *73333190
92
- - !ruby/object:Gem::Dependency
92
+ version_requirements: *id007
93
+ - !ruby/object:Gem::Dependency
93
94
  name: rack-test
94
- requirement: &73332310 !ruby/object:Gem::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: *73332310
103
- - !ruby/object:Gem::Dependency
103
+ version_requirements: *id008
104
+ - !ruby/object:Gem::Dependency
104
105
  name: mocha
105
- requirement: &73330890 !ruby/object:Gem::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: *73330890
114
- - !ruby/object:Gem::Dependency
114
+ version_requirements: *id009
115
+ - !ruby/object:Gem::Dependency
115
116
  name: webmock
116
- requirement: &73375540 !ruby/object:Gem::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: '1.7'
121
+ - !ruby/object:Gem::Version
122
+ version: "1.7"
122
123
  type: :development
123
124
  prerelease: false
124
- version_requirements: *73375540
125
- - !ruby/object:Gem::Dependency
125
+ version_requirements: *id010
126
+ - !ruby/object:Gem::Dependency
126
127
  name: therubyracer
127
- requirement: &73382380 !ruby/object:Gem::Requirement
128
+ requirement: &id011 !ruby/object:Gem::Requirement
128
129
  none: false
129
- requirements:
130
- - - ! '>='
131
- - !ruby/object:Gem::Version
132
- version: '0'
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: "0"
133
134
  type: :development
134
135
  prerelease: false
135
- version_requirements: *73382380
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
- files:
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
- require_paths:
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
- version: '0'
192
- segments:
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ hash: 3414616106183530372
197
+ segments:
193
198
  - 0
194
- hash: 926405473
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
- version: '0'
201
- segments:
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ hash: 3414616106183530372
206
+ segments:
202
207
  - 0
203
- hash: 926405473
208
+ version: "0"
204
209
  requirements: []
210
+
205
211
  rubyforge_project: slimmer
206
- rubygems_version: 1.8.15
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