class Geocoder::Lookup::Yandex

def map_link_url(coordinates)

def map_link_url(coordinates)
  "http://maps.yandex.ru/?ll=#{coordinates.reverse.join(',')}"
end

def query_url(query, reverse = false)

def query_url(query, reverse = false)
  query = query.split(",").reverse.join(",") if reverse
  params = {
    :geocode => query,
    :format => "json",
    :plng => "#{Geocoder::Configuration.language}", # supports ru, uk, be
    :key => Geocoder::Configuration.api_key
  }
  "http://geocode-maps.yandex.ru/1.x/?" + hash_to_query(params)
end

def results(query, reverse = false)

def results(query, reverse = false)
  return [] unless doc = fetch_data(query, reverse)
  if err = doc['error']
    warn "Yandex Geocoding API error: #{err['status']} (#{err['message']})."
    return []
  end
  if doc = doc['response']['GeoObjectCollection']
    meta = doc['metaDataProperty']['GeocoderResponseMetaData']
    return meta['found'].to_i > 0 ? doc['featureMember'] : []
  else
    warn "Yandex Geocoding API error: unexpected response format."
    return []
  end
end