class VTrans::TranslateApi
Constants
- GOOGLE_TRANSLATE_SERVICE_URL
Public Class Methods
new(text, from_lang, to_lang, api_key)
click to toggle source
# File lib/v_trans/v_trans_api.rb, line 8 def initialize text, from_lang, to_lang, api_key @from_lang = from_lang @to_lang = to_lang @text = text @api_key = api_key end
Public Instance Methods
translate()
click to toggle source
# File lib/v_trans/v_trans_api.rb, line 15 def translate if @text && @from_lang && @to_lang && @api_key translated = trans_service @text, @from_lang, @to_lang, @api_key if translated body = JSON.parse(translated)["data"]["translations"].pop result = body["translatedText"] else raise("Please check paramaters. Maybe you're wrong languages code or api key. Thanks") end return result else raise("Missing 'from' language") unless @from_lang raise("Missing 'to' language") unless @to_lang raise("Missing 'text' for translation") unless @text raise("Missing 'api key' for the service") unless @api_key end end
Private Instance Methods
trans_service(text, from_lang, to_lang, api_key)
click to toggle source
# File lib/v_trans/v_trans_api.rb, line 37 def trans_service text, from_lang, to_lang, api_key full_url = URI.encode(GOOGLE_TRANSLATE_SERVICE_URL + "?key=#{api_key}&source=#{from_lang}&target=#{to_lang}&q=#{text}") RestClient.get(full_url){ |response| if response.code == 200 res = response.body return res else nil end } end