module Twitest

Constants

VERSION

Public Class Methods

execute(text) click to toggle source
# File lib/twitest.rb, line 8
def self.execute(text)
  english_text = translate text
  engagement = Indico.twitter_engagement(english_text, {api_key: ENV['INDICO_API_KEY']})
  puts "#{english_text} (#{engagement})"
end
translate(text) click to toggle source
# File lib/twitest.rb, line 14
def self.translate(text)
  token = get_access_token
  res = Faraday.new(:url => 'http://api.microsofttranslator.com')
          .get("/V2/Ajax.svc/Translate?to=en&text=#{URI.decode(text)}&oncomplete=translated") do |req|
            req.headers['Authorization'] = "Bearer #{token}"
          end
  eval(res.body)
end

Private Class Methods

get_access_token() click to toggle source
# File lib/twitest.rb, line 24
def self.get_access_token
  res = Faraday.new(:url => 'https://datamarket.accesscontrol.windows.net')
          .post('/v2/OAuth2-13', {
            client_id: ENV['CLIENT_ID'],
            client_secret: ENV['CLIENT_SECRET'],
            scope: URI.decode('http://api.microsofttranslator.com/'),
            grant_type: 'client_credentials'
          })
  body = JSON.parse(res.body)
  body['access_token']
end
translated(text) click to toggle source
# File lib/twitest.rb, line 36
def self.translated(text)
  text
end