class Geocoder::Lookup::Osmnames

Public Instance Methods

name() click to toggle source
# File lib/geocoder/lookups/osmnames.rb, line 8
def name
  'OSM Names'
end
required_api_key_parts() click to toggle source
# File lib/geocoder/lookups/osmnames.rb, line 12
def required_api_key_parts
  configuration[:host] ? [] : ['key']
end
supported_protocols() click to toggle source
# File lib/geocoder/lookups/osmnames.rb, line 16
def supported_protocols
  [:https]
end

Private Instance Methods

base_query_url(query) click to toggle source
# File lib/geocoder/lookups/osmnames.rb, line 22
def base_query_url(query)
  "#{base_url(query)}/#{params_url(query)}.js?"
end
base_url(query) click to toggle source
# File lib/geocoder/lookups/osmnames.rb, line 26
def base_url(query)
  host = configuration[:host] || 'geocoder.tilehosting.com'
  "#{protocol}://#{host}"
end
country_limited(query) click to toggle source
# File lib/geocoder/lookups/osmnames.rb, line 53
def country_limited(query)
  "#{query.options[:country_code].downcase}/" if query.options[:country_code] && !query.reverse_geocode?
end
params_url(query) click to toggle source
# File lib/geocoder/lookups/osmnames.rb, line 31
def params_url(query)
  method, args = 'q', CGI.escape(query.sanitized_text)
  method, args = 'r', query.coordinates.join('/') if query.reverse_geocode?
  "#{country_limited(query)}#{method}/#{args}"
end
query_url_params(query) click to toggle source
Calls superclass method
# File lib/geocoder/lookups/osmnames.rb, line 47
def query_url_params(query)
  {
    key: configuration.api_key
  }.merge(super)
end
results(query) click to toggle source
# File lib/geocoder/lookups/osmnames.rb, line 37
def results(query)
  return [] unless doc = fetch_data(query)
  if (error = doc['message'])
    raise_error(Geocoder::InvalidRequest, error) ||
      Geocoder.log(:warn, "OSMNames Geocoding API error: #{error}")
  else
    return doc['results']
  end
end