bing_translator 4.0.0 → 4.1.0

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. checksums.yaml +4 -4
  2. data/lib/bing_translator.rb +27 -5
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 215d7a5fcf887591e5b6d7e8133cc995ae0e656c
4
- data.tar.gz: 1f02356a8a7c04cba1ec36184c2481b8d3199904
3
+ metadata.gz: 21849fa61aa43268772d2237149d17d00553d11e
4
+ data.tar.gz: 754749a9704a2e4ef72ce0d6d3616bc8a7676c62
5
5
  SHA512:
6
- metadata.gz: c31d2e26d1c7a606c37f9cda72ddd220ae25598311b6d28fc3d87b3fd0fab81c35480c2427ef3101215beebc33ed335482f6102b26a129fea4f109fb16cc678d
7
- data.tar.gz: ae3854820d91eee8a22ba7bf3ef9cbf5d571f3d7602e9d9839b869a4d5836dd280e1bd6d0dd57b814c5649b9f82c0048ce294284679dbefc53ba5e1a22e56a81
6
+ metadata.gz: d4223f11f756cc110f4221718872009de81c39aaa27e994b7f218c1ad285c39ee500312416052bf16a07f7a19cc8161160f5c2090078ffb2f71a04adc4be15d3
7
+ data.tar.gz: 0d50bead3436c60af808ea98d32e19265d3241a5d7a93280555dc2bc59eef9506baa49c288e2a8f5e4f762fac032c453b812c7eea80989fdf33b047cd378497c
@@ -16,13 +16,15 @@ class BingTranslator
16
16
  LANG_CODE_LIST_URI = 'http://api.microsofttranslator.com/V2/Http.svc/GetLanguagesForTranslate'
17
17
  ACCESS_TOKEN_URI = 'https://datamarket.accesscontrol.windows.net/v2/OAuth2-13'
18
18
  SPEAK_URI = 'http://api.microsofttranslator.com/v2/Http.svc/Speak'
19
+ DATASETS_URI = "https://api.datamarket.azure.com/Services/My/Datasets?$format=json"
19
20
 
20
21
  class Exception < StandardError; end
21
22
  class AuthenticationException < StandardError; end
22
23
 
23
- def initialize(client_id, client_secret, skip_ssl_verify = false)
24
+ def initialize(client_id, client_secret, skip_ssl_verify = false, account_key = nil)
24
25
  @client_id = client_id
25
26
  @client_secret = client_secret
27
+ @account_key = account_key
26
28
  @skip_ssl_verify = skip_ssl_verify
27
29
 
28
30
  @translate_uri = URI.parse TRANSLATE_URI
@@ -30,6 +32,7 @@ class BingTranslator
30
32
  @list_codes_uri = URI.parse LANG_CODE_LIST_URI
31
33
  @access_token_uri = URI.parse ACCESS_TOKEN_URI
32
34
  @speak_uri = URI.parse SPEAK_URI
35
+ @datasets_uri = URI.parse DATASETS_URI
33
36
  end
34
37
 
35
38
  def translate(text, params = {})
@@ -37,10 +40,10 @@ class BingTranslator
37
40
 
38
41
  from = CGI.escape params[:from].to_s
39
42
  params = {
40
- 'to' => CGI.escape(params[:to].to_s),
41
- 'text' => CGI.escape(text.to_s),
42
- 'category' => 'general',
43
- 'contentType' => 'text/plain'
43
+ 'to' => CGI.escape(params[:to].to_s),
44
+ 'text' => CGI.escape(text.to_s),
45
+ 'category' => 'general',
46
+ 'contentType' => params[:content_type] || 'text/plain'
44
47
  }
45
48
  params[:from] = from unless from.empty?
46
49
  result = result @translate_uri, params
@@ -82,7 +85,26 @@ class BingTranslator
82
85
  end
83
86
 
84
87
 
88
+ def balance
89
+ datasets["d"]["results"].each do |result|
90
+ return result["ResourceBalance"] if result["ProviderName"] == "Microsoft Translator"
91
+ end
92
+ end
93
+
85
94
  private
95
+ def datasets
96
+ raise AuthenticationException, "Must provide account key" if @account_key.nil?
97
+
98
+ http = Net::HTTP.new(@datasets_uri.host, @datasets_uri.port)
99
+ http.use_ssl = true
100
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
101
+ request = Net::HTTP::Get.new(@datasets_uri.request_uri)
102
+ request.basic_auth("", @account_key)
103
+ response = http.request(request)
104
+
105
+ JSON.parse response.body
106
+ end
107
+
86
108
  def prepare_param_string(params)
87
109
  params.map { |key, value| "#{key}=#{value}" }.join '&'
88
110
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bing_translator
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ricky Elrod
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-12 00:00:00.000000000 Z
11
+ date: 2013-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -65,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
65
  version: '0'
66
66
  requirements: []
67
67
  rubyforge_project:
68
- rubygems_version: 2.0.3
68
+ rubygems_version: 2.0.5
69
69
  signing_key:
70
70
  specification_version: 4
71
71
  summary: Translate using the Bing HTTP API