Class: Opener::ChainedDaemon::MicrosoftTranslator
- Inherits:
-
Object
- Object
- Opener::ChainedDaemon::MicrosoftTranslator
- Defined in:
- lib/opener/chained_daemon/microsoft_translator.rb
Constant Summary collapse
- URL =
'https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=%{to}'
- TOKEN =
ENV['MICROSOFT_TRANSLATE_TOKEN']
Instance Method Summary collapse
-
#initialize ⇒ MicrosoftTranslator
constructor
A new instance of MicrosoftTranslator.
- #translate(text, to: :en) ⇒ Object
Constructor Details
#initialize ⇒ MicrosoftTranslator
Returns a new instance of MicrosoftTranslator.
8 9 10 |
# File 'lib/opener/chained_daemon/microsoft_translator.rb', line 8 def initialize @http = HTTPClient.new end |
Instance Method Details
#translate(text, to: :en) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/opener/chained_daemon/microsoft_translator.rb', line 12 def translate text, to: :en url = URL % {to: to} resp = @http.post url, body: [{Text: text}].to_json, header: {'Ocp-Apim-Subscription-Key' => TOKEN, 'Content-Type' => 'application/json'} data = JSON.parse resp.body raise data['error']['message'] if data.is_a? Hash and data['error'] data = Hashie::Mash.new data[0] data&.translations&.first&.text end |