slimmer 3.9.4 → 3.9.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -8,7 +8,7 @@ various other details, such as meta, script, and style tags.
8
8
  ## Use in a Rails app
9
9
 
10
10
  Slimmer provides a Railtie so no configuration is necessary. By default it will use the
11
- Plek gem to look for the 'assets' host for the current environment.
11
+ Plek gem to look for the 'static' (previously 'assets') host for the current environment.
12
12
 
13
13
  If you want to use your own set of templates you will need to specify the appropriate host
14
14
  eg.
@@ -25,7 +25,6 @@ module Slimmer
25
25
  autoload :Artefact, 'slimmer/artefact'
26
26
 
27
27
  module Processors
28
- autoload :AdminTitleInserter, 'slimmer/processors/admin_title_inserter'
29
28
  autoload :BodyClassCopier, 'slimmer/processors/body_class_copier'
30
29
  autoload :BodyInserter, 'slimmer/processors/body_inserter'
31
30
  autoload :ConditionalCommentMover, 'slimmer/processors/conditional_comment_mover'
@@ -38,7 +37,6 @@ module Slimmer
38
37
  autoload :RelatedItemsInserter, 'slimmer/processors/related_items_inserter'
39
38
  autoload :ReportAProblemInserter, 'slimmer/processors/report_a_problem_inserter'
40
39
  autoload :SearchIndexSetter, 'slimmer/processors/search_index_setter'
41
- autoload :SearchPathSetter, 'slimmer/processors/search_path_setter'
42
40
  autoload :SectionInserter, 'slimmer/processors/section_inserter'
43
41
  autoload :TagMover, 'slimmer/processors/tag_mover'
44
42
  autoload :TitleInserter, 'slimmer/processors/title_inserter'
@@ -23,7 +23,7 @@ module Slimmer
23
23
  end
24
24
 
25
25
  unless options[:asset_host]
26
- options[:asset_host] = Plek.current.find("assets")
26
+ options[:asset_host] = Plek.current.find("static")
27
27
  end
28
28
 
29
29
  @skin = Skin.new options.merge(logger: self.logger)
@@ -83,11 +83,7 @@ module Slimmer
83
83
 
84
84
  rewritten_body = case response.status
85
85
  when 200
86
- if response.headers[Headers::TEMPLATE_HEADER] == 'admin' || request.path =~ /^\/admin(\/|$)/
87
- @skin.admin s(response.body)
88
- else
89
- @skin.success request, response, s(response.body)
90
- end
86
+ @skin.success request, response, s(response.body)
91
87
  when 404
92
88
  @skin.error '404', s(response.body)
93
89
  else
@@ -24,7 +24,6 @@ module Slimmer
24
24
  REMOVE_META_VIEWPORT = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:remove_meta_viewport]}"
25
25
  RESULT_COUNT_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:result_count]}"
26
26
  SEARCH_INDEX_HEADER = "#{HEADER_PREFIX}-Search-Index"
27
- SEARCH_PATH_HEADER = "#{HEADER_PREFIX}-Search-Path"
28
27
  SKIP_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:skip]}"
29
28
  TEMPLATE_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:template]}"
30
29
 
