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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aba8f2f968ae1d62894e5aa84c4847e4402f8de6d3a5bec3b15b35fb80e06729
4
- data.tar.gz: 5516364edb4df8a9da7797b31782182bfe52ef220c9c02bf251173223d45744b
3
+ metadata.gz: 9b38b87a873c262f1debb263c19cfd0c04785d148577ea03cec23a55e3fab4b9
4
+ data.tar.gz: 68e43f9c45c7a4456d31f1e4ede35bd2bf2f913d088894145d39b544131f595b
5
5
  SHA512:
6
- metadata.gz: 134db783451bce7d6776782c27277e3a55007454339ef3576cb82027f299d8bd2c120c56fc76acbd1bff04f118e95c49403954731d70d9ed6831f1abd82494c5
7
- data.tar.gz: 1f0636438ddd5296a9717eb1dd1a85e5dc5c777f6965b2d94f173b9d846299cebce0263aeb3e3e0a1a48de14dc2b6a0277d5858f8c230fee3939738d1b68ca7d
6
+ metadata.gz: 684026852f4bfba3ee34d8b5ec2259ae94795b711c7cbcd25d68ec3d2bc077b7b2734bb5c33df59059b3fe193b98461ad98d2d2290a7636631a30eff0e004451
7
+ data.tar.gz: 3f1f7e326a353d72911f303247bf309d5948adeacc0e7365399bce7485cc53751ac0bfd6d63cf3409533010b67e96908d3e465bc5fc43412ab6565ab5884026f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
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
+
3
7
  ## 0.3.1 - 16 August 2023
4
8
 
5
9
  Handling `ActionDispatch::Response::RackBody` as well as array body responses.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- custom_tag (0.2.0)
4
+ custom_tag (0.3.2)
5
5
  nokogiri
6
6
 
7
7
  GEM
@@ -26,12 +26,13 @@ module CustomTag
26
26
  build(tag_name, attrs, content)
27
27
  end
28
28
 
29
- doc = Nokogiri::XML.fragment(ret)
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.content))
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) if headers["Content-Type"]&.include?("text/html")
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CustomTag
4
- VERSION = "0.3.1"
4
+ VERSION = "0.3.2"
5
5
  end
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
- if CustomTag::Base.tags[element.name]
16
- element.replace(CustomTag::Base.replace(element.name, element.attributes, element.children.to_html))
17
- end
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: custom_tag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Jeffries