slimmer 1.1.35 → 1.1.37

Sign up to get free protection for your applications and to get access to all the features.
@@ -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