gost_translit 0.0.1 → 0.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 +4 -4
- data/lib/gost_translit.rb +19 -18
- data/spec/lib/gost_translit_spec.rb +3 -5
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a524e2ba64716799fd77662f20d4631242047b3bfe13b6de42a6cf9889c309b
|
4
|
+
data.tar.gz: 5b0d8e3a3170b0122ea7bba0591f4ef92ebd31911d290547c4499df211ea4320
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c92ee1044566b41af1a8dd8d6017550765b52591b585c40f91fc60e3c8a6bd55cca38a8471b549f7ed72c4bcb74d7aaaed5e230eb7cbec8b6d5d2f5e058d1a35
|
7
|
+
data.tar.gz: a52f9401e7700f0b7eda1a4fb9f887257b27f50acd60698b8598f54b79533c2d212aeffbb4d74e3deabdce96f70e2e3ea926306219384611f31eb4a717296dfb
|
data/lib/gost_translit.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# Main module
|
3
4
|
module GostTranslit
|
4
|
-
UPPER_REGEXP = /[[:upper:]]
|
5
|
-
LOWER_REGEXP = /[[:lower:]]
|
5
|
+
UPPER_REGEXP = /[[:upper:]]/.freeze
|
6
|
+
LOWER_REGEXP = /[[:lower:]]/.freeze
|
6
7
|
|
7
8
|
RU_MAPPING = {
|
8
9
|
'а': 'a',
|
@@ -38,25 +39,25 @@ module GostTranslit
|
|
38
39
|
'э': 'e`',
|
39
40
|
'ю': 'yu',
|
40
41
|
'я': 'ya'
|
41
|
-
}
|
42
|
+
}.freeze
|
42
43
|
|
43
44
|
LATIN_REPLACING_MAPPING = {
|
44
45
|
'shh' => 'щ',
|
45
|
-
'sh'
|
46
|
-
'yu'
|
47
|
-
'ya'
|
48
|
-
'``'
|
49
|
-
'y`'
|
50
|
-
'e`'
|
51
|
-
'ch'
|
52
|
-
'cz'
|
53
|
-
'zh'
|
54
|
-
'yo'
|
55
|
-
}
|
46
|
+
'sh' => 'ш',
|
47
|
+
'yu' => 'ю',
|
48
|
+
'ya' => 'я',
|
49
|
+
'``' => 'ъ',
|
50
|
+
'y`' => 'ы',
|
51
|
+
'e`' => 'э',
|
52
|
+
'ch' => 'ч',
|
53
|
+
'cz' => 'ц',
|
54
|
+
'zh' => 'ж',
|
55
|
+
'yo' => 'ё'
|
56
|
+
}.freeze
|
56
57
|
|
57
58
|
LATIN_MAPPING = Hash[
|
58
|
-
GostTranslit::RU_MAPPING.invert.collect { |k, v| [
|
59
|
-
].merge!('c' => 'ц')
|
59
|
+
GostTranslit::RU_MAPPING.invert.collect { |k, v| [k.to_s, v.to_s] }
|
60
|
+
].merge!('c' => 'ц').freeze
|
60
61
|
|
61
62
|
class << self
|
62
63
|
def to_latin(string)
|
@@ -65,7 +66,7 @@ module GostTranslit
|
|
65
66
|
words.map! do |word|
|
66
67
|
translit_word = word.downcase
|
67
68
|
.split('')
|
68
|
-
.map { |l| RU_MAPPING[l.to_sym] || l}
|
69
|
+
.map { |l| RU_MAPPING[l.to_sym] || l }
|
69
70
|
.join
|
70
71
|
|
71
72
|
translit_word.gsub!(/(cz)(?=[i|e|j|y])/, 'c')
|
@@ -78,7 +79,7 @@ module GostTranslit
|
|
78
79
|
|
79
80
|
words.map! do |word|
|
80
81
|
translit_word = word.downcase
|
81
|
-
LATIN_REPLACING_MAPPING.each { |k,v| translit_word.gsub!(k, v) }
|
82
|
+
LATIN_REPLACING_MAPPING.each { |k, v| translit_word.gsub!(k, v) }
|
82
83
|
|
83
84
|
translit_word = translit_word.split('')
|
84
85
|
.map! { |l| LATIN_MAPPING[l] || l }
|
@@ -117,15 +117,13 @@ RSpec.describe GostTranslit do
|
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
120
|
-
describe '.
|
120
|
+
describe '.convert' do
|
121
121
|
it 'translit latin text to cyrillic' do
|
122
|
-
|
123
|
-
puts cyrillic_text
|
124
|
-
expect(subject.translit(latin_text)).to eq(cyrillic_text)
|
122
|
+
expect(subject.convert(latin_text)).to eq(cyrillic_text)
|
125
123
|
end
|
126
124
|
|
127
125
|
it 'translit cyrillic text to latin' do
|
128
|
-
expect(subject.
|
126
|
+
expect(subject.convert(cyrillic_text)).to eq(latin_text)
|
129
127
|
end
|
130
128
|
end
|
131
129
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gost_translit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Viacheslav Soldatov
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -30,7 +30,7 @@ dependencies:
|
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 2.7.0
|
33
|
-
description:
|
33
|
+
description:
|
34
34
|
email:
|
35
35
|
- syntaxys0dll@gmail.com
|
36
36
|
executables: []
|
@@ -43,7 +43,7 @@ homepage: https://github.com/Syntaxys-dll/gost_7_79_2000_b_translit
|
|
43
43
|
licenses:
|
44
44
|
- MIT
|
45
45
|
metadata: {}
|
46
|
-
post_install_message:
|
46
|
+
post_install_message:
|
47
47
|
rdoc_options: []
|
48
48
|
require_paths:
|
49
49
|
- lib
|
@@ -58,9 +58,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: '0'
|
60
60
|
requirements: []
|
61
|
-
|
62
|
-
|
63
|
-
signing_key:
|
61
|
+
rubygems_version: 3.2.15
|
62
|
+
signing_key:
|
64
63
|
specification_version: 4
|
65
64
|
summary: GOST 7.79-2000 type b transliteration
|
66
65
|
test_files: []
|