slimmer 8.0.0 → 8.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5f23b920aad27dfc980397b64f2f9e401b96d863
4
- data.tar.gz: 79a169c43fcc6d616172ff4dcc637857cf2d1419
3
+ metadata.gz: 6e7fc3e0c52a6b22145df9dc9bf5cdfa35ac3eca
4
+ data.tar.gz: 5f7e8eb37930d42544fc8306053f928b44ff4c19
5
5
  SHA512:
6
- metadata.gz: 34a7a53a6e06102e2f2db641c9971bc25891a76ed726739ed5a66fcc0db731b7535238884adb97d449616a04e57c259baea0498dd4cf9df67e152bb8755dac9f
7
- data.tar.gz: 328d89ec79ca51cfd76a4fb7ebb80d59f53461eb8832115750d6f4998b4adf9f7ac6beced889fba4f71705f980ae6c3a306d51b2ae5872450525e12eb00f9535
6
+ metadata.gz: 8a3c20a69cbb2b544ecc9410a04cc1ea9c80c1b4a971fd96348964ab718968bcf769f2d5593e20112c0ffe70814811d1250007b675e506c38939f431ed0b5f6a
7
+ data.tar.gz: 91c493c11ec336ad039df59580b2633014bcd2f0ddec2b578359ecc708a07afce6eb367871e9077b4a88c6f2a6de0bb7f28efeb7bf2559d86c4f93c996f6c6a9
@@ -1,3 +1,7 @@
1
+ # 8.1.0
2
+
3
+ * Add remove_search header which strips out the search box in the header.
4
+
1
5
  # 8.0.0
2
6
 
3
7
  * Switch from JS custom variables to HTML meta tags
@@ -35,6 +35,7 @@ module Slimmer
35
35
  autoload :SearchIndexSetter, 'slimmer/processors/search_index_setter'
36
36
  autoload :SearchPathSetter, 'slimmer/processors/search_path_setter'
37
37
  autoload :SearchParameterInserter, 'slimmer/processors/search_parameter_inserter'
38
+ autoload :SearchRemover, 'slimmer/processors/search_remover'
38
39
  autoload :SectionInserter, 'slimmer/processors/section_inserter'
39
40
  autoload :TagMover, 'slimmer/processors/tag_mover'
40
41
  autoload :TitleInserter, 'slimmer/processors/title_inserter'
@@ -17,6 +17,7 @@ module Slimmer
17
17
  section: "Section",
18
18
  skip: "Skip",
19
19
  template: "Template",
20
+ remove_search: "Remove-Search",
20
21
  }
21
22
 
22
23
  APPLICATION_NAME_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:application_name]}"
@@ -32,6 +33,7 @@ module Slimmer
32
33
  SEARCH_PARAMETERS_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:search_parameters]}"
33
34
  SKIP_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:skip]}"
34
35
  TEMPLATE_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:template]}"
36
+ REMOVE_SEARCH_HEADER = "#{HEADER_PREFIX}-#{SLIMMER_HEADER_MAPPING[:remove_search]}"
35
37
 
36
38
  def set_slimmer_headers(hash)
37
39
  raise InvalidHeader if (hash.keys - SLIMMER_HEADER_MAPPING.keys).any?
@@ -0,0 +1,17 @@
1
+ module Slimmer::Processors
2
+ class SearchRemover
3
+ def initialize(headers)
4
+ @headers = headers
5
+ end
6
+
7
+ def filter(src,dest)
8
+ if @headers.include?(Slimmer::Headers::REMOVE_SEARCH_HEADER)
9
+ search = dest.at_css("#global-header #search")
10
+ search.remove if search
11
+
12
+ search_link = dest.at_css("#global-header a[href='#search']")
13
+ search_link.remove if search_link
14
+ end
15
+ end
16
+ end
17
+ end
@@ -126,6 +126,7 @@ module Slimmer
126
126
  response.headers,
127
127
  wrapper_id),
128
128
  Processors::MetaViewportRemover.new(self, response.headers),
