selma 0.4.7-aarch64-linux → 0.4.8-aarch64-linux

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: 6028b757cf2ddafbbe19397d9d7ef0db1437729a433b375c5187a0d69483d571
4
- data.tar.gz: d158c915f51d8086a2c3151e7a8748e3e3ace328b544270fa7d88303a8925839
3
+ metadata.gz: a6fc4865dd65a8a24e0360a0d746a0239b390f117d897d3c2f6de97b41966c0b
4
+ data.tar.gz: f8e3daa0cdb82d4cbe77b3582eb76471c83d6f44ba7cdc4bc9043b377827b6ab
5
5
  SHA512:
6
- metadata.gz: '085225d7a3c33bdb0fa5c4d28f4a97cfc833e3e88417fcc5665c2f2bf7aa362bb5612892d963e189031bee948f6e306b66d77228450b75cb356f750f4a24c775'
7
- data.tar.gz: '088f12d490842cc41a954cb9756114ec87355c9f4acddf1e4c0477555138bc1529fb7959cc16fda912c4f11429ec510482777022702f59aed2ed977447eee8fb'
6
+ metadata.gz: a31b31468ac537b251ef32a210ec30cee5657dded92c1314268e6d210c3f18eae0e7f358ded8cfa10316e7968b87cf2eed0f419f9f6e011ecb8c6bbcc05b6f9d
7
+ data.tar.gz: b8c42855a86087ba968940bc98249665c76043d1a2b1dcceb22c11e6c949ef73dcbb29347ee94fa3527a0e3dcbc8a9409c6435bed8c7f47ef174707527073bc2
Binary file
Binary file
Binary file
@@ -28,7 +28,7 @@ module Selma
28
28
  raise ArgumentError, "other_config must be a Hash" unless other_config.is_a?(Hash)
29
29
 
30
30
  merged = {}
31
- keys = Set.new(config.keys + other_config.keys)
31
+ keys = Set.new(config.keys + other_config.keys).to_a
32
32
 
33
33
  keys.each do |key|
34
34
  oldval = config[key]
@@ -39,7 +39,7 @@ module Selma
39
39
  merged[key] = if oldval.is_a?(Hash) && newval.is_a?(Hash)
40
40
  oldval.empty? ? newval.dup : merge(oldval, newval)
41
41
  elsif newval.is_a?(Array) && key != :transformers
42
- Set.new(newval)
42
+ Set.new(newval).to_a
43
43
  else
44
44
  can_dupe?(newval) ? newval.dup : newval
45
45
  end
@@ -4,87 +4,5 @@ require "selma/sanitizer/config"
4
4
 
5
5
  module Selma
6
6
  class Sanitizer
7
- ALLOW = 1 << 0
8
- ESCAPE_TAGFILTER = (1 << 1)
9
- REMOVE_CONTENTS = (1 << 2)
10
- WRAP_WHITESPACE = (1 << 3)
11
-
12
- # initialize is in Rust, this just helps manage config setup in Ruby
13
- # TODO: could this just become initialize?
14
- def setup
15
- allow_element(config[:elements] || [])
16
-
17
- (config[:attributes] || {}).each do |element, attrs|
18
- allow_attribute(element, attrs)
19
- end
20
-
21
- (config[:protocols] || {}).each do |element, protocols|
22
- protocols.each do |attribute, pr|
23
- allow_protocol(element, attribute, pr)
24
- end
25
- end
26
-
27
- remove_contents(config[:remove_contents]) if config.include?(:remove_contents)
28
-
29
- wrap_with_whitespace(config[:whitespace_elements]) if config.include?(:whitespace_elements)
30
-
31
- set_escape_tagfilter(config.fetch(:escape_tagfilter, true))
32
- set_allow_comments(config.fetch(:allow_comments, false))
33
- set_allow_doctype(config.fetch(:allow_doctype, true))
34
- end
35
-
36
- def elements
37
- config[:elements]
38
- end
39
-
40
- def allow_element(elements)
41
- elements.flatten.each { |e| set_flag(e, ALLOW, true) }
42
- end
43
-
44
- def disallow_element(elements)
45
- elements.flatten.each { |e| set_flag(e, ALLOW, false) }
46
- end
47
-
48
- def allow_attribute(element, attrs)
49
- attrs.flatten.each { |attr| set_allowed_attribute(element, attr, true) }
50
- end
51
-
52
- def require_any_attributes(element, attrs)
53
- if attr.empty?
54
- set_required_attribute(element, "*", true)
55
- else
56
- attrs.flatten.each { |attr| set_required_attribute(element, attr, true) }
57
- end
58
- end
59
-
60
- def disallow_attribute(element, attrs)
61
- attrs.flatten.each { |attr| set_allowed_attribute(element, attr, false) }
62
- end
63
-
64
- def allow_class(element, *klass)
65
- klass.flatten.each { |k| set_allowed_class(element, k, true) }
66
- end
67
-
68
- def allow_protocol(element, attr, protos)
69
- if protos.is_a?(Array)
70
- raise ArgumentError, "`:all` must be passed outside of an array" if protos.include?(:all)
71
- else
72
- protos = [protos]
73
- end
74
-
75
- set_allowed_protocols(element, attr, protos)
76
- end
77
-
78
- def remove_contents(elements)
79
- if elements.is_a?(TrueClass) || elements.is_a?(FalseClass)
80
- set_all_flags(REMOVE_CONTENTS, elements)
81
- else
82
- elements.flatten.each { |e| set_flag(e, REMOVE_CONTENTS, true) }
83
- end
84
- end
85
-
86
- def wrap_with_whitespace(elements)
87
- elements.flatten.each { |e| set_flag(e, WRAP_WHITESPACE, true) }
88
- end
89
7
  end
90
8
  end
data/lib/selma/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Selma
4
- VERSION = "0.4.7"
4
+ VERSION = "0.4.8"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selma
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.7
4
+ version: 0.4.8
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Garen J. Torikian
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-17 00:00:00.000000000 Z
11
+ date: 2024-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake