custom_tag 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/lib/custom_tag/base.rb +3 -2
- data/lib/custom_tag/middleware.rb +6 -1
- data/lib/custom_tag/version.rb +1 -1
- data/lib/custom_tag.rb +3 -3
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b38b87a873c262f1debb263c19cfd0c04785d148577ea03cec23a55e3fab4b9
|
4
|
+
data.tar.gz: 68e43f9c45c7a4456d31f1e4ede35bd2bf2f913d088894145d39b544131f595b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 684026852f4bfba3ee34d8b5ec2259ae94795b711c7cbcd25d68ec3d2bc077b7b2734bb5c33df59059b3fe193b98461ad98d2d2290a7636631a30eff0e004451
|
7
|
+
data.tar.gz: 3f1f7e326a353d72911f303247bf309d5948adeacc0e7365399bce7485cc53751ac0bfd6d63cf3409533010b67e96908d3e465bc5fc43412ab6565ab5884026f
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/lib/custom_tag/base.rb
CHANGED
@@ -26,12 +26,13 @@ module CustomTag
|
|
26
26
|
build(tag_name, attrs, content)
|
27
27
|
end
|
28
28
|
|
29
|
-
doc = Nokogiri::
|
29
|
+
doc = Nokogiri::HTML.fragment(ret)
|
30
30
|
doc.search("*").each do |element|
|
31
31
|
if CustomTag::Base.tags[element.name]
|
32
|
-
element.replace(CustomTag::Base.replace(element.name, element.attributes, element.
|
32
|
+
element.replace(CustomTag::Base.replace(element.name, element.attributes, element.children.to_html))
|
33
33
|
end
|
34
34
|
end
|
35
|
+
|
35
36
|
doc.to_html.strip
|
36
37
|
end
|
37
38
|
|
@@ -7,14 +7,19 @@ module CustomTag
|
|
7
7
|
def call(env)
|
8
8
|
code, headers, response = @app.call(env)
|
9
9
|
|
10
|
+
unless headers["Content-Type"]&.include?("text/html")
|
11
|
+
return [code, headers, response]
|
12
|
+
end
|
13
|
+
|
10
14
|
response_body = if response.respond_to?(:body)
|
11
15
|
response.body
|
12
16
|
else
|
13
17
|
response[0]
|
14
18
|
end
|
15
19
|
|
16
|
-
response_body = CustomTag.parse_and_replace(response_body)
|
20
|
+
response_body = CustomTag.parse_and_replace(response_body)
|
17
21
|
|
22
|
+
headers["Content-Length"] = response_body.bytesize.to_s
|
18
23
|
[code, headers, [response_body]]
|
19
24
|
end
|
20
25
|
end
|
data/lib/custom_tag/version.rb
CHANGED
data/lib/custom_tag.rb
CHANGED
@@ -12,9 +12,9 @@ module CustomTag
|
|
12
12
|
def self.parse_and_replace(content)
|
13
13
|
doc = Nokogiri::HTML.parse(content)
|
14
14
|
doc.search("*").each do |element|
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
next unless CustomTag::Base.tags[element.name]
|
16
|
+
|
17
|
+
element.replace(CustomTag::Base.replace(element.name, element.attributes, element.children.to_html))
|
18
18
|
end
|
19
19
|
doc.to_html(save_with: 0)
|
20
20
|
end
|