129
+ Processors::SearchRemover.new(response.headers),
129
130
  ]
130
131
 
131
132
  template_name = response.headers[Headers::TEMPLATE_HEADER] || 'wrapper'
@@ -1,3 +1,3 @@
1
1
  module Slimmer
2
- VERSION = '8.0.0'
2
+ VERSION = '8.1.0'
3
3
  end
@@ -0,0 +1,62 @@
1
+ require_relative "../test_helper"
2
+
3
+ class SearchRemoverTest < MiniTest::Test
4
+ def setup
5
+ super
6
+ @template = as_nokogiri %{
7
+ <html>
8
+ <head>
9
+ </head>
10
+ <body>
11
+ <div id='global-header'>
12
+ <a href='#search'></a>
13
+ <div id='search'></div>
14
+ </div>
15
+ <div id='search'></div>
16
+ </body>
17
+ </html>
18
+ }
19
+ end
20
+
21
+ def test_should_remove_search_from_template_if_header_is_set
22
+
23
+ headers = { Slimmer::Headers::REMOVE_SEARCH_HEADER => true }
24
+ Slimmer::Processors::SearchRemover.new(
25
+ headers,
26
+ ).filter(nil, @template)
27
+
28
+ assert_not_in @template, "#global-header #search"
29
+ assert_in @template, "#search"
30
+
31
+ end
32
+
33
+ def test_should_not_remove_search_from_template_if_header_is_not_set
34
+
35
+ headers = {}
36
+ Slimmer::Processors::SearchRemover.new(
37
+ headers,
38
+ ).filter(nil, @template)
39
+
40
+ assert_in @template, "#global-header #search"
41
+ end
42
+
43
+ def test_should_remove_search_link_from_template_if_header_is_set
44
+
45
+ headers = { Slimmer::Headers::REMOVE_SEARCH_HEADER => true }
46
+ Slimmer::Processors::SearchRemover.new(
47
+ headers,
48
+ ).filter(nil, @template)
49
+
50
+ assert_not_in @template, "#global-header a[href='#search']"
51
+ end
52
+
53
+ def test_should_not_remove_search_link_from_template_if_header_is_not_set
54
+
55
+ headers = {}
56
+ Slimmer::Processors::SearchRemover.new(
57
+ headers,
58
+ ).filter(nil, @template)
59
+
60
+ assert_in @template, "#global-header a[href='#search']"
61
+ end
62
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slimmer
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.0.0
4
+ version: 8.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Griffiths
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-13 00:00:00.000000000 Z
12
+ date: 2015-03-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -274,6 +274,7 @@ files:
274
274
  - lib/slimmer/processors/report_a_problem_inserter.rb
275
275
  - lib/slimmer/processors/search_parameter_inserter.rb
276
276
  - lib/slimmer/processors/search_path_setter.rb
277
+ - lib/slimmer/processors/search_remover.rb
277
278
  - lib/slimmer/processors/section_inserter.rb
278
279
  - lib/slimmer/processors/tag_mover.rb
279
280
  - lib/slimmer/processors/title_inserter.rb
@@ -308,6 +309,7 @@ files:
308
309
  - test/processors/report_a_problem_inserter_test.rb
309
310
  - test/processors/search_parameter_inserter_test.rb
310
311
  - test/processors/search_path_setter_test.rb
312
+ - test/processors/search_remover_test.rb
311
313
  - test/processors/section_inserter_test.rb
312
314
  - test/processors/tag_mover_test.rb
313
315
  - test/skin_test.rb
@@ -363,6 +365,7 @@ test_files:
363
365
  - test/processors/search_path_setter_test.rb
364
366
  - test/processors/meta_viewport_remover_test.rb
365
367
  - test/processors/search_parameter_inserter_test.rb
368
+ - test/processors/search_remover_test.rb
366
369
  - test/processors/section_inserter_test.rb
367
370
  - test/processors/report_a_problem_inserter_test.rb
368
371
  - test/processors/tag_mover_test.rb