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