Class: Gcloud::Translate::Api
- Inherits:
-
Object
- Object
- Gcloud::Translate::Api
- Defined in:
- lib/gcloud/translate/api.rb
Overview
# Api
Represents top-level access to the Google Translate API. Each instance requires a public API access key. To create a key, follow the general instructions at [Identifying your application to Google](cloud.google.com/translate/v2/using_rest#auth), and the specific instructions for [Server keys](cloud.google.com/translate/v2/using_rest#creating-server-api-keys). See Gcloud#translate.
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#detect(*text) ⇒ Detection+
Detect the most likely language or languages of a text or multiple texts.
-
#initialize(key) ⇒ Api
constructor
See Gcloud.translate.
-
#languages(language = nil) ⇒ Array<Language>
List the languages supported by the API.
-
#translate(*text, to: nil, from: nil, format: nil, cid: nil) ⇒ Translation+
Returns text translations from one language to another.
Constructor Details
#initialize(key) ⇒ Api
See Gcloud.translate
62 63 64 65 66 67 68 69 |
# File 'lib/gcloud/translate/api.rb', line 62 def initialize key key ||= ENV["TRANSLATE_KEY"] if key.nil? key_mising_msg = "An API key is required to use the Translate API." fail ArgumentError, key_mising_msg end @connection = Connection.new key end |
Instance Attribute Details
#connection ⇒ Object
56 57 58 |
# File 'lib/gcloud/translate/api.rb', line 56 def connection @connection end |
Instance Method Details
#detect(*text) ⇒ Detection+
Detect the most likely language or languages of a text or multiple texts.
195 196 197 198 199 200 |
# File 'lib/gcloud/translate/api.rb', line 195 def detect *text return nil if text.empty? resp = connection.detect(*text) fail ApiError.from_response(resp) unless resp.success? Detection.from_response resp, text end |
#languages(language = nil) ⇒ Array<Language>
List the languages supported by the API. These are the languages to and from which text can be translated.
240 241 242 243 244 245 |
# File 'lib/gcloud/translate/api.rb', line 240 def languages language = nil language = language.to_s if language resp = connection.languages language fail ApiError.from_response(resp) unless resp.success? Array(resp.data["languages"]).map { |gapi| Language.from_gapi gapi } end |
#translate(*text, to: nil, from: nil, format: nil, cid: nil) ⇒ Translation+
Returns text translations from one language to another.
145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/gcloud/translate/api.rb', line 145 def translate *text, to: nil, from: nil, format: nil, cid: nil return nil if text.empty? fail ArgumentError, "to is required" if to.nil? to = to.to_s from = from.to_s if from format = format.to_s if format resp = connection.translate(*text, to: to, from: from, format: format, cid: cid) fail ApiError.from_response(resp) unless resp.success? Translation.from_response resp, text, to, from end |