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