yandex_translate 0.1.0 → 0.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c5b166e3264d587423175e5c2250957e80b175a7
4
- data.tar.gz: 4e1dbc6f221f5db55ce3001f188350b280df58a7
3
+ metadata.gz: 783554f753e8316a9c6b46db42b62c81dd229bcd
4
+ data.tar.gz: 2a4c87683dab36415ece46199631856c01f73748
5
5
  SHA512:
6
- metadata.gz: 0628b027f5d15857401369a315d3d713b217e8d8d7970b56cb80c5414f4949c9e27514084d5ab39d1dda593e296c89e72d225577ff90bb4a87cc147acef1c634
7
- data.tar.gz: e5105e24fc37447e4cf58e977a455b661949650144590a884ff5d65dba58f9492d064563386d005b32f6ab5a3e481288eb79aa9fea0dc3661971b497e4d577f0
6
+ metadata.gz: 97ed41b3eb72a042811f39a8191aec5285c59043dffe5442ecb22810284094ee9f5a6c6bd02b0ab6cc5b83ace0eb9a77528c162f4cc37da2e7908ea9a29ae780
7
+ data.tar.gz: e3aa5bfa987c0cd2341cc2e77bee2548372b9103759a011db635a20752f900984e8f016a09c2cdde4e58b1dedbac585373266aa4b178025ac12ba45211737f16
data/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  # YandexTranslate
2
2
 
3
- TODO: Write a gem description
3
+ Library for Yandex Translate API | Библиотека для API Яндекс.Переводчика
4
4
 
5
5
  ## Installation
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
- ```ruby
9
+
10
10
  gem 'yandex_translate'
11
- ```
11
+
12
12
 
13
13
  And then execute:
14
14
 
@@ -19,24 +19,46 @@ Or install it yourself as:
19
19
  $ gem install yandex_translate
20
20
 
21
21
  ## Usage
22
+
22
23
  Api Key see on https://tech.yandex.com/translate/
23
24
 
24
- yandex = YandexTranslate::Client.new(Api_Key)
25
+ ```ruby
26
+ yandex = YandexTranslate::Client.new(Api_Key)
27
+ ```
28
+
29
+
30
+ list of translation directions (English default)
31
+
32
+ ```ruby
33
+ yandex.get_langs
34
+ or
35
+ yandex.get_langs("en")
36
+ ```
37
+
25
38
 
26
39
  Language detection
27
- # Only translate
28
- puts yandex.detect("Привет")
29
- # Hash
30
- puts yandex.last_detect
40
+
41
+ ```ruby
42
+ yandex.detect 'Hello'
43
+ ```
31
44
 
32
45
  Language translate
33
- # Only discovered language
34
- puts yandex.translate("Привет")
35
- puts yandex.last_translate
36
46
 
37
- list of translation directions
38
- yandex.get_langs_update("en")
39
- puts yandex.get_langs
47
+ ```ruby
48
+ # auto detect language
49
+ yandex.translate 'Hello', 'fr'
50
+ # with the direction of translation
51
+ yandex.translate 'Hello', 'en-fr'
52
+ # with the direction of translation and text format
53
+ yandex.translate 'Hello', 'en-fr', 'plain'
54
+
55
+ # auto detect language
56
+ yandex.translate_from_hash 'Hello', to: 'fr'
57
+ # with the direction of translation
58
+ yandex.translate_from_hash 'Hello', from: 'en', to: 'fr'
59
+ # with the direction of translation and text format
60
+ yandex.translate_from_hash 'Hello', from: 'en', to: 'fr', format: 'plain'
61
+ ```
40
62
 
41
63
  ## Contributing
42
64
 
data/example.rb CHANGED
@@ -1,21 +1,26 @@
1
1
  require_relative 'lib/yandex_translate.rb'
2
2
 
3
3
  # Need Yandex Key
4
- key = ""
4
+ key = ''
5
5
 
6
6
  yandex = YandexTranslate::Client.new(key)
7
7
 
8
- puts "\nLanguage detection - \"Привет\"\n"
8
+ puts "\nLanguage detection - \'Car\'\n"
9
9
  # Only translate
10
- puts yandex.detect("Привет")
11
- # Hash
12
- puts yandex.last_detect
10
+ puts yandex.detect 'car'
11
+
12
+ puts "\nLanguage translate - Car"
13
+ # Only translate language
14
+ puts yandex.translate 'Car', 'fr'
15
+ puts yandex.translate 'Car', 'en-fr'
16
+ puts yandex.translate 'Car', 'fr', 'plain'
17
+ puts "\n"
18
+ puts yandex.translate_from_hash 'Car', to: 'fr'
19
+ puts yandex.translate_from_hash 'Car', from: 'en', to: 'fr'
20
+ puts yandex.translate_from_hash 'Car', from: 'en', to: 'fr', format: 'plain'
13
21
 
