class GoogleFish::Request
Attributes
parsed_response[RW]
query[RW]
response[RW]
Public Class Methods
new(query)
click to toggle source
# File lib/google_fish.rb, line 29 def initialize(query) @query = query end
Public Instance Methods
perform_translation()
click to toggle source
# File lib/google_fish.rb, line 33 def perform_translation @response = get @parsed_response = parse end
Private Instance Methods
get()
click to toggle source
# File lib/google_fish.rb, line 55 def get http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE req = Net::HTTP::Get.new(uri.request_uri) res = http.request(req) raise GoogleFish::Request::ApiError unless res.code.to_i == 200 res.body end
parse()
click to toggle source
# File lib/google_fish.rb, line 65 def parse body = JSON.parse(response) body["data"]["translations"].first["translatedText"] end
query_values()
click to toggle source
# File lib/google_fish.rb, line 40 def query_values {:key => query.key, :q => query.q, :format => query.format, :source => query.source, :target => query.target} end
uri()
click to toggle source
# File lib/google_fish.rb, line 45 def uri uri = Addressable::URI.new uri.host = 'www.googleapis.com' uri.path = '/language/translate/v2' uri.query_values = query_values uri.scheme = 'https' uri.port = 443 uri end