Module: Pry::SendTweet::ReadTweets::TranslateActions

Included in:
Pry::SendTweet::ReadTweets
Defined in:
lib/pry/send_tweet/commands/read_tweets/translate_actions.rb

Constant Summary collapse

YANDEX_ENDPOINT =
"https://translate.yandex.net/api/v1.5/tr.json/translate?" \
"key=%{key}&text=%{text}&lang=%{lang}"
LANGUAGE_STRINGS =
{
  'ar' => 'Arabic (العربية)',
  'en' => 'English',
  'de' => 'German (Deutsch)',
  'pt' => 'Portuguese (Portuguesa)',
  'fa' => 'Farsi (دریافت)',
  'ja' => 'Japanese (日本語)',
  'he' => 'Hebrew (עברית)',
  'ga' => 'Irish (Gaeilge)',
  'es' => 'Spanish (Español)',
  'it' => 'Italinao (italiano)',
  'nl' => 'Dutch (Nederlands)',
  'ru' => 'Russian (русский)',
  'uk' => 'Ukranian (країнська)',
  'ko' => 'Korean (한국어)',
  'fr' => 'French (Français)',
  'da' => 'Danish (dansk)',
  'yi' => 'Yiddish (ייִדיש)',
  'sw' => 'Swahili'
}

Instance Method Summary collapse

Instance Method Details

#translate_text(text, source_language) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/pry/send_tweet/commands/read_tweets/translate_actions.rb', line 39

def translate_text(text, source_language)
  uri_endpoint = __build_yandex_endpoint(text, source_language)
  res = Net::HTTP.get_response(uri_endpoint)
  case res
  when Net::HTTPOK
    _pry_.output.puts "#{__translation_map(res)}: \n" \
                      "#{__translated_text_from(res)}"
  else
    raise Pry::CommandError, "Bad response from Yandex (#{res.class})"
  end
end

#translate_tweet(tweet_url, source_language) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/pry/send_tweet/commands/read_tweets/translate_actions.rb', line 26

def translate_tweet(tweet_url, source_language)
  tweet = twitter.status(tweet_url)
  uri_endpoint = __build_yandex_endpoint(tweet, source_language)
  res = Net::HTTP.get_response(uri_endpoint)
  case res
  when Net::HTTPOK
    tweet.attrs[:full_text] = __translated_text_from(res)
    render_tweets [tweet], title: "#{__translation_map(res)}: ", timeout: false
  else
    raise Pry::CommandError, "Bad response from Yandex (#{res.class})"
  end
end