sterile 1.0.13 → 1.0.20
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 +5 -5
- data/.ruby-version +2 -1
- data/.yardopts +1 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +6 -6
- data/lib/sterile/data/smart_format_rules.rb +3 -2
- data/lib/sterile/smart_format.rb +3 -0
- data/lib/sterile/transliterate.rb +2 -1
- data/lib/sterile/version.rb +1 -1
- data/sterile.gemspec +2 -3
- metadata +11 -11
- data/.yaropts +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7e199ffa7dd3198248bcfce214810e20d2005bdd4ab82cc93704e9c04bc00e2e
|
4
|
+
data.tar.gz: a7ad48635544e1baec6467f8d9981834c875f0b5ffde9faacd909088346a3d64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3d0132d36c53f2013043ddc4b3dfd5f838e035cfd89cf0085a3883ef7febd2d2c8af7468bdbd4a79668526685a772d3bd47c7b07fe086d87acec538c137ddba
|
7
|
+
data.tar.gz: fbb6cace28c92b14160716497fadcdb895f067141508160543fe259fd869f54fede04c6c4788db009529ef21ccf8c31d8fccb7c44fa6c0951b2a8e806ad15eeb
|
data/.ruby-version
CHANGED
data/.yardopts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--no-private lib/**/*.rb - README.markdown
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
sterile (1.0.
|
5
|
-
nokogiri
|
4
|
+
sterile (1.0.17)
|
5
|
+
nokogiri (>= 1.10.8)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: http://rubygems.org/
|
9
9
|
specs:
|
10
|
-
mini_portile2 (2.
|
11
|
-
nokogiri (1.
|
12
|
-
mini_portile2 (~> 2.
|
10
|
+
mini_portile2 (2.4.0)
|
11
|
+
nokogiri (1.10.10)
|
12
|
+
mini_portile2 (~> 2.4.0)
|
13
13
|
|
14
14
|
PLATFORMS
|
15
15
|
ruby
|
@@ -18,4 +18,4 @@ DEPENDENCIES
|
|
18
18
|
sterile!
|
19
19
|
|
20
20
|
BUNDLED WITH
|
21
|
-
1.
|
21
|
+
1.17.3
|
@@ -26,7 +26,7 @@ module Sterile
|
|
26
26
|
["(c)", "©"],
|
27
27
|
["(r)", "®"],
|
28
28
|
["(R)", "®"],
|
29
|
-
[/\'(\d\d)([\p{P}\p{Z}])/, "’\\1\\2"],
|
29
|
+
[/\'(\d\d)(?!’|\'|[^’\'\s]+[’\'][\p{P}\p{Z}])([\p{P}\p{Z}])/, "’\\1\\2"],
|
30
30
|
# [/<p>"/, "<p>\\1″"],
|
31
31
|
[/s\'([^a-zA-Z0-9])/, "s’\\1"],
|
32
32
|
[/"([:;])/, "”\\1"],
|
@@ -44,4 +44,5 @@ module Sterile
|
|
44
44
|
]
|
45
45
|
end
|
46
46
|
end
|
47
|
-
end
|
47
|
+
end
|
48
|
+
|
data/lib/sterile/smart_format.rb
CHANGED
@@ -9,6 +9,8 @@ module Sterile
|
|
9
9
|
# q{"He said, 'Away with you, Drake!'"}.smart_format # => “He said, ‘Away with you, Drake!’”
|
10
10
|
#
|
11
11
|
def smart_format(string)
|
12
|
+
string = string.to_s
|
13
|
+
string = string.dup if string.frozen?
|
12
14
|
smart_format_rules.each do |rule|
|
13
15
|
string.gsub! rule[0], rule[1]
|
14
16
|
end
|
@@ -19,6 +21,7 @@ module Sterile
|
|
19
21
|
# Like +smart_format+, but works with HTML/XML (somewhat).
|
20
22
|
#
|
21
23
|
def smart_format_tags(string)
|
24
|
+
string = string.gsub /[\p{Z}\s]+(<\/[a-zA-Z]+>)(['"][a-zA-Z])/, "\\1 \\2" # Fixes quote after whitespace + tag "<em>Dan. </em>'And"
|
22
25
|
string.gsub_tags do |text|
|
23
26
|
text.smart_format
|
24
27
|
end.encode_entities.gsub(/(\<\/\w+\>)“/, "\\1”").gsub(/(\<\/\w+\>)‘/, "\\1’")
|
@@ -12,7 +12,7 @@ module Sterile
|
|
12
12
|
cg = codepoint >> 8
|
13
13
|
cp = codepoint & 0xFF
|
14
14
|
begin
|
15
|
-
mapping = codepoints_data[cg][cp]
|
15
|
+
mapping = Array(codepoints_data[cg][cp])
|
16
16
|
result << yield(mapping, codepoint)
|
17
17
|
rescue
|
18
18
|
end
|
@@ -63,3 +63,4 @@ module Sterile
|
|
63
63
|
end # class << self
|
64
64
|
|
65
65
|
end # module Sterile
|
66
|
+
|
data/lib/sterile/version.rb
CHANGED
data/sterile.gemspec
CHANGED
@@ -10,12 +10,11 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.authors = ["Patrick Hogan"]
|
11
11
|
s.email = ["pbhogan@gmail.com"]
|
12
12
|
s.homepage = "https://github.com/pbhogan/sterile"
|
13
|
+
s.licenses = ['MIT']
|
13
14
|
s.summary = %q{Sterilize your strings! Transliterate, generate slugs, smart format, strip tags, encode/decode entities and more.}
|
14
15
|
s.description = s.summary
|
15
16
|
|
16
|
-
s.
|
17
|
-
|
18
|
-
s.add_dependency("nokogiri")
|
17
|
+
s.add_dependency("nokogiri", ">= 1.10.8")
|
19
18
|
|
20
19
|
s.files = `git ls-files`.split("\n")
|
21
20
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sterile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patrick Hogan
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.10.8
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.10.8
|
27
27
|
description: Sterilize your strings! Transliterate, generate slugs, smart format,
|
28
28
|
strip tags, encode/decode entities and more.
|
29
29
|
email:
|
@@ -35,7 +35,7 @@ files:
|
|
35
35
|
- ".gitignore"
|
36
36
|
- ".ruby-gemset"
|
37
37
|
- ".ruby-version"
|
38
|
-
- ".
|
38
|
+
- ".yardopts"
|
39
39
|
- Gemfile
|
40
40
|
- Gemfile.lock
|
41
41
|
- README.markdown
|
@@ -57,9 +57,10 @@ files:
|
|
57
57
|
- sterile
|
58
58
|
- sterile.gemspec
|
59
59
|
homepage: https://github.com/pbhogan/sterile
|
60
|
-
licenses:
|
60
|
+
licenses:
|
61
|
+
- MIT
|
61
62
|
metadata: {}
|
62
|
-
post_install_message:
|
63
|
+
post_install_message:
|
63
64
|
rdoc_options: []
|
64
65
|
require_paths:
|
65
66
|
- lib
|
@@ -74,9 +75,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
74
75
|
- !ruby/object:Gem::Version
|
75
76
|
version: '0'
|
76
77
|
requirements: []
|
77
|
-
|
78
|
-
|
79
|
-
signing_key:
|
78
|
+
rubygems_version: 3.0.8
|
79
|
+
signing_key:
|
80
80
|
specification_version: 4
|
81
81
|
summary: Sterilize your strings! Transliterate, generate slugs, smart format, strip
|
82
82
|
tags, encode/decode entities and more.
|
data/.yaropts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--no-private lib/**/*.rb - README.markdown
|