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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/slimmer.rb +1 -0
- data/lib/slimmer/headers.rb +2 -0
- data/lib/slimmer/processors/search_remover.rb +17 -0
- data/lib/slimmer/skin.rb +1 -0
- data/lib/slimmer/version.rb +1 -1
- data/test/processors/search_remover_test.rb +62 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e7fc3e0c52a6b22145df9dc9bf5cdfa35ac3eca
|
4
|
+
data.tar.gz: 5f7e8eb37930d42544fc8306053f928b44ff4c19
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a3c20a69cbb2b544ecc9410a04cc1ea9c80c1b4a971fd96348964ab718968bcf769f2d5593e20112c0ffe70814811d1250007b675e506c38939f431ed0b5f6a
|
7
|
+
data.tar.gz: 91c493c11ec336ad039df59580b2633014bcd2f0ddec2b578359ecc708a07afce6eb367871e9077b4a88c6f2a6de0bb7f28efeb7bf2559d86c4f93c996f6c6a9
|
data/CHANGELOG.md
CHANGED
data/lib/slimmer.rb
CHANGED
@@ -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'
|
data/lib/slimmer/headers.rb
CHANGED
@@ -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
|
data/lib/slimmer/skin.rb
CHANGED
@@ -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'
|
data/lib/slimmer/version.rb
CHANGED
@@ -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.
|
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-
|
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
|