google-cloud-translate 1.1.0 → 1.2.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.
- checksums.yaml +4 -4
- data/LICENSE +2 -2
- data/lib/google-cloud-translate.rb +31 -2
- data/lib/google/cloud/translate.rb +59 -10
- data/lib/google/cloud/translate/api.rb +4 -14
- data/lib/google/cloud/translate/credentials.rb +8 -8
- data/lib/google/cloud/translate/detection.rb +2 -2
- data/lib/google/cloud/translate/language.rb +2 -2
- data/lib/google/cloud/translate/service.rb +7 -7
- data/lib/google/cloud/translate/translation.rb +7 -7
- data/lib/google/cloud/translate/version.rb +3 -3
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 41ec37f5e02cac79d4901ad0538400bacbf4b6614042b9150165e6cbd415dae5
|
4
|
+
data.tar.gz: 7b337bce70d91e3d57ef0b7728a948b311322248776ca3517d45f3f8b0a942a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79da43c9637bc93f00de089075d484aa93971d6936d51d35605a409f3cf3d9ce43034fbd830770c34e6af13a3d409d980e193ab2982eb429d4dbd1f8063d3aab
|
7
|
+
data.tar.gz: 152b161306540e6cb2619b4d171de05376f2c43039f15dbdf52afa79930b88e482a131bffe3c2abe6f834675fb6d2c00038637deebaf949c858afaf8687e8d57
|
data/LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Apache License
|
2
2
|
Version 2.0, January 2004
|
3
|
-
|
3
|
+
https://www.apache.org/licenses/
|
4
4
|
|
5
5
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
6
6
|
|
@@ -192,7 +192,7 @@
|
|
192
192
|
you may not use this file except in compliance with the License.
|
193
193
|
You may obtain a copy of the License at
|
194
194
|
|
195
|
-
|
195
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
196
196
|
|
197
197
|
Unless required by applicable law or agreed to in writing, software
|
198
198
|
distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -20,6 +20,8 @@
|
|
20
20
|
|
21
21
|
gem "google-cloud-core"
|
22
22
|
require "google/cloud"
|
23
|
+
require "google/cloud/config"
|
24
|
+
require "googleauth"
|
23
25
|
|
24
26
|
module Google
|
25
27
|
module Cloud
|
@@ -140,3 +142,30 @@ module Google
|
|
140
142
|
end
|
141
143
|
end
|
142
144
|
end
|
145
|
+
|
146
|
+
# Set the default translate configuration
|
147
|
+
Google::Cloud.configure.add_config! :translate do |config|
|
148
|
+
default_project = Google::Cloud::Config.deferred do
|
149
|
+
ENV["TRANSLATE_PROJECT"]
|
150
|
+
end
|
151
|
+
default_creds = Google::Cloud::Config.deferred do
|
152
|
+
Google::Cloud::Config.credentials_from_env(
|
153
|
+
"TRANSLATE_CREDENTIALS", "TRANSLATE_CREDENTIALS_JSON",
|
154
|
+
"TRANSLATE_KEYFILE", "TRANSLATE_KEYFILE_JSON"
|
155
|
+
)
|
156
|
+
end
|
157
|
+
default_key = Google::Cloud::Config.deferred do
|
158
|
+
ENV["TRANSLATE_KEY"] || ENV["GOOGLE_CLOUD_KEY"]
|
159
|
+
end
|
160
|
+
|
161
|
+
config.add_field! :project_id, default_project, match: String, allow_nil: true
|
162
|
+
config.add_alias! :project, :project_id
|
163
|
+
config.add_field! :credentials, default_creds,
|
164
|
+
match: [String, Hash, Google::Auth::Credentials],
|
165
|
+
allow_nil: true
|
166
|
+
config.add_alias! :keyfile, :credentials
|
167
|
+
config.add_field! :key, default_key, match: String, allow_nil: true
|
168
|
+
config.add_field! :scope, nil, match: [String, Array]
|
169
|
+
config.add_field! :retries, nil, match: Integer
|
170
|
+
config.add_field! :timeout, nil, match: Integer
|
171
|
+
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -15,6 +15,8 @@
|
|
15
15
|
|
16
16
|
require "google-cloud-translate"
|
17
17
|
require "google/cloud/translate/api"
|
18
|
+
require "google/cloud/config"
|
19
|
+
require "google/cloud/env"
|
18
20
|
|
19
21
|
module Google
|
20
22
|
module Cloud
|
@@ -275,28 +277,75 @@ module Google
|
|
275
277
|
#
|
276
278
|
def self.new project_id: nil, credentials: nil, key: nil, scope: nil,
|
277
279
|
retries: nil, timeout: nil, project: nil, keyfile: nil
|
278
|
-
project_id ||= (project ||
|
280
|
+
project_id ||= (project || default_project_id)
|
279
281
|
project_id = project_id.to_s # Always cast to a string
|
280
282
|
|
281
|
-
key ||=
|
282
|
-
key ||= ENV["GOOGLE_CLOUD_KEY"]
|
283
|
+
key ||= configure.key
|
283
284
|
if key
|
284
285
|
return Google::Cloud::Translate::Api.new(
|
285
286
|
Google::Cloud::Translate::Service.new(
|
286
|
-
project_id, nil, retries: retries, timeout: timeout, key: key
|
287
|
+
project_id, nil, retries: retries, timeout: timeout, key: key
|
288
|
+
)
|
289
|
+
)
|
287
290
|
end
|
288
291
|
|
289
|
-
|
292
|
+
raise ArgumentError, "project_id is missing" if project_id.empty?
|
290
293
|
|
291
|
-
|
292
|
-
|
294
|
+
scope ||= configure.scope
|
295
|
+
retries ||= configure.retries
|
296
|
+
timeout ||= configure.timeout
|
297
|
+
credentials ||= keyfile || default_credentials(scope: scope)
|
293
298
|
unless credentials.is_a? Google::Auth::Credentials
|
294
299
|
credentials = Translate::Credentials.new credentials, scope: scope
|
295
300
|
end
|
296
301
|
|
297
302
|
Translate::Api.new(
|
298
303
|
Translate::Service.new(
|
299
|
-
project_id, credentials, retries: retries, timeout: timeout
|
304
|
+
project_id, credentials, retries: retries, timeout: timeout
|
305
|
+
)
|
306
|
+
)
|
307
|
+
end
|
308
|
+
|
309
|
+
##
|
310
|
+
# Configure the Google Cloud Translate library.
|
311
|
+
#
|
312
|
+
# The following Translate configuration parameters are supported:
|
313
|
+
#
|
314
|
+
# * `project_id` - (String) Identifier for a Translate project. (The
|
315
|
+
# parameter `project` is considered deprecated, but may also be used.)
|
316
|
+
# * `credentials` - (String, Hash, Google::Auth::Credentials) The path to
|
317
|
+
# the keyfile as a String, the contents of the keyfile as a Hash, or a
|
318
|
+
# Google::Auth::Credentials object. (See {Translate::Credentials}) (The
|
319
|
+
# parameter `keyfile` is considered deprecated, but may also be used.)
|
320
|
+
# * `scope` - (String, Array<String>) The OAuth 2.0 scopes controlling
|
321
|
+
# the set of resources and operations that the connection can access.
|
322
|
+
# * `retries` - (Integer) Number of times to retry requests on server
|
323
|
+
# error.
|
324
|
+
# * `timeout` - (Integer) Default timeout to use in requests.
|
325
|
+
#
|
326
|
+
# @return [Google::Cloud::Config] The configuration object the
|
327
|
+
# Google::Cloud::Translate library uses.
|
328
|
+
#
|
329
|
+
def self.configure
|
330
|
+
yield Google::Cloud.configure.translate if block_given?
|
331
|
+
|
332
|
+
Google::Cloud.configure.translate
|
333
|
+
end
|
334
|
+
|
335
|
+
##
|
336
|
+
# @private Default project.
|
337
|
+
def self.default_project_id
|
338
|
+
Google::Cloud.configure.translate.project_id ||
|
339
|
+
Google::Cloud.configure.project_id ||
|
340
|
+
Google::Cloud.env.project_id
|
341
|
+
end
|
342
|
+
|
343
|
+
##
|
344
|
+
# @private Default credentials.
|
345
|
+
def self.default_credentials scope: nil
|
346
|
+
Google::Cloud.configure.translate.credentials ||
|
347
|
+
Google::Cloud.configure.credentials ||
|
348
|
+
Translate::Credentials.default(scope: scope)
|
300
349
|
end
|
301
350
|
end
|
302
351
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -13,7 +13,6 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
15
|
|
16
|
-
require "google/cloud/env"
|
17
16
|
require "google/cloud/translate/service"
|
18
17
|
require "google/cloud/translate/translation"
|
19
18
|
require "google/cloud/translate/detection"
|
@@ -78,16 +77,7 @@ module Google
|
|
78
77
|
def project_id
|
79
78
|
service.project
|
80
79
|
end
|
81
|
-
|
82
|
-
|
83
|
-
##
|
84
|
-
# @private Default project.
|
85
|
-
def self.default_project_id
|
86
|
-
ENV["TRANSLATE_PROJECT"] ||
|
87
|
-
ENV["GOOGLE_CLOUD_PROJECT"] ||
|
88
|
-
ENV["GCLOUD_PROJECT"] ||
|
89
|
-
Google::Cloud.env.project_id
|
90
|
-
end
|
80
|
+
alias project project_id
|
91
81
|
|
92
82
|
##
|
93
83
|
# Returns text translations from one language to another.
|
@@ -184,7 +174,7 @@ module Google
|
|
184
174
|
def translate *text, to: nil, from: nil, format: nil, model: nil,
|
185
175
|
cid: nil
|
186
176
|
return nil if text.empty?
|
187
|
-
|
177
|
+
raise ArgumentError, "to is required" if to.nil?
|
188
178
|
to = to.to_s
|
189
179
|
from = from.to_s if from
|
190
180
|
format = format.to_s if format
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -38,19 +38,19 @@ module Google
|
|
38
38
|
# translate.project_id #=> "my-todo-project"
|
39
39
|
#
|
40
40
|
class Credentials < Google::Auth::Credentials
|
41
|
-
SCOPE = ["https://www.googleapis.com/auth/cloud-platform"]
|
42
|
-
PATH_ENV_VARS = %w
|
41
|
+
SCOPE = ["https://www.googleapis.com/auth/cloud-platform"].freeze
|
42
|
+
PATH_ENV_VARS = %w[TRANSLATE_CREDENTIALS
|
43
43
|
TRANSLATE_KEYFILE
|
44
44
|
GOOGLE_CLOUD_CREDENTIALS
|
45
45
|
GOOGLE_CLOUD_KEYFILE
|
46
|
-
GCLOUD_KEYFILE
|
47
|
-
JSON_ENV_VARS = %w
|
46
|
+
GCLOUD_KEYFILE].freeze
|
47
|
+
JSON_ENV_VARS = %w[TRANSLATE_CREDENTIALS_JSON
|
48
48
|
TRANSLATE_KEYFILE_JSON
|
49
49
|
GOOGLE_CLOUD_CREDENTIALS_JSON
|
50
50
|
GOOGLE_CLOUD_KEYFILE_JSON
|
51
|
-
GCLOUD_KEYFILE_JSON
|
51
|
+
GCLOUD_KEYFILE_JSON].freeze
|
52
52
|
DEFAULT_PATHS = \
|
53
|
-
["~/.config/gcloud/application_default_credentials.json"]
|
53
|
+
["~/.config/gcloud/application_default_credentials.json"].freeze
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -25,8 +25,8 @@ module Google
|
|
25
25
|
# @private
|
26
26
|
# Represents the Translation API REST service, exposing the API calls.
|
27
27
|
class Service #:nodoc:
|
28
|
-
API_VERSION = "v2"
|
29
|
-
API_URL = "https://translation.googleapis.com"
|
28
|
+
API_VERSION = "v2".freeze
|
29
|
+
API_URL = "https://translation.googleapis.com".freeze
|
30
30
|
|
31
31
|
# @private
|
32
32
|
attr_accessor :project, :credentials, :retries, :timeout, :key
|
@@ -71,7 +71,7 @@ module Google
|
|
71
71
|
end
|
72
72
|
|
73
73
|
def inspect
|
74
|
-
|
74
|
+
self.class.to_s
|
75
75
|
end
|
76
76
|
|
77
77
|
protected
|
@@ -92,7 +92,7 @@ module Google
|
|
92
92
|
|
93
93
|
return JSON.parse(response.body)["data"] if response.success?
|
94
94
|
|
95
|
-
|
95
|
+
raise Google::Cloud::Error.gapi_error_class_for(response.status)
|
96
96
|
rescue Faraday::ConnectionFailed
|
97
97
|
raise Google::Cloud::ResourceExhaustedError
|
98
98
|
end
|
@@ -153,7 +153,7 @@ module Google
|
|
153
153
|
# Set the default values
|
154
154
|
self.retries = 3
|
155
155
|
self.http_codes = [500, 503]
|
156
|
-
self.reasons = %w
|
156
|
+
self.reasons = %w[rateLimitExceeded userRateLimitExceeded]
|
157
157
|
self.backoff = ->(retries) { sleep retries.to_i }
|
158
158
|
|
159
159
|
def initialize options = {} #:nodoc:
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -45,8 +45,8 @@ module Google
|
|
45
45
|
#
|
46
46
|
# @return [String]
|
47
47
|
attr_reader :text
|
48
|
-
|
49
|
-
|
48
|
+
alias to_s text
|
49
|
+
alias to_str text
|
50
50
|
|
51
51
|
##
|
52
52
|
# The original query text that was translated.
|
@@ -59,15 +59,15 @@ module Google
|
|
59
59
|
#
|
60
60
|
# @return [String]
|
61
61
|
attr_reader :to
|
62
|
-
|
63
|
-
|
62
|
+
alias language to
|
63
|
+
alias target to
|
64
64
|
|
65
65
|
##
|
66
66
|
# The source language from which the text was translated.
|
67
67
|
#
|
68
68
|
# @return [String]
|
69
69
|
attr_reader :from
|
70
|
-
|
70
|
+
alias source from
|
71
71
|
|
72
72
|
##
|
73
73
|
# The translation model. Can be either `base` for the Phrase-Based
|
@@ -1,10 +1,10 @@
|
|
1
|
-
# Copyright 2016 Google
|
1
|
+
# Copyright 2016 Google LLC
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
5
5
|
# You may obtain a copy of the License at
|
6
6
|
#
|
7
|
-
#
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
8
|
#
|
9
9
|
# Unless required by applicable law or agreed to in writing, software
|
10
10
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
@@ -16,7 +16,7 @@
|
|
16
16
|
module Google
|
17
17
|
module Cloud
|
18
18
|
module Translate
|
19
|
-
VERSION = "1.
|
19
|
+
VERSION = "1.2.0".freeze
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-cloud-translate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Moore
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2018-02-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: google-cloud-core
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '1.
|
20
|
+
version: '1.2'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '1.
|
27
|
+
version: '1.2'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: faraday
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,16 +127,16 @@ dependencies:
|
|
127
127
|
name: rubocop
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
|
-
- - "
|
130
|
+
- - "~>"
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version: 0.
|
132
|
+
version: 0.50.0
|
133
133
|
type: :development
|
134
134
|
prerelease: false
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
|
-
- - "
|
137
|
+
- - "~>"
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version: 0.
|
139
|
+
version: 0.50.0
|
140
140
|
- !ruby/object:Gem::Dependency
|
141
141
|
name: simplecov
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
220
220
|
version: '0'
|
221
221
|
requirements: []
|
222
222
|
rubyforge_project:
|
223
|
-
rubygems_version: 2.7.
|
223
|
+
rubygems_version: 2.7.6
|
224
224
|
signing_key:
|
225
225
|
specification_version: 4
|
226
226
|
summary: API Client library for Google Cloud Translation API
|