class Geocoder::Lookup::Okf

def name

def name
  "Okf"
end

def query_url(query)

def query_url(query)
  "#{protocol}://data.okf.fi/gis/1/geocode/json?" + url_query_string(query)
end

def query_url_okf_params(query)

def query_url_okf_params(query)
  params = {
    (query.reverse_geocode? ? :latlng : :address) => query.sanitized_text,
    :sensor => "false",
    :language => (query.language || configuration.language)
  }
  params
end

def query_url_params(query)

def query_url_params(query)
  query_url_okf_params(query).merge(super)
end

def results(query)

def results(query)
  return [] unless doc = fetch_data(query)
  case doc['status']; when "OK" # OK status implies >0 results
    return doc['results']
  end
  return []
end

def valid_response?(response)

def valid_response?(response)
  json = parse_json(response.body)
  status = json["status"] if json
  super(response) and ['OK', 'ZERO_RESULTS'].include?(status)
end