lib/geocoder/lookups/google_premier.rb in geocoder-1.1.5 vs lib/geocoder/lookups/google_premier.rb in geocoder-1.1.6

- old
+ new

@@ -4,26 +4,34 @@ require 'geocoder/results/google_premier' module Geocoder::Lookup class GooglePremier < Google - private # --------------------------------------------------------------- + def name + "Google Premier" + end - def query_url_params(query) - super.merge(query_url_google_params(query)).merge( - :key => nil, # don't use param inherited from Google lookup - :client => Geocoder::Configuration.api_key[1], - :channel => Geocoder::Configuration.api_key[2] - ) + def required_api_key_parts + ["private key", "client", "channel"] end def query_url(query) path = "/maps/api/geocode/json?" + url_query_string(query) "#{protocol}://maps.googleapis.com#{path}&signature=#{sign(path)}" end + private # --------------------------------------------------------------- + + def query_url_params(query) + query_url_google_params(query).merge(super).merge( + :key => nil, # don't use param inherited from Google lookup + :client => configuration.api_key[1], + :channel => configuration.api_key[2] + ) + end + def sign(string) - raw_private_key = url_safe_base64_decode(Geocoder::Configuration.api_key[0]) + raw_private_key = url_safe_base64_decode(configuration.api_key[0]) digest = OpenSSL::Digest::Digest.new('sha1') raw_signature = OpenSSL::HMAC.digest(digest, raw_private_key, string) url_safe_base64_encode(raw_signature) end