Sha256: 9f598e5e1da693bb6812508dbc3952a4578659fcf785ca68f38d9e692bf0dd89

Contents?: true

Size: 1017 Bytes

Versions: 1

Compression:

Stored size: 1017 Bytes

Contents

require 'net/https'
require 'uri'
require 'oj'
module Google
  module API

    URL = 'https://www.googleapis.com/language/translate/v2'

    module ClassMethods
    end

    module InstanceMethods

      def google_translate
        uri = get_uri
        http = Net::HTTP.new(uri.host, uri.port)
        http.use_ssl = true
        http.verify_mode = OpenSSL::SSL::VERIFY_NONE

        request = Net::HTTP::Get.new(uri.request_uri)
        response = http.request(request)

        translated_date_text(Oj.load(response.body))
      end

      def translated_date_text(body)
        body['data']['translations'].first['translatedText']
      rescue
        ''
      end

      def get_uri
        url = "#{URL}?q=#{text}"
        url += "&target=#{target}" if target
        url += "&source=#{source}" if source
        url += "&key=#{key}"
        URI(url)
      end

    end

    def self.included(receiver)
      receiver.extend         ClassMethods
      receiver.send :include, InstanceMethods
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
babel_i18n-0.0.2 lib/google/api.rb