class GoogleTranslate
Constants
- GOOGLE_TRANSLATE_URI
Public Class Methods
translate(params)
click to toggle source
# File lib/free_google_translate.rb, line 11 def translate params res = make_request build_translate_query params @translated = JSON.parse(res.body).flatten[0] end
Private Class Methods
build_translate_query(params)
click to toggle source
# File lib/free_google_translate.rb, line 45 def build_translate_query params { client: "gtx", sl: get_source_language(params), tl: get_target_language(params), dt: "t", q: get_text(params), le: "UTF-8", oe: "UTF-8" } end
full_language_name(short_language_name)
click to toggle source
# File lib/free_google_translate.rb, line 63 def full_language_name short_language_name FreeGoogleTranslate::LANGS[short_language_name] end
get_source_language(params)
click to toggle source
# File lib/free_google_translate.rb, line 17 def get_source_language params if params[:from] if full_language_name params[:from] params[:from] else raise StandardError, "Source language is invalid" end else "auto" end end
get_target_language(params)
click to toggle source
# File lib/free_google_translate.rb, line 29 def get_target_language params if full_language_name params[:to] params[:to] else raise StandardError, "Target language is invalid" end end
get_text(params)
click to toggle source
# File lib/free_google_translate.rb, line 37 def get_text params if params[:text] params[:text] else raise StandardError, "Text can not empty" end end
make_request(query)
click to toggle source
# File lib/free_google_translate.rb, line 57 def make_request query uri = URI GOOGLE_TRANSLATE_URI uri.query = URI.encode_www_form query res = Net::HTTP.get_response uri end