class Provide::Services::Tourguide
Public Class Methods
new(scheme = 'http', host, token)
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 5 def initialize(scheme = 'http', host, token) @scheme = scheme @host = host @token = token end
Public Instance Methods
directions(from_latitude, from_longitude, to_latitude, to_longitude, waypoints = nil, departure = 'now', alternatives = 0)
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 11 def directions(from_latitude, from_longitude, to_latitude, to_longitude, waypoints = nil, departure = 'now', alternatives = 0) parse client.get('directions', { :alternatives => alternatives, :departure => departure, :from_latitude => from_latitude, :from_longitude => from_longitude, :to_latitude => to_latitude, :to_longitude => to_longitude, :waypoints => waypoints, }) end
eta(from_latitude, from_longitude, to_latitude, to_longitude, waypoints = nil, departure = 'now', alternatives = 0)
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 23 def eta(from_latitude, from_longitude, to_latitude, to_longitude, waypoints = nil, departure = 'now', alternatives = 0) parse client.get('directions/eta', { :alternatives => alternatives, :departure => departure, :from_latitude => from_latitude, :from_longitude => from_longitude, :to_latitude => to_latitude, :to_longitude => to_longitude, :waypoints => waypoints, }) end
geocode(street_number = nil, street = nil, city = nil, state = nil, postal_code = nil)
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 35 def geocode(street_number = nil, street = nil, city = nil, state = nil, postal_code = nil) parse client.get('geocoder', { :street_number => street_number, :street => street, :city => city, :state => state, :postal_code => postal_code, }) end
matrix(origin_coords, destination_coords)
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 52 def matrix(origin_coords, destination_coords) parse client.get('matrix', { :origin_coords => origin_coords, :destination_coords => destination_coords, }) end
place_details(place_id)
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 59 def place_details(place_id) parse client.get('places', { :place_id => place_id, }) end
places_autocomplete(query, latitude, longitude, radius = 15, type = nil, components = nil)
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 65 def places_autocomplete(query, latitude, longitude, radius = 15, type = nil, components = nil) params = { :q => query, :latitude => latitude, :longitude => longitude, :radius => radius, } params[:type] = type if type params[:components] = components = components if components parse client.get('places/autocomplete', params) end
reverse_geocode(latitude, longitude)
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 45 def reverse_geocode(latitude, longitude) parse client.get('geocoder', { :latitude => latitude, :longitude => longitude, }) end
timezones(latitude, longitude)
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 77 def timezones(latitude, longitude) parse client.get('timezones', { :latitude => latitude, :longitude => longitude, }) end
Private Instance Methods
client()
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 86 def client @client ||= begin Provide::ApiClient.new(@scheme, @host, 'api/v1/', @token) end end
parse(response)
click to toggle source
# File lib/provide-ruby/services/tourguide.rb, line 92 def parse(response) begin body = response.code == 204 ? nil : JSON.parse(response.body) return response.code, response.headers, body rescue raise Exception.new({ :code => response.code, }) end end