From eed78e5852118645893c11dc1e0a5e55ff646239 Mon Sep 17 00:00:00 2001 From: Alex Reisner <alex@alexreisner.com> Date: Thu, 3 Feb 2011 22:06:41 -0500 Subject: [PATCH] Kill Geocoder::Lookup.search functionality. Move to fetch_parsed_response. Will use search method for fetching a Result object. --- lib/geocoder/lookup.rb | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/geocoder/lookup.rb b/lib/geocoder/lookup.rb index 27b88d91..b173cbb2 100644 --- a/lib/geocoder/lookup.rb +++ b/lib/geocoder/lookup.rb @@ -10,7 +10,7 @@ module Geocoder # def coordinates(address) return nil if address.blank? - return nil unless doc = search(address, false) + return nil unless doc = fetch_parsed_response(address, false) # blindly use first result (assume it is most accurate) place = doc['results'].first['geometry']['location'] ['lat', 'lng'].map{ |i| place[i] } @@ -22,19 +22,17 @@ module Geocoder # def address(latitude, longitude) return nil if latitude.blank? || longitude.blank? - return nil unless doc = search("#{latitude},#{longitude}", true) + return nil unless doc = fetch_parsed_response("#{latitude},#{longitude}", true) # blindly use first result (assume it is most accurate) doc['results'].first['formatted_address'] end ## # Query Google for geographic information about the given phrase. - # Returns a hash representing a valid, parsed geocoder response. - # Returns nil if non-200 HTTP response, timeout, or other error. + # Returns a Result object containing all data returned by Google. # def search(query, reverse = false) - doc = fetch_parsed_response(query, reverse) - doc && doc['status'] == "OK" ? doc : nil + # TODO end @@ -42,17 +40,17 @@ module Geocoder ## # Returns a parsed Google geocoder search result (hash). - # This method is not intended for general use (prefer Geocoder.search). + # Returns nil if non-200 HTTP response, timeout, or other error. # def fetch_parsed_response(query, reverse = false) if doc = fetch_raw_response(query, reverse) - ActiveSupport::JSON.decode(doc) + doc = ActiveSupport::JSON.decode(doc) + doc && doc['status'] == "OK" ? doc : nil end end ## # Returns a raw Google geocoder search result (JSON). - # This method is not intended for general use (prefer Geocoder.search). # def fetch_raw_response(query, reverse = false) return nil if query.blank? -- GitLab