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
fields(query)
click to toggle source
# File lib/geocoder/lookups/google_places_details.rb, line 36 def fields(query) if query.options.has_key?(:fields) return format_fields(query.options[:fields]) end if configuration.has_key?(:fields) return format_fields(configuration[:fields]) end nil # use Google Places defaults end
format_fields(*fields)
click to toggle source
# File lib/geocoder/lookups/google_places_details.rb, line 48 def format_fields(*fields) flattened = fields.flatten.compact return if flattened.empty? flattened.join(',') end
query_url_google_params(query)
click to toggle source
# File lib/geocoder/lookups/google_places_details.rb, line 55 def query_url_google_params(query) { placeid: query.text, fields: fields(query), language: query.language || configuration.language } end
result_root_attr()
click to toggle source
# File lib/geocoder/lookups/google_places_details.rb, line 25 def result_root_attr 'result' end
results(query)
click to toggle source
Calls superclass method
# File lib/geocoder/lookups/google_places_details.rb, line 29 def results(query) result = super(query) return [result] unless result.is_a? Array result end