14
- puts "\nLanguage translate - Я перевожу слово - Привет"
15
- # Only discovered language
16
- puts yandex.translate("Привет")
17
- puts yandex.last_translate
18
22
 
19
23
  puts "\nAll Language"
20
- yandex.get_langs_update("en")
21
24
  puts yandex.get_langs
25
+ puts "\n"
26
+ puts yandex.get_langs 'en'
@@ -2,38 +2,35 @@ module YandexTranslate
2
2
  class Client
3
3
  def initialize(key)
4
4
  @connect = Connect.new(key)
5
- @langs = get_langs_update
6
- @last_detect
7
- @last_translate
8
5
  end
9
6
 
10
- def last_detect
11
- @last_detect
12
- end
13
-
14
- def last_translate
15
- @last_transtale
16
- end
17
-
18
- def get_langs
19
- @langs
20
- end
21
-
22
- def get_langs_update(lang = 'en')
7
+ def get_langs(lang = 'en')
23
8
  data = {"ui" => lang}
24
9
  @langs = @connect.request('getLangs',data)
25
10
  end
26
11
 
27
12
  def detect(text)
28
13
  data = {"text" => text}
29
- @last_detect = @connect.request('detect', data)
30
- return @langs["langs"][@last_detect["lang"]]
14
+ result = @connect.request('detect', data)['lang']
31
15
  end
32
16
 
33
- def translate(text, lang = 'en', format = 'plain')
17
+ def translate(text, lang, format = 'plain')
34
18
  data = {"text" => text, "lang" => lang, "format" => format}
35
- @last_transtale = @connect.request('translate', data)
36
- return @last_transtale["text"]
19
+ result = @connect.request('translate', data)['text']
20
+ result.size == 1 ? result.first : result
21
+ end
22
+
23
+ def translate_from_hash(text, *lang)
24
+ if lang.last.is_a?(Hash)
25
+ lang_options = lang.last
26
+ format = lang_options.key?(:format) ? lang_options[:format] : 'plain'
27
+ lang = [lang_options[:from], lang_options[:to]].compact
28
+ end
29
+
30
+ data = {"text" => text, "lang" => lang.join('-'), "format" => format}
31
+
32
+ result = @connect.request('translate', data)['text']
33
+ result.size == 1 ? result.first : result
37
34
  end
38
35
  end
39
36
  end
@@ -1,3 +1,3 @@
1
1
  module YandexTranslate
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -10,6 +10,9 @@ describe 'YandexTranslate' do
10
10
  YandexTranslate::Client.new(key).get_langs.values_at("dirs").should_not include(nil)
11
11
  end
12
12
  it 'translate' do
13
- YandexTranslate::Client.new(key).translate("Привет").should_not include(nil)
13
+ YandexTranslate::Client.new(key).translate("Привет", 'en').should_not include(nil)
14
+ end
15
+ it 'translate' do
16
+ YandexTranslate::Client.new(key).translate_from_hash('Car', to: 'fr').should_not include(nil)
14
17
  end
15
18
  end
@@ -8,9 +8,9 @@ Gem::Specification.new do |spec|
8
8
  spec.version = YandexTranslate::VERSION
9
9
  spec.authors = ["Makvik"]
10
10
  spec.email = ["storm.gman@mail.ru"]
11
- spec.summary = ""
12
- spec.description = ""
13
- spec.homepage = ""
11
+ spec.summary = "Library for Yandex Translate API | Библиотека для API Яндекс.Переводчика"
12
+ spec.description = "Library for Yandex Translate API | Библиотека для API Яндекс.Переводчика"
13
+ spec.homepage = "https://github.com/Makvik/yandex_translate"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yandex_translate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Makvik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-31 00:00:00.000000000 Z
11
+ date: 2017-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,7 +38,7 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
- description: ''
41
+ description: Library for Yandex Translate API | Библиотека для API Яндекс.Переводчика
42
42
  email:
43
43
  - storm.gman@mail.ru
44
44
  executables: []
@@ -60,7 +60,7 @@ files:
60
60
  - lib/yandex_translate/version.rb
61
61
  - spec/yandex_translate_spec.rb
62
62
  - yandex_translate.gemspec
63
- homepage: ''
63
+ homepage: https://github.com/Makvik/yandex_translate
64
64
  licenses:
65
65
  - MIT
66
66
  metadata: {}
@@ -80,9 +80,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  version: '0'
81
81
  requirements: []
82
82
  rubyforge_project:
83
- rubygems_version: 2.4.5.1
83
+ rubygems_version: 2.6.8
84
84
  signing_key:
85
85
  specification_version: 4
86
- summary: ''
86
+ summary: Library for Yandex Translate API | Библиотека для API Яндекс.Переводчика
87
87
  test_files:
88
88
  - spec/yandex_translate_spec.rb