translitter 1.0.0 → 1.1.0
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/Gemfile +0 -1
- data/Gemfile.lock +1 -1
- data/README.md +9 -3
- data/lib/translitter/version.rb +1 -1
- data/lib/translitter.rb +5 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0aa4e817b0f70def9668e77516e9dcd105d87b6454339c5e64b194a33973fc04
|
4
|
+
data.tar.gz: 8e1a0bd1a07b5e7da59292c6649ed27628ffcdf219aa7a63edba6233b29d32bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a2637b943cbe9a7bf5d951890a4738391331dba6b4edd9594f839639330f9e0ebd565ab26ac48e912caeda995aeb35055d32e002a3b97205bf75f022c1710c0
|
7
|
+
data.tar.gz: fe97f73afaf3d7f4710907247b38df4c1b1d321adb69312f65ffacc4e8d28cfbb7fc2ef2aa2a3fc4f83fca2bcc09155c67a2394e8c7fdbeb17b10de6d14f7e11
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -19,13 +19,19 @@ Using translitter is super easy. For german you'd e.g. do:
|
|
19
19
|
```ruby
|
20
20
|
translitter = Translitter.new(
|
21
21
|
default_rules: true,
|
22
|
-
custom_rules: { 'Ä' => 'Ae', 'Ö' => 'Oe', 'Ü' => 'Ue', 'ä' => 'ae', 'ö' => 'oe', 'ü' => 'ue', 'ß' => 'ss' }
|
22
|
+
custom_rules: { 'Ä' => 'Ae', 'Ö' => 'Oe', 'Ü' => 'Ue', 'ä' => 'ae', 'ö' => 'oe', 'ü' => 'ue', 'ß' => 'ss' },
|
23
|
+
replacement: "?"
|
23
24
|
)
|
24
25
|
|
25
|
-
translitter.transliterate("Äpfél") #=> "Aepfel"
|
26
|
+
translitter.transliterate("Äpfél 🍎") #=> "Aepfel ?"
|
26
27
|
```
|
27
28
|
|
28
|
-
The default rules are taken from `i18n-ruby`.
|
29
|
+
The default rules are taken from `i18n-ruby`. If you pass `nil` as
|
30
|
+
`replacement`, special characters will be kept in the result.
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
translitter.transliterate("Äpfél 🍎", replacement: nil) #=> "Aepfel 🍎"
|
34
|
+
```
|
29
35
|
|
30
36
|
## Development
|
31
37
|
|
data/lib/translitter/version.rb
CHANGED
data/lib/translitter.rb
CHANGED
@@ -34,15 +34,17 @@ class Translitter
|
|
34
34
|
"Ž" => "Z", "ž" => "z"
|
35
35
|
}.freeze
|
36
36
|
|
37
|
-
def initialize(default_rules: true, custom_rules: {})
|
37
|
+
def initialize(default_rules: true, custom_rules: {}, replacement: "?")
|
38
38
|
@rules = {}
|
39
39
|
@rules.merge!(DEFAULT_RULES) if default_rules
|
40
40
|
@rules.merge!(custom_rules)
|
41
|
+
|
42
|
+
@replacement = replacement
|
41
43
|
end
|
42
44
|
|
43
|
-
def transliterate(str, replacement:
|
45
|
+
def transliterate(str, replacement: @replacement)
|
44
46
|
str.gsub(/[^\x00-\x7f]/u) do |char|
|
45
|
-
@rules[char] || replacement
|
47
|
+
@rules[char] || replacement || char
|
46
48
|
end
|
47
49
|
end
|
48
50
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: translitter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Vetter
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|