escape_escape_escape 0.2.1 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 56c2a260ff14dda105a230c37578df362bef2925
4
- data.tar.gz: 55285c2ba467f88aaee326e9a3bad7572e4c610e
3
+ metadata.gz: 7232497e102ab2bd27d1892c77ec7eb9f2957e27
4
+ data.tar.gz: 263451a1649efb22f1fc21457c240b29ad3de001
5
5
  SHA512:
6
- metadata.gz: 1cfb296f4134a0f1e342b1d9795857a4bb2a2df794717418fee8f77884edd397ade289f4750deafee8fa81e46d11dd5539a59ec3fd18f2f3b43028577bb64fde
7
- data.tar.gz: 9636b1362c82148ea88e745105ecd7358394c62726a3941d2990133b7d7cc4e2d7273489bc94144c2771d7eebd3579930a65e0453eb29326e42e4362c7740578
6
+ metadata.gz: 065639dcd17ec6ed58702292f1a1f5d637aa5b4220ba3644a7b8823f63432f6d9c99502d22fc5cf0d5592323959edeb6ac4f31ee212f38f0f0ef212fad670d0c
7
+ data.tar.gz: 2efc664d236dc1c7eb9aa4f0347daab1e453b34ee77fc788b28187dd179a64efe803855ea1a9ef3e48ace9268637d2d318de60c8052af1393b96f15799ea59b0
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.3.0
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.require_paths = ["lib"]
23
23
 
24
24
  spec.add_dependency "sanitize" , ">= 3.0"
25
+ spec.add_dependency "htmlentities" , ">= 4.3.2"
25
26
 
26
27
  spec.add_development_dependency "pry" , ">= 0.9"
27
28
  spec.add_development_dependency "rake" , ">= 10.3"
@@ -1,9 +1,12 @@
1
1
 
2
2
 
3
3
  require "sanitize"
4
+ require "htmlentities"
4
5
 
5
6
  class Escape_Escape_Escape
6
7
 
8
+ CODER = HTMLEntities.new(:xhtml1)
9
+
7
10
  REPEATING_DOTS = /\.{1,}\//
8
11
  INVALID_FILE_NAME_CHARS = /[^a-z0-9\_\.]{1,}/i
9
12
  UN_PRINT_ABLE = /[^[:print:]\n]/
@@ -70,6 +73,14 @@ class Escape_Escape_Escape
70
73
  Sanitize.fragment( clean_utf8(s), CONFIG )
71
74
  end
72
75
 
76
+ def unescape_inner_html s
77
+ CODER.decode(clean_utf8(s))
78
+ end
79
+
80
+ def inner_html s
81
+ CODER.encode(unescape_inner_html(s), :named, :hexadecimal)
82
+ end
83
+
73
84
  end # === class self ===
74
85
 
75
86
  end # === class Escape_Escape_Escape ===
@@ -0,0 +1,16 @@
1
+
2
+ [
3
+
4
+ {
5
+ "it" : "does not re-encoded already encoded text",
6
+ "input" : "Hello & GoodBye",
7
+ "output" : "Hello & GoodBye"
8
+ },
9
+
10
+ {
11
+ "it" : "encodes special characters: ©",
12
+ "input" : "Chars: ©",
13
+ "output" : "Chars: ©"
14
+ }
15
+
16
+ ]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: escape_escape_escape
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - da99
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: htmlentities
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 4.3.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 4.3.2
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: pry
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -127,6 +141,7 @@ files:
127
141
  - lib/escape_escape_escape.rb
128
142
  - package.json
129
143
  - specs/as_json/0001-html.json
144
+ - specs/as_json/0002-inner_html.json
130
145
  - specs/as_json/0010-text.json
131
146
  - specs/escape_escape_escape.rb
132
147
  - specs/helpers.rb