yandex-translate 0.0.1 → 0.0.2

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: e8d7663bd400156c4ba2d9c5c748c429da73d0fc
4
- data.tar.gz: bf479f889daf37f5ba1ba96e6e3dd9cd3e11b331
3
+ metadata.gz: 49ce3698c871a6d8fe15fc425634215f8e0682e3
4
+ data.tar.gz: 52b0ba5e8843391d23906303fef34da7cf7ed4e8
5
5
  SHA512:
6
- metadata.gz: 25cc3f6c77c803699f517fc007e0efaa72a949ab2247c69515dfeb82a753cf89a3e50b497cee9cb93b8ce29be9584e78c6ffe9c94ed7690846ffb585a571535f
7
- data.tar.gz: ce44f11ce11b9b3d93813b8490768ca6c8e1629acdd2227c759f7bf78fcd2cdf3518db52c8e2f7743e81a2e17eb55d2c42f18023066396a956f4effd0322524f
6
+ metadata.gz: 8765f5212ade0bd7d457e9ba299735d8df869415ba68efe5ac9b45878201b353d06b4868d2eafa12e21083547065c64224ca4e38d12e4826ade69eb960735ae9
7
+ data.tar.gz: ac657b7a223e6e17c57c0440665cc9990f8fe56d481b23550862e3a49dcaf1d2ac299dc6e6121ae14732f3359af75e121f475773f7fa0fbbb1dbc80bdda72316
data/lib/api_error.rb ADDED
@@ -0,0 +1,8 @@
1
+ module Yandex::Translate
2
+ class APIError < StandardError
3
+ def initialize(code, message)
4
+ @code = code
5
+ @message = message
6
+ end
7
+ end
8
+ end
data/lib/connect.rb ADDED
@@ -0,0 +1,21 @@
1
+ require 'json'
2
+ require 'net/http'
3
+ require './response_verify'
4
+
5
+ module Yandex::Translate
6
+ class Connect
7
+ def initialize(key)
8
+ @key = key
9
+ @rv = Yandex::Translate::ResponseVerify.new
10
+ end
11
+
12
+ def get(type, data)
13
+ postfix = URI.encode_www_form(data)
14
+ rep = JSON.parse(Net::HTTP.get(URI("#{BASE_URI}#{type}?key=#{@key}&#{postfix}")))
15
+ return @rv.verify(rep)
16
+ end
17
+
18
+ private
19
+ BASE_URI = 'https://translate.yandex.net/api/v1.5/tr.json/'.freeze
20
+ end
21
+ end
@@ -0,0 +1,13 @@
1
+ require './api_error'
2
+
3
+ module Yandex::Translate
4
+ class ResponseVerify
5
+ def verify(parsed)
6
+ if parsed["code"] != nil && parsed["code"] != 200
7
+ Yandex::Translate::APIError.new(parsed["code"], parsed["message"])
8
+ else
9
+ return parsed
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,24 @@
1
+ require "./yandex-translate/version"
2
+ require './connect'
3
+
4
+ module Yandex::Translate
5
+ class Client
6
+ def initialize(key)
7
+ @connect = Yandex::Translate::Connect.new(key)
8
+ end
9
+ def get_langs(lang = 'en')
10
+ data = {"ui" => lang}
11
+ return @connect.get('getLangs', data)
12
+ end
13
+
14
+ def detect(text)
15
+ data = {"text" => text}
16
+ return @connect.get('detect', data)
17
+ end
18
+
19
+ def translate(text, lang = 'ru', format = 'plain')
20
+ data = {"text" => text, "lang" => lang, "format" => format}
21
+ return @connect.get('translate', data)
22
+ end
23
+ end
24
+ end
@@ -1,5 +1,5 @@
1
1
  module Yandex
2
2
  module Translate
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
@@ -1,15 +1,14 @@
1
- # coding: utf-8
2
1
  lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'yandex/translate/version'
3
+ require 'yandex-translate/version'
5
4
 
6
5
  Gem::Specification.new do |spec|
7
6
  spec.name = "yandex-translate"
8
7
  spec.version = Yandex::Translate::VERSION
9
8
  spec.authors = ["Sergey Moyseenko"]
10
9
  spec.email = ["cherrer@mail.ru"]
11
- spec.summary = "Yandex translator"
12
- spec.description = "Use yandex translate API to work"
10
+ spec.summary = %q{Library to yanddex translate API}
11
+ spec.description = %q{Yandex translate API}
13
12
  spec.homepage = ""
14
13
  spec.license = "MIT"
15
14
 
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.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Moyseenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-18 00:00:00.000000000 Z
11
+ date: 2014-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,20 +38,22 @@ dependencies:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
- description: Use yandex translate API to work
41
+ description: Yandex translate API
42
42
  email:
43
43
  - cherrer@mail.ru
44
44
  executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
- - .gitignore
49
48
  - Gemfile
50
49
  - LICENSE.txt
51
50
  - README.md
52
51
  - Rakefile
53
- - lib/yandex/translate.rb
54
- - lib/yandex/translate/version.rb
52
+ - lib/api_error.rb
53
+ - lib/connect.rb
54
+ - lib/response_verify.rb
55
+ - lib/yandex-translate.rb
56
+ - lib/yandex-translate/version.rb
55
57
  - yandex-translate.gemspec
56
58
  homepage: ''
57
59
  licenses:
@@ -76,5 +78,5 @@ rubyforge_project:
76
78
  rubygems_version: 2.1.11
77
79
  signing_key:
78
80
  specification_version: 4
79
- summary: Yandex translator
81
+ summary: Library to yanddex translate API
80
82
  test_files: []
data/.gitignore DELETED
@@ -1,14 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
- *.bundle
11
- *.so
12
- *.o
13
- *.a
14
- mkmf.log
@@ -1,23 +0,0 @@
1
- require "yandex/translate/version"
2
- require './connect'
3
-
4
- module Yandex
5
- module Translate
6
- class Client
7
- def get_langs(lang = 'en', key)
8
- data = {"ui" => lang}
9
- return Yandex::Translate::Connect.new.get('getLangs', data, key)
10
- end
11
-
12
- def detect(text, key)
13
- data = {"text" => text}
14
- return Yandex::Translate::Connect.new.get('detect', data, key)
15
- end
16
-
17
- def translate(text, lang = 'ru', format = 'plain', key)
18
- data = {"text" => text, "lang" => lang, "format" => format}
19
- return Yandex::Translate::Connect.new.get('translate', data, key)
20
- end
21
- end
22
- end
23
- end