sterile 1.0.16 → 1.0.22

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
  SHA256:
3
- metadata.gz: 9e58e882fc9f9b84e9881a701a0dea664d97ad0138bfe60928556e982b0b5967
4
- data.tar.gz: a8c943040bfa2c9f34a07587c12914fc4e22edc3bf85917b84288fae33d7a6ec
3
+ metadata.gz: 69471b3cdff84cde4e92bca955edcc4b090be82abee6a890f6f452a1ec6b13c8
4
+ data.tar.gz: 421a5a328e53452a47dbcd4979dd63b3ef6c70e7f63001dd1191250f6b4f192d
5
5
  SHA512:
6
- metadata.gz: 4da8f6e396f474b639450f36416d950775d51feff7dc3dc642b447a5e0ef00788121654a175488a87270fbc22059013dd9013e13ced6730e9ffee6850db84fb3
7
- data.tar.gz: 92c41a6da178516a2fdaf5c719e6dc13f27e372e3a3452d6ada73d884c73a10ec9bb0e5439b57fa59e83f498a61d44374aa94ae3133d07037a255df1c34c77d0
6
+ metadata.gz: 1c9949930230ce8425fe65970f70e3e26e4afd4e0a4e56c0f31a1edd890397a6732f0faa34557330237177f4dca3305db1af50d5d93496e24fc9bad620b1e761
7
+ data.tar.gz: 04b3a2f2e08844b53abf9727630f3de56938499ccf337b562e4487026639efd5ebb5a33e867b52b4f6ef7ade02ed45728b0a0991f2b6d7f9701c91a14c44a9c8
data/.ruby-version CHANGED
@@ -1,3 +1,3 @@
1
- 2.4
1
+ 2.4.9
2
2
 
3
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,14 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sterile (1.0.14)
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
10
  mini_portile2 (2.4.0)
11
- nokogiri (1.9.1)
11
+ nokogiri (1.10.10)
12
12
  mini_portile2 (~> 2.4.0)
13
13
 
14
14
  PLATFORMS
@@ -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"],
@@ -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;")
@@ -106,18 +106,7 @@ module Sterile
106
106
  end
107
107
  alias_method :titleize, :titlecase
108
108
 
109
-
110
- private
111
-
112
- # Lazy load smart formatting rules
113
- #
114
- def smart_format_rules
115
- @smart_format_rules ||= begin
116
- require "sterile/data/smart_format_rules"
117
- Data.smart_format_rules
118
- end
119
- end
120
-
121
109
  end # class << self
122
110
 
123
- end # module Sterile
111
+ end # module Sterile
112
+
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  module Sterile
4
- VERSION = "1.0.16"
4
+ VERSION = "1.0.22"
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", ">= 1.10.8")
17
+ s.add_dependency("nokogiri", ">= 1.11.0")
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.16
4
+ version: 1.0.22
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: 2020-04-13 00:00:00.000000000 Z
11
+ date: 2021-05-12 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: 1.10.8
19
+ version: 1.11.0
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: 1.10.8
26
+ version: 1.11.0
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
@@ -75,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
76
  version: '0'
76
77
  requirements: []
77
78
  rubygems_version: 3.0.8
78
- signing_key:
79
+ signing_key:
79
80
  specification_version: 4
80
81
  summary: Sterilize your strings! Transliterate, generate slugs, smart format, strip
81
82
  tags, encode/decode entities and more.
data/.yaropts DELETED
@@ -1 +0,0 @@
1
- --no-private lib/**/*.rb - README.markdown