class GoogleTZAPI::Query

Public Class Methods

new(lat, lng, opts) click to toggle source
# File lib/google_tz/query.rb, line 7
def initialize(lat, lng, opts)
  @lat = lat
  @lng = lng
  @timestamp = opts[:timestamp] || Time.now.to_i
  @sensor = opts[:sensor] || false
  @language = opts[:language] || "en"
end

Public Instance Methods

lookup() click to toggle source
# File lib/google_tz/query.rb, line 15
def lookup
  response = make_request(build_uri)
  Response.new(response.body)
end

Private Instance Methods

build_uri() click to toggle source
# File lib/google_tz/query.rb, line 21
def build_uri
  uri = URI.parse("https://maps.googleapis.com/maps/api/timezone/json")
  args = { :location => "#{@lat},#{@lng}", timestamp: @timestamp, sensor: @sensor, language: @language }
  uri.query = URI.encode_www_form(args)
  uri
end
make_request(uri) click to toggle source
# File lib/google_tz/query.rb, line 28
def make_request(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)
  response
end