sterile 1.0.16 → 1.0.22

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: 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