@@ -112,18 +112,6 @@ module Slimmer
112
112
  dest.to_html.sub(/<noscript rel=("|')placeholder("|')>/, "")
113
113
  end
114
114
 
115
- def admin(body)
116
- processors = [
117
- Processors::TitleInserter.new(),
118
- Processors::TagMover.new(),
119
- Processors::AdminTitleInserter.new,
120
- Processors::FooterRemover.new,
121
- Processors::BodyInserter.new(),
122
- Processors::BodyClassCopier.new,
123
- ]
124
- process(processors, body, template('admin'))
125
- end
126
-
127
115
  def success(source_request, response, body)
128
116
  artefact = artefact_from_header(response)
129
117
  processors = [
@@ -135,7 +123,6 @@ module Slimmer
135
123
  Processors::HeaderContextInserter.new(),
136
124
  Processors::SectionInserter.new(artefact),
137
125
  Processors::GoogleAnalyticsConfigurator.new(response, artefact),
138
- Processors::SearchPathSetter.new(response),
139
126
  Processors::RelatedItemsInserter.new(self, artefact),
140
127
  Processors::LogoClassInserter.new(artefact),
141
128
  Processors::ReportAProblemInserter.new(self, source_request.url),
@@ -1,3 +1,3 @@
1
1
  module Slimmer
2
- VERSION = '3.9.4'
2
+ VERSION = '3.9.5'
3
3
  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.4
5
+ version: 3.9.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ben Griffiths
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2012-11-14 00:00:00 Z
14
+ date: 2012-12-11 00:00:00 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: nokogiri
@@ -128,9 +128,9 @@ dependencies:
128
128
  requirement: &id011 !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
- - - ">="
131
+ - - ~>
132
132
  - !ruby/object:Gem::Version
133
- version: "0"
133
+ version: 0.10.2
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: *id011
@@ -180,58 +180,55 @@ extra_rdoc_files: []
180
180
  files:
181
181
  - README.md
182
182
  - CHANGELOG.md
183
+ - lib/tasks/slimmer.rake
183
184
  - lib/slimmer.rb
184
- - lib/slimmer/app.rb
185
- - lib/slimmer/test_template.rb
186
- - lib/slimmer/version.rb
185
+ - lib/slimmer/skin.rb
187
186
  - lib/slimmer/railtie.rb
188
- - lib/slimmer/processors/tag_mover.rb
189
- - lib/slimmer/processors/body_class_copier.rb
187
+ - lib/slimmer/template.rb
188
+ - lib/slimmer/test_template.rb
189
+ - lib/slimmer/test.rb
190
+ - lib/slimmer/app.rb
190
191
  - lib/slimmer/processors/logo_class_inserter.rb
191
- - lib/slimmer/processors/header_context_inserter.rb
192
- - lib/slimmer/processors/meta_viewport_remover.rb
193
192
  - lib/slimmer/processors/search_index_setter.rb
194
- - lib/slimmer/processors/report_a_problem_inserter.rb
195
- - lib/slimmer/processors/campaign_notification_inserter.rb
196
- - lib/slimmer/processors/footer_remover.rb
197
- - lib/slimmer/processors/google_analytics_configurator.rb
198
- - lib/slimmer/processors/admin_title_inserter.rb
199
- - lib/slimmer/processors/search_path_setter.rb
193
+ - lib/slimmer/processors/body_class_copier.rb
194
+ - lib/slimmer/processors/tag_mover.rb
200
195
  - lib/slimmer/processors/title_inserter.rb
201
- - lib/slimmer/processors/related_items_inserter.rb
202
- - lib/slimmer/processors/section_inserter.rb
196
+ - lib/slimmer/processors/google_analytics_configurator.rb
203
197
  - lib/slimmer/processors/conditional_comment_mover.rb
198
+ - lib/slimmer/processors/related_items_inserter.rb
199
+ - lib/slimmer/processors/header_context_inserter.rb
204
200
  - lib/slimmer/processors/body_inserter.rb
205
- - lib/slimmer/artefact.rb
206
- - lib/slimmer/skin.rb
201
+ - lib/slimmer/processors/report_a_problem_inserter.rb
202
+ - lib/slimmer/processors/meta_viewport_remover.rb
203
+ - lib/slimmer/processors/campaign_notification_inserter.rb
204
+ - lib/slimmer/processors/section_inserter.rb
205
+ - lib/slimmer/processors/footer_remover.rb
207
206
  - lib/slimmer/headers.rb
208
- - lib/slimmer/template.rb
209
- - lib/slimmer/test.rb
210
- - lib/tasks/slimmer.rake
207
+ - lib/slimmer/version.rb
208
+ - lib/slimmer/artefact.rb
211
209
  - Rakefile
212
- - test/processors/header_context_inserter_test.rb
213
- - test/processors/google_analytics_test.rb
214
- - test/processors/body_inserter_test.rb
215
- - test/processors/search_index_setter_test.rb
216
- - test/processors/meta_viewport_remover_test.rb
217
- - test/processors/report_a_problem_inserter_test.rb
218
- - test/processors/section_inserter_test.rb
219
- - test/processors/campaign_notification_inserter_test.rb
220
- - test/processors/search_path_setter_test.rb
221
- - test/processors/related_items_inserter_test.rb
222
- - test/processors/logo_class_inserter_test.rb
223
- - test/test_template_dependency_on_static_test.rb
224
210
  - test/headers_test.rb
225
- - test/test_helper.rb
226
- - test/typical_usage_test.rb
227
211
  - test/artefact_test.rb
228
- - test/skin_test.rb
212
+ - test/fixtures/related.raw.html.erb
229
213
  - test/fixtures/campaign.html.erb
230
- - test/fixtures/404.html.erb
231
214
  - test/fixtures/500.html.erb
215
+ - test/fixtures/404.html.erb
232
216
  - test/fixtures/wrapper.html.erb
233
- - test/fixtures/related.raw.html.erb
234
217
  - test/fixtures/report_a_problem.raw.html.erb
218
+ - test/skin_test.rb
219
+ - test/processors/campaign_notification_inserter_test.rb
220
+ - test/processors/meta_viewport_remover_test.rb
221
+ - test/processors/logo_class_inserter_test.rb
222
+ - test/processors/search_index_setter_test.rb
223
+ - test/processors/google_analytics_test.rb
224
+ - test/processors/report_a_problem_inserter_test.rb
225
+ - test/processors/body_inserter_test.rb
226
+ - test/processors/section_inserter_test.rb
227
+ - test/processors/related_items_inserter_test.rb
228
+ - test/processors/header_context_inserter_test.rb
229
+ - test/typical_usage_test.rb
230
+ - test/test_template_dependency_on_static_test.rb
231
+ - test/test_helper.rb
235
232
  - bin/render_slimmer_error
236
233
  homepage: http://github.com/alphagov/slimmer
237
234
  licenses: []
@@ -246,7 +243,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
246
243
  requirements:
247
244
  - - ">="
248
245
  - !ruby/object:Gem::Version
249
- hash: 4061718624435070501
246
+ hash: 273902023069852675
250
247
  segments:
251
248
  - 0
252
249
  version: "0"
@@ -255,7 +252,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
252
  requirements:
256
253
  - - ">="
257
254
  - !ruby/object:Gem::Version
258
- hash: 4061718624435070501
255
+ hash: 273902023069852675
259
256
  segments:
260
257
  - 0
261
258
  version: "0"
@@ -267,26 +264,25 @@ signing_key:
267
264
  specification_version: 3
268
265
  summary: Thinner than the skinner
269
266
  test_files:
270
- - test/processors/header_context_inserter_test.rb
271
- - test/processors/google_analytics_test.rb
272
- - test/processors/body_inserter_test.rb
273
- - test/processors/search_index_setter_test.rb
274
- - test/processors/meta_viewport_remover_test.rb
275
- - test/processors/report_a_problem_inserter_test.rb
276
- - test/processors/section_inserter_test.rb
277
- - test/processors/campaign_notification_inserter_test.rb
278
- - test/processors/search_path_setter_test.rb
279
- - test/processors/related_items_inserter_test.rb
280
- - test/processors/logo_class_inserter_test.rb
281
- - test/test_template_dependency_on_static_test.rb
282
267
  - test/headers_test.rb
283
- - test/test_helper.rb
284
- - test/typical_usage_test.rb
285
268
  - test/artefact_test.rb
286
- - test/skin_test.rb
269
+ - test/fixtures/related.raw.html.erb
287
270
  - test/fixtures/campaign.html.erb
288
- - test/fixtures/404.html.erb
289
271
  - test/fixtures/500.html.erb
272
+ - test/fixtures/404.html.erb
290
273
  - test/fixtures/wrapper.html.erb
291
- - test/fixtures/related.raw.html.erb
292
274
  - test/fixtures/report_a_problem.raw.html.erb
275
+ - test/skin_test.rb
276
+ - test/processors/campaign_notification_inserter_test.rb
277
+ - test/processors/meta_viewport_remover_test.rb
278
+ - test/processors/logo_class_inserter_test.rb
279
+ - test/processors/search_index_setter_test.rb
280
+ - test/processors/google_analytics_test.rb
281
+ - test/processors/report_a_problem_inserter_test.rb
282
+ - test/processors/body_inserter_test.rb
283
+ - test/processors/section_inserter_test.rb
284
+ - test/processors/related_items_inserter_test.rb
285
+ - test/processors/header_context_inserter_test.rb
286
+ - test/typical_usage_test.rb
287
+ - test/test_template_dependency_on_static_test.rb
288
+ - test/test_helper.rb
@@ -1,12 +0,0 @@
1
- module Slimmer::Processors
2
- class AdminTitleInserter
3
- def filter(src,dest)
4
- title = src.at_css('#site-title')
5
- head = dest.at_css('.gds-header h2')
6
- if head && title
7
- head.content = title.content
8
- title.remove
9
- end
10
- end
11
- end
12
- end
@@ -1,17 +0,0 @@
1
- module Slimmer::Processors
2
- class SearchPathSetter
3
- def initialize(response)
4
- @response = response
5
- end
6
-
7
- def filter(content_document, page_template)
8
- if search_scope && page_template.at_css('form#search')
9
- page_template.at_css('form#search').attributes["action"].value = search_scope
10
- end
11
- end
12
-
13
- def search_scope
14
- @response.headers[Slimmer::Headers::SEARCH_PATH_HEADER]
15
- end
16
- end
17
- end
@@ -1,39 +0,0 @@
1
- require "test_helper"
2
-
3
- module SearchPathSetterTest
4
-
5
- DOCUMENT_WITH_SEARCH = <<-END
6
- <html>
7
- <head>
8
- </head>
9
- <body class="body_class">
10
- <div id="wrapper">
11
- <form id="search" action="/path/to/search">
12
- </form>
13
- </div>
14
- </body>
15
- </html>
16
- END
17
-
18
- class WithHeaderTest < SlimmerIntegrationTest
19
- headers = {
20
- "X-Slimmer-Search-Path" => "/specialist/search",
21
- }
22
-
23
- given_response 200, DOCUMENT_WITH_SEARCH, headers
24
-
25
- def test_should_rewrite_search_action
26
- search_action = Nokogiri::HTML.parse(last_response.body).at_css('#search')["action"]
27
- assert_equal "/specialist/search", search_action
28
- end
29
- end
30
-
31
- class WithoutHeaderTest < SlimmerIntegrationTest
32
- given_response 200, DOCUMENT_WITH_SEARCH, {}
33
-
34
- def test_should_leave_original_search_action
35
- search_action = Nokogiri::HTML.parse(last_response.body).at_css('#search')["action"]
36
- assert_equal "/path/to/search", search_action
37
- end
38
- end
39
- end