ukrlatinka 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ab944f4e621838a88f8a0e6746025f6ee0a8549b
4
+ data.tar.gz: 1f15f0fa62f625b7880b475e712fb1c37f7c22e2
5
+ SHA512:
6
+ metadata.gz: c02e44abc2fe6dc66d8b37a2e6121c34d8e989feb7228abc2c3ac26e63c3491aca03a5d5ffc0daef06354d483d087d325d521b44d2b7df675aee11053a5912f8
7
+ data.tar.gz: 684d57c8ae4aa3dd6e08fc4efd7e4e8c3d345359309ee98214deb19cc13f6765503c19c22221e54bab3022e2139c4f227f576f5e1060bdae0a0b6e709bf03d42
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in ukrlatinka.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 Mikhail Krainik
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # Ukrlatinka
2
+
3
+ Convert ukrainian chars to latin chars
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'ukrlatinka'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install ukrlatinka
18
+
19
+ ## Usage
20
+
21
+ class AnyKlass
22
+ include Ukrlatinka
23
+ end
24
+
25
+ klass = AnyKlass.new
26
+
27
+ uk_text = 'Текст українською мовою'
28
+ klass.convert uk_text, :uk_lat # => "Tekst ukrajinśkoü movoü"
29
+
30
+ lat_text = 'Тekst ukrajinśkoü movoü'
31
+ klass.convert lat_text, :lat_uk # => "Текст українською мовою"
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << 'lib'
6
+ t.test_files = FileList['test/*_test.rb']
7
+ t.verbose = true
8
+ end
9
+
10
+ task :default => :test
@@ -0,0 +1,3 @@
1
+ module Ukrlatinka
2
+ VERSION = "0.1.1"
3
+ end
data/lib/ukrlatinka.rb ADDED
@@ -0,0 +1,109 @@
1
+ # coding: utf-8
2
+
3
+ module Ukrlatinka
4
+ UPCHAR = {
5
+ 'А' => 'A',
6
+ 'Б' => 'B',
7
+ 'В' => 'V',
8
+ 'Г' => 'H',
9
+ 'Ґ' => 'G',
10
+ 'Дь'=> 'Ď',
11
+ 'ДЬ'=> 'Ď',
12
+ 'Д' => 'D',
13
+ 'Е' => 'E',
14
+ 'Є' => 'Ë',
15
+ 'Ж' => 'Ž',
16
+ 'З' => 'Z',
17
+ 'И' => 'Y',
18
+ 'І' => 'I',
19
+ 'Ї' => 'JI',
20
+ 'Й' => 'J',
21
+ 'К' => 'K',
22
+ 'Ль'=> 'L\'',
23
+ 'ЛЬ'=> 'L\'',
24
+ 'Л' => 'L',
25
+ 'М' => 'M',
26
+ 'Н' => 'N',
27
+ 'О' => 'O',
28
+ 'П' => 'P',
29
+ 'Рь'=> 'Ŕ',
30
+ 'РЬ'=> 'Ŕ',
31
+ 'Р' => 'R',
32
+ 'Сь'=> 'Ś',
33
+ 'СЬ'=> 'Ś',
34
+ 'С' => 'S',
35
+ 'Ть'=> 'Ť',
36
+ 'ТЬ'=> 'Ť',
37
+ 'Т' => 'T',
38
+ 'У' => 'U',
39
+ 'Ф' => 'F',
40
+ 'Х' => 'X',
41
+ 'Ць'=> 'Ć',
42
+ 'ЦЬ'=> 'Ć',
43
+ 'Ц' => 'C',
44
+ 'Ч' => 'Č',
45
+ 'Ш' => 'Š',
46
+ 'Щ' => 'Ş',
47
+ 'Ю' => 'Ü',
48
+ 'Я' => 'Ä',
49
+ }
50
+
51
+ DOWNCHAR = {
52
+ 'а' => 'a',
53
+ 'б' => 'b',
54
+ 'в' => 'v',
55
+ 'г' => 'h',
56
+ 'ґ' => 'g',
57
+ 'дь' => 'd\'',
58
+ 'д' => 'd',
59
+ 'е' => 'e',
60
+ 'є' => 'ë',
61
+ 'ж' => 'ž',
62
+ 'з' => 'z',
63
+ 'и' => 'y',
64
+ 'і' => 'і',
65
+ 'ї' => 'ji',
66
+ 'й' => 'j',
67
+ 'к' => 'k',
68
+ 'ль' => 'l\'',
69
+ 'л' => 'l',
70
+ 'м' => 'm',
71
+ 'н' => 'n',
72
+ 'о' => 'o',
73
+ 'п' => 'p',
74
+ 'рь' => 'ŕ',
75
+ 'р' => 'r',
76
+ 'сь' => 'ś',
77
+ 'с' => 's',
78
+ 'ть' => 't\'',
79
+ 'т' => 't',
80
+ 'у' => 'u',
81
+ 'ф' => 'f',
82
+ 'х' => 'x',
83
+ 'ць'=> 'ć',
84
+ 'ц' => 'c',
85
+ 'ч' => 'č',
86
+ 'ш' => 'š',
87
+ 'щ' => 'ş',
88
+ 'ю' => 'ü',
89
+ 'я' => 'ä',
90
+ }
91
+
92
+ def convert(str, direct)
93
+ alfabet = {}.merge(DOWNCHAR).merge(UPCHAR)
94
+
95
+ if direct.to_s == 'uk_lat'
96
+ alfabet.each do |uk, lat|
97
+ str.gsub!(uk, lat)
98
+ end
99
+ end
100
+
101
+ if direct.to_s == 'lat_uk'
102
+ alfabet.each do |uk, lat|
103
+ str.gsub!(lat, uk)
104
+ end
105
+ end
106
+
107
+ str
108
+ end
109
+ end
@@ -0,0 +1,25 @@
1
+ require './test/test_helper.rb'
2
+
3
+ class UkLat
4
+ include Ukrlatinka
5
+ end
6
+
7
+ describe UkLat do
8
+ before do
9
+ @uklat = UkLat.new
10
+ end
11
+
12
+ it 'covert example text UK to LAT' do
13
+ uk = 'Цей текст українською мовою який я хочу конвертувати в латиницю'
14
+ lat = 'Cej tekst ukrajinśkoü movoü äkyj ä xoču konvertuvaty v latynycü'
15
+ result = @uklat.convert uk, :uk_lat
16
+ result.must_equal lat
17
+ end
18
+
19
+ it 'covert example text LAT to UK' do
20
+ lat = 'Тekst ukrajinśkoü movoü'
21
+ uk = 'Текст українською мовою'
22
+ result = @uklat.convert lat, :lat_uk
23
+ result.must_equal uk
24
+ end
25
+ end
@@ -0,0 +1,5 @@
1
+ require 'minitest/autorun'
2
+ require 'minitest/spec'
3
+ require 'minitest/pride'
4
+
5
+ require File.expand_path('../../lib/ukrlatinka.rb', __FILE__)
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'ukrlatinka/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "ukrlatinka"
8
+ spec.version = Ukrlatinka::VERSION
9
+ spec.authors = ["Mikhail Krainik"]
10
+ spec.email = ["avastor.developer@gmail.com"]
11
+ spec.description = %q{Convert ukrainian word to latin chars}
12
+ spec.summary = %q{Convert ukrainian word to latin chars}
13
+ spec.homepage = "https://github.com/avastor/ukrlatinka"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ end
metadata ADDED
@@ -0,0 +1,84 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ukrlatinka
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Mikhail Krainik
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: Convert ukrainian word to latin chars
42
+ email:
43
+ - avastor.developer@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - .gitignore
49
+ - Gemfile
50
+ - LICENSE.txt
51
+ - README.md
52
+ - Rakefile
53
+ - lib/ukrlatinka.rb
54
+ - lib/ukrlatinka/version.rb
55
+ - test/convert_test.rb
56
+ - test/test_helper.rb
57
+ - ukrlatinka.gemspec
58
+ homepage: https://github.com/avastor/ukrlatinka
59
+ licenses:
60
+ - MIT
61
+ metadata: {}
62
+ post_install_message:
63
+ rdoc_options: []
64
+ require_paths:
65
+ - lib
66
+ required_ruby_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ requirements: []
77
+ rubyforge_project:
78
+ rubygems_version: 2.4.1
79
+ signing_key:
80
+ specification_version: 4
81
+ summary: Convert ukrainian word to latin chars
82
+ test_files:
83
+ - test/convert_test.rb
84
+ - test/test_helper.rb