name_tamer 1.0.0 → 1.0.2

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: 8a398c8020be8c46d8a50bd42ed442d567a0a4eeb281fd1d88854b5ff8e5e505
4
- data.tar.gz: dc8bd4b94fd402e2753303aa0753a148ae8ec2b4d16c0e0d8c622570b8f015e0
3
+ metadata.gz: 6297841f503f7afdd7c53dba7fd5393818a476a430f5af73e655553f4258f9da
4
+ data.tar.gz: cd6a297d247f13eb4c9c7d547c3d7001f4b2d8edf4d92943fa9e33405cb59ba8
5
5
  SHA512:
6
- metadata.gz: 27a6f4233d5e71791a18aa063c9b7b32509f7bd9d00beded4e1d99a08a29c2a52e94507d627db812bc298620cd22d11e8198546a856d78f6aabcfda4dd04452d
7
- data.tar.gz: f420d7a4dfc7dd97f773c745d57cb0a73be6864c754838197ba440c0b2790f118314b9e2de4cd3e4b146bf9578de913e8f7ee6ad86705cd80db76aedc813535d
6
+ metadata.gz: b3957fa8569fc8e85c0bacc26ae310d3b6f5a9b9ee1ac935bc1d2325d9a6197f94bd53ed4ecd61ccc59ad084785b3deb85b6dc333bb87ce4d3248ff9ad614ac1
7
+ data.tar.gz: 66b26c34e7e3da845a37256f32eb000b7142ab6ca5fb8728fd3169cc2136ec80513de0cf10ddb59a413578ce7c0c9441cd383769776fd14ee4b0777d7a8f1de3
data/CHANGELOG.md CHANGED
@@ -5,6 +5,41 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.0.2] - 2026-07-22
9
+
10
+ ### Added
11
+
12
+ - Contributor documentation covering setup, testing, linting, adfix
13
+ maintenance, releases and changelog conventions.
14
+ - SonarQube Cloud project binding for SonarLint connected mode.
15
+
16
+ ### Changed
17
+
18
+ - The repository's maintenance tasks and prefix/suffix data files moved from
19
+ `doc/` to `docs/`.
20
+ - SonarQube analysis now imports SimpleCov 1.0 coverage reports after they are
21
+ normalised to absolute paths.
22
+ - GitHub Actions release, test and analysis workflows now use updated Ruby,
23
+ checkout, artifact upload, Ruby setup and SonarQube scan actions.
24
+ - The release workflow uses Ruby 4.0.6, while the test matrix continues to
25
+ cover Ruby 3.3, 3.4 and 4.0.
26
+ - Gem metadata and the lockfile now identify the released library as version
27
+ `1.0.1`.
28
+ - Generated planning documents under `docs/plans` are excluded from version
29
+ control.
30
+
31
+ ## [1.0.1] - 2026-07-20
32
+
33
+ ### Fixed
34
+
35
+ - The mangled-Á entry in the bad-encoding table is written with an escape
36
+ sequence, so source scanners no longer flag the file as corrupted.
37
+
38
+ ### Changed
39
+
40
+ - The `NameTamer::Strings` modules use `extend self` instead of
41
+ `module_function`; no public API change.
42
+
8
43
  ## [1.0.0] - 2026-07-18
9
44
 
10
45
  ### Changed
@@ -4,7 +4,7 @@
4
4
  # see https://github.com/svenfuchs/i18n/blob/master/lib/i18n/backend/transliterator.rb
5
5
  module NameTamer
6
6
  module Strings
7
- module_function
7
+ extend self
8
8
 
9
9
  # Any characters that resemble latin characters might usefully be
10
10
  # transliterated into ones that are easy to type on an anglophone
@@ -6,7 +6,7 @@
6
6
  # Useful table here http://www.i18nqa.com/debug/utf8-debug.html
7
7
  module NameTamer
8
8
  module Strings
9
- module_function
9
+ extend self
10
10
 
11
11
  # Strings that were wrongly encoded with single-byte encodings sometimes
12
12
  # have tell-tale substrings that we can put back into the correct UTF-8
@@ -129,7 +129,7 @@ module NameTamer
129
129
  'Û' => 'Û',
130
130
  'À' => 'À',
131
131
  'Ù' => 'Ù',
132
- 'Ã�' => 'Á',
132
+ "Ã\uFFFD" => 'Á', # second byte of mangled Á decodes to U+FFFD REPLACEMENT CHARACTER
133
133
  'Å ' => 'Š',
134
134
  'Å¡' => 'š',
135
135
  'Ÿ' => 'Ÿ',
@@ -2,7 +2,7 @@
2
2
 
3
3
  module NameTamer
4
4
  module Strings
5
- module_function
5
+ extend self
6
6
 
7
7
  def upcase_first_letter(string)
8
8
  string.gsub(/\b\w/, &:upcase)
@@ -2,7 +2,7 @@
2
2
 
3
3
  module NameTamer
4
4
  module Strings
5
- module_function
5
+ extend self
6
6
 
7
7
  # Fix known last names that have spaces (not hyphens!)
8
8
  def nbsp_in_compound_name(string)
@@ -4,7 +4,7 @@ module NameTamer
4
4
  # Pure string transformations used throughout the gem. Every method
5
5
  # takes a string and returns a new string; arguments are never mutated.
6
6
  module Strings
7
- module_function
7
+ extend self
8
8
 
9
9
  def presence(string)
10
10
  string unless string.empty?
@@ -2,7 +2,7 @@
2
2
 
3
3
  module NameTamer
4
4
  module Strings
5
- module_function
5
+ extend self
6
6
 
7
7
  # Fixes for name modifiers followed by space
8
8
  # Also replaces spaces with non-breaking spaces
@@ -2,7 +2,7 @@
2
2
 
3
3
  module NameTamer
4
4
  module Strings
5
- module_function
5
+ extend self
6
6
 
7
7
  # Ensure commas have exactly one space after them
8
8
  def space_around_comma(string)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NameTamer
4
- VERSION = '1.0.0'
4
+ VERSION = '1.0.2'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: name_tamer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominic Sayers
@@ -62,7 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
64
  requirements: []
65
- rubygems_version: 3.6.9
65
+ rubygems_version: 4.0.16
66
66
  specification_version: 4
67
67
  summary: 'Example: NameTamer[''Mr. John Q. Smith III, MD''].simple_name # => John
68
68
  Smith'