Sha256: ef378d9e6aa4a7e64a5fcd5c48b01b4bb06ea5fecbbf7809814c46bb1ab7b243

Contents?: true

Size: 1.33 KB

Versions: 41

Compression:

Stored size: 1.33 KB

Contents

require 'geocoder/lookups/base'
require 'geocoder/results/ovi'

module Geocoder::Lookup
  class Ovi < Base

    def name
      "Ovi"
    end

    def required_api_key_parts
      []
    end

    def query_url(query)
      "#{protocol}://lbs.ovi.com/search/6.2/#{if query.reverse_geocode? then 'reverse' end}geocode.json?" + url_query_string(query)
    end

    private # ---------------------------------------------------------------

    def results(query)
      return [] unless doc = fetch_data(query)
      return [] unless doc['Response'] && doc['Response']['View']
      if r=doc['Response']['View']
        return [] if r.nil? || !r.is_a?(Array) || r.empty?
        return r.first['Result']
      end
      []
    end

    def query_url_params(query)
      options = {
        :gen=>1,
        :app_id=>api_key,
        :app_code=>api_code
      }

      if query.reverse_geocode?
        super.merge(options).merge(
          :prox=>query.sanitized_text,
          :mode=>:retrieveAddresses
        )
      else
        super.merge(options).merge(
          :searchtext=>query.sanitized_text
        )
      end
    end

    def api_key
      if a=configuration.api_key
        return a.first if a.is_a?(Array)
      end
    end

    def api_code
      if a=configuration.api_key
        return a.last if a.is_a?(Array)
      end
    end
  end
end

Version data entries

41 entries across 41 versions & 5 rubygems

Version Path
geocoder-1.4.9 lib/geocoder/lookups/ovi.rb
geocoder-1.4.8 lib/geocoder/lookups/ovi.rb
geocoder-1.4.7 lib/geocoder/lookups/ovi.rb
geocoder-1.4.6 lib/geocoder/lookups/ovi.rb
geocoder-1.4.5 lib/geocoder/lookups/ovi.rb
geocoder-1.4.4 lib/geocoder/lookups/ovi.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/geocoder-1.4.3/lib/geocoder/lookups/ovi.rb
geocoder-1.4.3 lib/geocoder/lookups/ovi.rb
geocoder-1.4.2 lib/geocoder/lookups/ovi.rb
geocoder-1.4.1 lib/geocoder/lookups/ovi.rb
geocoder-1.4.0 lib/geocoder/lookups/ovi.rb
geocoder-1.3.7 lib/geocoder/lookups/ovi.rb
geocoder-1.3.6 lib/geocoder/lookups/ovi.rb
geocoder-1.3.5 lib/geocoder/lookups/ovi.rb
broken-geocoder-1.3.6 lib/geocoder/lookups/ovi.rb
broken-geocoder-1.3.5 lib/geocoder/lookups/ovi.rb
broken-geocoder-1.3.4 lib/geocoder/lookups/ovi.rb
geocoder-1.3.4 lib/geocoder/lookups/ovi.rb
geocoder-1.3.3 lib/geocoder/lookups/ovi.rb
geocoder-1.3.2 lib/geocoder/lookups/ovi.rb