cyrillizer 0.2.3 → 0.3.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 +5 -5
- data/.github/workflows/build.yml +33 -0
- data/.gitignore +11 -3
- data/.ruby-version +1 -0
- data/CHANGELOG +13 -0
- data/Gemfile.lock +19 -11
- data/README.md +2 -4
- data/cyrillizer.gemspec +1 -1
- data/lib/alphabets/ukrainian.yml +69 -0
- data/lib/cyrillizer/version.rb +1 -1
- data/spec/cyrillizer/alphabet_spec.rb +16 -7
- data/spec/cyrillizer/converter_spec.rb +17 -17
- data/spec/spec_helper.rb +14 -0
- metadata +10 -10
- data/.travis.yml +0 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 30501fa01e5a66e293feb886192ac4c4be5e7695b2fbd96ef3639e694cb4f08c
|
|
4
|
+
data.tar.gz: 8e991c76fe111535573ad63438e8f08d47587bd5afaf833f03334d3c259cb07b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a3c66b1783f6653ed40facfc1362da83632f98ac563e3ee1fadd4fc44f573cb7678d36a4ba1a7f961d4be956d88c325de86c4a6a1941b63a407e05b3241bc79a
|
|
7
|
+
data.tar.gz: ca7795a15009e96947ed986503bde142c7c9a9c4ed6283f91a488c61151d76fa867cdaccdc4c0ae0dd56ee01016561cf6f017d7dcc03cadf5cb55a26e3732808
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
name: Build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- "*"
|
|
7
|
+
push:
|
|
8
|
+
branches:
|
|
9
|
+
- master
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
specs:
|
|
13
|
+
runs-on: ${{ matrix.os }}
|
|
14
|
+
name: specs ruby-${{ matrix.ruby }} ${{ matrix.os }}
|
|
15
|
+
strategy:
|
|
16
|
+
matrix:
|
|
17
|
+
os: [ ubuntu-20.04, macos-11 ]
|
|
18
|
+
ruby: [ 2.7, 3.0, 3.1 ]
|
|
19
|
+
fail-fast: false
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@master
|
|
23
|
+
|
|
24
|
+
- name: Set up Ruby
|
|
25
|
+
uses: ruby/setup-ruby@v1
|
|
26
|
+
with:
|
|
27
|
+
ruby-version: ${{ matrix.ruby }}
|
|
28
|
+
bundler: default
|
|
29
|
+
bundler-cache: true
|
|
30
|
+
|
|
31
|
+
- name: Run specs
|
|
32
|
+
run: |
|
|
33
|
+
bundle exec rspec spec
|
data/.gitignore
CHANGED
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.1.0
|
data/CHANGELOG
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
=== 0.3.0 2022-04-05
|
|
2
|
+
* Add Ukrainian alphabet
|
|
3
|
+
* Add Github Actions build script
|
|
4
|
+
|
|
5
|
+
=== 0.2.3 2015-10-16
|
|
6
|
+
* Make alphabet conversion not depend on letters order
|
|
7
|
+
|
|
8
|
+
=== 0.2.2 2015-08-02
|
|
9
|
+
* Support for custom alphabet
|
|
10
|
+
|
|
11
|
+
=== 0.2.1 2015-07-26
|
|
12
|
+
* Add more alphabets
|
|
13
|
+
|
|
1
14
|
=== 0.2.0 2013-08-28
|
|
2
15
|
* Multi-language support
|
|
3
16
|
* Add Gemfile
|
data/Gemfile.lock
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
cyrillizer (0.
|
|
4
|
+
cyrillizer (0.3.0)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
-
diff-lcs (1.
|
|
10
|
-
rspec (
|
|
11
|
-
rspec-core (~>
|
|
12
|
-
rspec-expectations (~>
|
|
13
|
-
rspec-mocks (~>
|
|
14
|
-
rspec-core (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
diff-lcs (1.5.0)
|
|
10
|
+
rspec (3.11.0)
|
|
11
|
+
rspec-core (~> 3.11.0)
|
|
12
|
+
rspec-expectations (~> 3.11.0)
|
|
13
|
+
rspec-mocks (~> 3.11.0)
|
|
14
|
+
rspec-core (3.11.0)
|
|
15
|
+
rspec-support (~> 3.11.0)
|
|
16
|
+
rspec-expectations (3.11.0)
|
|
17
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
18
|
+
rspec-support (~> 3.11.0)
|
|
19
|
+
rspec-mocks (3.11.1)
|
|
20
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
21
|
+
rspec-support (~> 3.11.0)
|
|
22
|
+
rspec-support (3.11.0)
|
|
18
23
|
|
|
19
24
|
PLATFORMS
|
|
20
25
|
ruby
|
|
21
26
|
|
|
22
27
|
DEPENDENCIES
|
|
23
28
|
cyrillizer!
|
|
24
|
-
rspec
|
|
29
|
+
rspec (~> 3.11.0)
|
|
30
|
+
|
|
31
|
+
BUNDLED WITH
|
|
32
|
+
2.3.10
|
data/README.md
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-

|
|
2
|
-
|
|
3
1
|
# cyrillizer
|
|
4
2
|
|
|
5
3
|
Character conversion from latin to cyrillic and vice versa.
|
|
@@ -17,8 +15,8 @@ Character conversion from latin to cyrillic and vice versa.
|
|
|
17
15
|
Specify conversion language:
|
|
18
16
|
|
|
19
17
|
Cyrillizer.language = :russian
|
|
20
|
-
puts "пульт управления" # => "pul't upravleniya"
|
|
21
|
-
puts "pul't upravleniya" # => "пульт управления"
|
|
18
|
+
puts "пульт управления".to_lat # => "pul't upravleniya"
|
|
19
|
+
puts "pul't upravleniya".to_cyr # => "пульт управления"
|
|
22
20
|
|
|
23
21
|
Contribute conversion alphabets if you want yours built into the gem.
|
|
24
22
|
|
data/cyrillizer.gemspec
CHANGED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
'А': 'A'
|
|
3
|
+
'Б': 'B'
|
|
4
|
+
'В': 'V'
|
|
5
|
+
'Г': 'H'
|
|
6
|
+
'Ґ': 'G'
|
|
7
|
+
'Д': 'D'
|
|
8
|
+
'Е': 'E'
|
|
9
|
+
'Є': 'Ye'
|
|
10
|
+
'Ж': 'Zh'
|
|
11
|
+
'З': 'Z'
|
|
12
|
+
'И': 'Y'
|
|
13
|
+
'І': 'I'
|
|
14
|
+
'Ї': 'Yi'
|
|
15
|
+
'Й': 'Y'
|
|
16
|
+
'К': 'K'
|
|
17
|
+
'Л': 'L'
|
|
18
|
+
'М': 'M'
|
|
19
|
+
'Н': 'N'
|
|
20
|
+
'О': 'O'
|
|
21
|
+
'П': 'P'
|
|
22
|
+
'Р': 'R'
|
|
23
|
+
'С': 'S'
|
|
24
|
+
'Т': 'T'
|
|
25
|
+
'У': 'U'
|
|
26
|
+
'Ф': 'F'
|
|
27
|
+
'Х': 'Kh'
|
|
28
|
+
'Ц': 'Ts'
|
|
29
|
+
'Ч': 'Ch'
|
|
30
|
+
'Ш': 'Sh'
|
|
31
|
+
'Щ': 'Shch'
|
|
32
|
+
'Ь': "ʹ"
|
|
33
|
+
'Ю': 'Yu'
|
|
34
|
+
'Я': 'Ya'
|
|
35
|
+
'`': '`'
|
|
36
|
+
"'": "'"
|
|
37
|
+
'а': 'a'
|
|
38
|
+
'б': 'b'
|
|
39
|
+
'в': 'v'
|
|
40
|
+
'г': 'g'
|
|
41
|
+
'ґ': 'g'
|
|
42
|
+
'д': 'd'
|
|
43
|
+
'е': 'e'
|
|
44
|
+
'є': 'ye'
|
|
45
|
+
'ж': 'zh'
|
|
46
|
+
'з': 'z'
|
|
47
|
+
'и': 'y'
|
|
48
|
+
'і': 'i'
|
|
49
|
+
'ї': 'yi'
|
|
50
|
+
'й': 'y'
|
|
51
|
+
'к': 'k'
|
|
52
|
+
'л': 'l'
|
|
53
|
+
'м': 'm'
|
|
54
|
+
'н': 'n'
|
|
55
|
+
'о': 'o'
|
|
56
|
+
'п': 'p'
|
|
57
|
+
'р': 'r'
|
|
58
|
+
'с': 's'
|
|
59
|
+
'т': 't'
|
|
60
|
+
'у': 'u'
|
|
61
|
+
'ф': 'f'
|
|
62
|
+
'х': 'h'
|
|
63
|
+
'ц': 'ts'
|
|
64
|
+
'ч': 'ch'
|
|
65
|
+
'ш': 'sh'
|
|
66
|
+
'щ': 'Shch'
|
|
67
|
+
'ь': "'"
|
|
68
|
+
'ю': 'yu'
|
|
69
|
+
'я': 'ya'
|
data/lib/cyrillizer/version.rb
CHANGED
|
@@ -2,35 +2,44 @@
|
|
|
2
2
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
|
-
describe Cyrillizer do
|
|
5
|
+
RSpec.describe Cyrillizer do
|
|
6
6
|
after :each do
|
|
7
7
|
Cyrillizer.language = nil
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
describe ".language" do
|
|
11
11
|
it "defaults to macedonian language" do
|
|
12
|
-
Cyrillizer.language.
|
|
12
|
+
expect(Cyrillizer.language).to eq(:macedonian)
|
|
13
13
|
end
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
describe ".language=" do
|
|
17
17
|
it "can specify existing language" do
|
|
18
18
|
Cyrillizer.language = :russian
|
|
19
|
-
Cyrillizer.language.
|
|
19
|
+
expect(Cyrillizer.language).to eq(:russian)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "can load all defined languages" do
|
|
23
|
+
Dir.children("lib/alphabets").each do |file|
|
|
24
|
+
language = file.chomp('.yml')
|
|
25
|
+
Cyrillizer.language = language
|
|
26
|
+
expect('Б'.to_lat).to eq('B')
|
|
27
|
+
expect('B'.to_cyr).to eq('Б')
|
|
28
|
+
end
|
|
20
29
|
end
|
|
21
30
|
end
|
|
22
31
|
|
|
23
32
|
describe ".alphabet" do
|
|
24
33
|
it "can load alphabet for a language" do
|
|
25
|
-
Cyrillizer.alphabet[
|
|
34
|
+
expect(Cyrillizer.alphabet['Џ']).to eq('Dzh')
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
|
|
29
38
|
describe ".alphabet=" do
|
|
30
39
|
it "can set alphabet and language with alphabet file" do
|
|
31
|
-
Cyrillizer.alphabet = File.join(File.dirname(__FILE__),
|
|
32
|
-
Cyrillizer.alphabet['Щ'].
|
|
33
|
-
Cyrillizer.language.
|
|
40
|
+
Cyrillizer.alphabet = File.join(File.dirname(__FILE__), '../../lib/alphabets/russian.yml')
|
|
41
|
+
expect(Cyrillizer.alphabet['Щ']).to eq('Shch')
|
|
42
|
+
expect(Cyrillizer.language).to eq('russian')
|
|
34
43
|
end
|
|
35
44
|
end
|
|
36
45
|
end
|
|
@@ -2,62 +2,62 @@
|
|
|
2
2
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
|
|
5
|
-
describe Cyrillizer::Converter do
|
|
5
|
+
RSpec.describe Cyrillizer::Converter do
|
|
6
6
|
let(:string) { 'anything' }
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
describe "#to_cyr" do
|
|
10
10
|
it "converts latin to cyrillic" do
|
|
11
|
-
|
|
11
|
+
expect('Cela rechenica na latinica'.to_cyr).to eq('Цела реченица на латиница')
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
it "converts letters with multiple characters" do
|
|
15
|
-
|
|
15
|
+
expect('Kjeljav Dzhip'.to_cyr).to eq('Ќељав Џип')
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
it "it copies string before changing" do
|
|
19
|
-
string.to_cyr.object_id.
|
|
19
|
+
expect(string.to_cyr.object_id).not_to eq(string.object_id)
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
describe "#to_cyr!" do
|
|
24
24
|
it "converts latin to cyrilic" do
|
|
25
|
-
|
|
25
|
+
expect('Cela rechenica na latinica'.to_cyr!).to eq('Цела реченица на латиница')
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
it "changes original string" do
|
|
29
|
-
string.to_cyr!.object_id.
|
|
29
|
+
expect(string.to_cyr!.object_id).to eq(string.object_id)
|
|
30
30
|
end
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
describe "#to_lat" do
|
|
34
34
|
it "converts cyrillic to latin" do
|
|
35
|
-
|
|
35
|
+
expect('Цела реченица на латиница'.to_lat).to eq('Cela rechenica na latinica')
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
it "converts letters with multiple characters" do
|
|
39
|
-
|
|
39
|
+
expect('Ќељав Џип'.to_lat).to eq('Kjeljav Dzhip')
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
it "it copies string before changing" do
|
|
43
|
-
string.to_lat.object_id.
|
|
43
|
+
expect(string.to_lat.object_id).not_to eq(string.object_id)
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
describe "#to_lat!" do
|
|
48
48
|
it "converts cyrilic to latin" do
|
|
49
|
-
|
|
49
|
+
expect('Цела реченица на латиница'.to_lat!).to eq('Cela rechenica na latinica')
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
it "changes original string" do
|
|
53
|
-
string.to_lat!.object_id.
|
|
53
|
+
expect(string.to_lat!.object_id).to eq(string.object_id)
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
context "conversion" do
|
|
58
58
|
it "converts to latin" do
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
expect('Цела реченица на латиница'.to_lat).to eq('Cela rechenica na latinica')
|
|
60
|
+
expect('Ќељав Џип'.to_lat).to eq('Kjeljav Dzhip')
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
|
|
@@ -71,8 +71,8 @@ describe Cyrillizer::Converter do
|
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
it "can convert from different language" do
|
|
74
|
-
"пульт управления".to_lat.
|
|
75
|
-
"pul't upravleniya".to_cyr.
|
|
74
|
+
expect("пульт управления".to_lat).to eq("pul't upravleniya")
|
|
75
|
+
expect("pul't upravleniya".to_cyr).to eq("пульт управления")
|
|
76
76
|
end
|
|
77
77
|
end
|
|
78
78
|
|
|
@@ -86,8 +86,8 @@ describe Cyrillizer::Converter do
|
|
|
86
86
|
end
|
|
87
87
|
|
|
88
88
|
it "can convert from different language" do
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
expect('њ'.to_lat).to eq('nj')
|
|
90
|
+
expect('nj'.to_cyr).to eq('њ')
|
|
91
91
|
end
|
|
92
92
|
end
|
|
93
93
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'cyrillizer'
|
|
4
|
+
|
|
5
|
+
RSpec.configure do |config|
|
|
6
|
+
# Enable flags like --only-failures and --next-failure
|
|
7
|
+
config.example_status_persistence_file_path = '.rspec_status'
|
|
8
|
+
|
|
9
|
+
# Disable RSpec exposing methods globally on `Module` and `main`
|
|
10
|
+
config.disable_monkey_patching!
|
|
11
|
+
|
|
12
|
+
config.expect_with :rspec do |c|
|
|
13
|
+
c.syntax = :expect
|
|
14
|
+
end
|
|
15
|
+
end
|
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cyrillizer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dalibor Nasevic
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-04-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rspec
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 3.11.0
|
|
20
20
|
type: :development
|
|
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:
|
|
26
|
+
version: 3.11.0
|
|
27
27
|
description: Character conversion from latin to cyrillic.
|
|
28
28
|
email:
|
|
29
29
|
- dalibor.nasevic@gmail.com
|
|
@@ -31,9 +31,10 @@ executables: []
|
|
|
31
31
|
extensions: []
|
|
32
32
|
extra_rdoc_files: []
|
|
33
33
|
files:
|
|
34
|
+
- ".github/workflows/build.yml"
|
|
34
35
|
- ".gitignore"
|
|
35
36
|
- ".rspec"
|
|
36
|
-
- ".
|
|
37
|
+
- ".ruby-version"
|
|
37
38
|
- CHANGELOG
|
|
38
39
|
- Gemfile
|
|
39
40
|
- Gemfile.lock
|
|
@@ -44,6 +45,7 @@ files:
|
|
|
44
45
|
- lib/alphabets/macedonian.yml
|
|
45
46
|
- lib/alphabets/russian.yml
|
|
46
47
|
- lib/alphabets/serbian.yml
|
|
48
|
+
- lib/alphabets/ukrainian.yml
|
|
47
49
|
- lib/alphabets/uzbek.yml
|
|
48
50
|
- lib/cyrillizer.rb
|
|
49
51
|
- lib/cyrillizer/alphabet.rb
|
|
@@ -71,8 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
71
73
|
- !ruby/object:Gem::Version
|
|
72
74
|
version: '0'
|
|
73
75
|
requirements: []
|
|
74
|
-
|
|
75
|
-
rubygems_version: 2.2.2
|
|
76
|
+
rubygems_version: 3.3.3
|
|
76
77
|
signing_key:
|
|
77
78
|
specification_version: 4
|
|
78
79
|
summary: Character conversion from latin to cyrillic and vice versa.
|
|
@@ -80,4 +81,3 @@ test_files:
|
|
|
80
81
|
- spec/cyrillizer/alphabet_spec.rb
|
|
81
82
|
- spec/cyrillizer/converter_spec.rb
|
|
82
83
|
- spec/spec_helper.rb
|
|
83
|
-
has_rdoc:
|