Module: Mapquest::API::Client::Search

Included in:
Mapquest::API::Client
Defined in:
lib/mapquest/api/client/search.rb

Constant Summary collapse

MAPQUEST_NOMINATIM_ROOT_URL =
"https://open.mapquestapi.com/nominatim/v1"

Instance Method Summary collapse

Instance Method Details

#search(args = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/mapquest/api/client/search.rb', line 10

def search(args = {})
  search_parameters = args.transform_keys(&:to_s).merge({ "key" => ENV['MAPQUEST_API_KEY'] })

  uri = Addressable::URI.parse("#{MAPQUEST_NOMINATIM_ROOT_URL}/search.php")
  uri.query_values = search_parameters

  response = Faraday.get(uri)
  if response.success?
    %w(json jsonv2).include?(search_parameters["format"]) ? JSON.parse(response.body) : response.body
  else
    { errors: response.body }
  end
end