class Geocoder::Lookup::GooglePlacesDetails
Public Instance Methods
name()
click to toggle source
# File lib/geocoder/lookups/google_places_details.rb, line 7 def name "Google Places Details" end
required_api_key_parts()
click to toggle source
# File lib/geocoder/lookups/google_places_details.rb, line 11 def required_api_key_parts ["key"] end
supported_protocols()
click to toggle source
# File lib/geocoder/lookups/google_places_details.rb, line 15 def supported_protocols [:https] end
Private Instance Methods
base_query_url(query)
click to toggle source
# File lib/geocoder/lookups/google_places_details.rb, line 21 def base_query_url(query) "#{protocol}://maps.googleapis.com/maps/api/place/details/json?" end
query_url_google_params(query)
click to toggle source
# File lib/geocoder/lookups/google_places_details.rb, line 42 def query_url_google_params(query) { placeid: query.text, language: query.language || configuration.language } end
results(query)
click to toggle source
# File lib/geocoder/lookups/google_places_details.rb, line 25 def results(query) return [] unless doc = fetch_data(query) case doc["status"] when "OK" return [doc["result"]] when "OVER_QUERY_LIMIT" raise_error(Geocoder::OverQueryLimitError) || Geocoder.log(:warn, "Google Places Details API error: over query limit.") when "REQUEST_DENIED" raise_error(Geocoder::RequestDenied) || Geocoder.log(:warn, "Google Places Details API error: request denied.") when "INVALID_REQUEST" raise_error(Geocoder::InvalidRequest) || Geocoder.log(:warn, "Google Places Details API error: invalid request.") end [] end