ree_lib 1.0.44 → 1.0.45

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: 0b693a698326ebc9436c1b53ac0ef76b16a084f0cf164d5dbbf296f965f2c9d0
4
- data.tar.gz: afcc7ad74317cb8c3c5f553430d2d486be8747b185b819d93852c56104604802
3
+ metadata.gz: 1833caceb1fab8b06725a1a975b37176fe614d2977bec18a0bbcde694bc8c386
4
+ data.tar.gz: d7a55eebaeabce9227d6d5c991bbd55ce2b70e3a2c1857bef588205320d8a911
5
5
  SHA512:
6
- metadata.gz: 0bb1241355f92521c4f2ef67dfe52b55082335c8d963028ad9cf1cc4f4bd0238def3aa33f34193c1bcdf8f3968fdb118e29e27cde0b40da052969ee9b0c7d658
7
- data.tar.gz: '0178d10d0f7b0063f665150c2848c7b985aae3505617bf2daaa637e5ac9ea2429fd1c9f925de8014d4d817fa06451ed5dfb2e91942d77a9a09973c8fdbb04112'
6
+ metadata.gz: ca8d804780cdaed54a20b120bc8054568af74ca303fc2cd4e237944f1d8db6a9f26dd89fcbe31f912f5a3f966d315839267cc76208fe8a76dfbe7834faf3ab3a
7
+ data.tar.gz: 5840f846e9bf90ba3882454d21f9bf2df376319512a30766ba28ac41e72f70d70429dd0c4c69edc5bdf0bf4b45825c451861f46bb5b0cbbced98b58c7d625393
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ree_lib (1.0.44)
4
+ ree_lib (1.0.45)
5
5
  binding_of_caller (~> 1.0.0)
6
6
  i18n (~> 1.12.0)
7
7
  loofah (~> 2.18.0)
@@ -36,8 +36,6 @@ GEM
36
36
  crass (~> 1.0.2)
37
37
  nokogiri (>= 1.5.9)
38
38
  msgpack (1.6.0)
39
- nokogiri (1.14.2-x86_64-darwin)
40
- racc (~> 1.4)
41
39
  nokogiri (1.14.2-x86_64-linux)
42
40
  racc (~> 1.4)
43
41
  oj (3.13.23)
@@ -3,6 +3,10 @@
3
3
  require 'set'
4
4
 
5
5
  class ReeText::PermitScrubber < Loofah::Scrubber
6
+ include Ree::LinkDSL
7
+
8
+ link :unescape_html
9
+
6
10
  attr_reader :tags, :attributes, :prune
7
11
 
8
12
  contract Kwargs[
@@ -11,7 +15,6 @@ class ReeText::PermitScrubber < Loofah::Scrubber
11
15
  attributes: Set,
12
16
  ] => Any
13
17
  def initialize(prune: false, tags: nil, attributes: nil)
14
- @unescape_html = ReeText::UnescapeHtml.new
15
18
  @prune = prune
16
19
  @direction = @prune ? :top_down : :bottom_up
17
20
  @tags = tags
@@ -26,7 +29,7 @@ class ReeText::PermitScrubber < Loofah::Scrubber
26
29
 
27
30
  return CONTINUE
28
31
  end
29
-
32
+
30
33
  return CONTINUE if node.text?
31
34
 
32
35
  unless (node.element? || node.comment?) && allowed_node?(node)
@@ -37,7 +40,7 @@ class ReeText::PermitScrubber < Loofah::Scrubber
37
40
  end
38
41
 
39
42
  protected
40
-
43
+
41
44
  def allowed_node?(node)
42
45
  @tags.include?(node.name)
43
46
  end
@@ -74,8 +77,7 @@ class ReeText::PermitScrubber < Loofah::Scrubber
74
77
 
75
78
  if Loofah::HTML5::SafeList::ATTR_VAL_IS_URI.include?(attr_name)
76
79
  # this block lifted nearly verbatim from HTML5 sanitization
77
- val_unescaped = @unescape_html
78
- .call(attr_node.value)
80
+ val_unescaped = unescape_html(attr_node.value)
79
81
  .gsub(Loofah::HTML5::Scrub::CONTROL_CHARACTERS,'')
80
82
  .downcase
81
83
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ReeLib
4
- VERSION = "1.0.44"
4
+ VERSION = "1.0.45"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ree_lib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.44
4
+ version: 1.0.45
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ruslan Gatiyatov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-05 00:00:00.000000000 Z
11
+ date: 2023-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ree