class Geocoder::Lookup::Yandex

def results(query)

def results(query)
  return [] unless doc = fetch_data(query)
  if [400, 403].include? doc['statusCode']
    if doc['statusCode'] == 403 and doc['message'] == 'Invalid key'
      raise_error(Geocoder::InvalidApiKey) || Geocoder.log(:warn, "Invalid API key.")
    else
      Geocoder.log(:warn, "Yandex Geocoding API error: #{doc['statusCode']} (#{doc['message']}).")
    end
    return []
  end
  if doc = doc['response']['GeoObjectCollection']
    return doc['featureMember'].to_a
  else
    Geocoder.log(:warn, "Yandex Geocoding API error: unexpected response format.")
    return []
  end
end