translit 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.markdown +2 -2
  2. data/lib/translit.rb +14 -4
  3. metadata +1 -1
data/README.markdown CHANGED
@@ -12,12 +12,12 @@ Or you can translit stdin now via just: <code>translit</code>. To stop stdin inp
12
12
 
13
13
  ## Русский ##
14
14
 
15
- Это простая и элегантная программа позволит вам проводить транслитерацию между кирилицой и латиницой. Ее легко использовать как в коммандной строке так и в вашем коде.
15
+ Эта простая и элегантная программа позволит вам проводить транслитерацию между кирилицей и латиницей. Ее легко использовать как в командной строке так и в вашем коде.
16
16
 
17
17
  Устанавливается она просто: <code>gem install translit</code>
18
18
 
19
19
  ### Использование ###
20
20
 
21
- Для использования translit в командной строке просто напишите <code>translit [your_input_here]</code> где ваш текст может быть написан успользуя русскую клавиатуру либо латинскую
21
+ Для использования translit в командной строке просто напишите <code>translit [your_input_here]</code> где ваш текст может быть написан используя русскую клавиатуру либо латинскую
22
22
 
23
23
  Либо вы можете просто вызвать программу и передавать текст в потоке чтения данных <code>translit</code>. Чтобы прервать поток используется стандарная система .\n (напишите . и нажмите enter на чистой строке)
data/lib/translit.rb CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  module Translit
4
4
  def self.convert(text, enforce_language = nil)
5
- language = detect_input_language(text.split(/\s+/).first)
6
-
7
- return text if language == enforce_language
5
+ language = if enforce_language
6
+ enforce_input_language(enforce_language)
7
+ else
8
+ detect_input_language(text.split(/\s+/).first)
9
+ end
8
10
 
9
11
  map = self.send(language.to_s).sort_by {|k,v| v.length <=> k.length}
10
12
  map.each do |translit_key, translit_value|
@@ -29,6 +31,14 @@ private
29
31
  text.scan(/\w+/).empty? ? :russian : :english
30
32
  end
31
33
 
34
+ def self.enforce_input_language(language)
35
+ if language == :english
36
+ :russian
37
+ else
38
+ :english
39
+ end
40
+ end
41
+
32
42
  def self.english
33
43
  { "a"=>["А","а"], "b"=>["Б","б"], "v"=>["В","в"], "g"=>["Г","г"], "d"=>["Д","д"], "e"=>["Е","е"], "jo"=>["Ё","ё"], "yo"=>["Ё","ё"], "ö"=>["Ё","ё"], "zh"=>["Ж","ж"],
34
44
  "z"=>["З","з"], "i"=>["И","и"], "j"=>["Й","й"], "k"=>["К","к"], "l"=>["Л","л"], "m"=>["М","м"], "n"=>["Н","н"], "o"=>["О","о"], "p"=>["П","п"], "r"=>["Р","р"],
@@ -40,4 +50,4 @@ private
40
50
  def self.russian
41
51
  @russian ||= create_russian_map
42
52
  end
43
- end
53
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: translit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: