translit 0.1.2 → 0.1.3

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.
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: