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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 60d83499bad2b3c475c1ca7a2d45c3a0d0a4b0d4
4
- data.tar.gz: 63901c2a4448c212fb2df572f58ae36e21515e72
2
+ SHA256:
3
+ metadata.gz: 7e199ffa7dd3198248bcfce214810e20d2005bdd4ab82cc93704e9c04bc00e2e
4
+ data.tar.gz: a7ad48635544e1baec6467f8d9981834c875f0b5ffde9faacd909088346a3d64
5
5
  SHA512:
6
- metadata.gz: 6cb5c3cab63e0ae6b5137b5ac494ab2ccf094ed35078e2f327d1de0d8aa6d7dd7d7f68c4c232b453d8e7cce4a34f4bdf7a8662b6347dfde4f43d38cde56b6ab4
7
- data.tar.gz: b34af8764c8cfa2d83f8787de7391ec1d30d95258881b81304c5f06362c46b0d6812931c4665028634ebc8ab4af147df01a92e3764941145000415fb525c972e
6
+ metadata.gz: c3d0132d36c53f2013043ddc4b3dfd5f838e035cfd89cf0085a3883ef7febd2d2c8af7468bdbd4a79668526685a772d3bd47c7b07fe086d87acec538c137ddba
7
+ data.tar.gz: fbb6cace28c92b14160716497fadcdb895f067141508160543fe259fd869f54fede04c6c4788db009529ef21ccf8c31d8fccb7c44fa6c0951b2a8e806ad15eeb
data/.ruby-version CHANGED
@@ -1,2 +1,3 @@
1
- 2.3.0
1
+ 2.4.9
2
+
2
3
 
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ --no-private lib/**/*.rb - README.markdown
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
  gemspec
3
3
 
data/Gemfile.lock CHANGED
@@ -1,15 +1,15 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sterile (1.0.12)
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.1.0)
11
- nokogiri (1.7.0.1)
12
- mini_portile2 (~> 2.1.0)
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.13.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
+
@@ -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+\>)&ldquo;/, "\\1&rdquo;").gsub(/(\<\/\w+\>)&lsquo;/, "\\1&rsquo;")
@@ -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
+
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  module Sterile
4
- VERSION = "1.0.13"
4
+ VERSION = "1.0.20"
5
5
  end
6
6
 
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.rubyforge_project = "sterile"
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.13
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: 2017-04-05 00:00:00.000000000 Z
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: '0'
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: '0'
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
- - ".yaropts"
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
- rubyforge_project: sterile
78
- rubygems_version: 2.5.1
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