custom_tag 0.3.0 → 0.3.2
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 +8 -0
- data/Gemfile.lock +1 -1
- data/lib/custom_tag/base.rb +3 -2
- data/lib/custom_tag/middleware.rb +13 -2
- 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
@@ -1,5 +1,13 @@
|
|
1
1
|
# CHANGELOG for CustomTag
|
2
2
|
|
3
|
+
## 0.3.2 - 16 August 2023
|
4
|
+
|
5
|
+
Minor tweaks in debugging as I go through a Rails application using it in anger.
|
6
|
+
|
7
|
+
## 0.3.1 - 16 August 2023
|
8
|
+
|
9
|
+
Handling `ActionDispatch::Response::RackBody` as well as array body responses.
|
10
|
+
|
3
11
|
## 0.3.0 - 16 August 2023
|
4
12
|
|
5
13
|
Configured Railtie to correctly use Rack middleware.
|
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,9 +7,20 @@ module CustomTag
|
|
7
7
|
def call(env)
|
8
8
|
code, headers, response = @app.call(env)
|
9
9
|
|
10
|
-
|
10
|
+
unless headers["Content-Type"]&.include?("text/html")
|
11
|
+
return [code, headers, response]
|
12
|
+
end
|
11
13
|
|
12
|
-
|
14
|
+
response_body = if response.respond_to?(:body)
|
15
|
+
response.body
|
16
|
+
else
|
17
|
+
response[0]
|
18
|
+
end
|
19
|
+
|
20
|
+
response_body = CustomTag.parse_and_replace(response_body)
|
21
|
+
|
22
|
+
headers["Content-Length"] = response_body.bytesize.to_s
|
23
|
+
[code, headers, [response_body]]
|
13
24
|
end
|
14
25
|
end
|
15
26
|
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
|