From 3dea5945a2db6f977d777336518393a9d2185627 Mon Sep 17 00:00:00 2001
From: Alex Reisner <alex@alexreisner.com>
Date: Mon, 2 Aug 2010 14:04:21 -0400
Subject: [PATCH] Remove call to 'returning' method.

The method was removed from Rails 3 RC 1, though it appears it will be
included in the final release. See:

Removed:
http://github.com/rails/rails/commit/b0b9bf320409b66c6c6b680371aca590297cd4cc

Reinstated:
http://github.com/rails/rails/commit/88b5f938cf7d3eb26ad204451a4dbb9c2cf4f571
---
 lib/geocoder.rb | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/lib/geocoder.rb b/lib/geocoder.rb
index 9222b1da..e043def7 100644
--- a/lib/geocoder.rb
+++ b/lib/geocoder.rb
@@ -174,14 +174,15 @@ module Geocoder
   # coordinates as an array: <tt>[lat, lon]</tt>.
   #
   def fetch_coordinates(save = false)
-    location = send(self.class.geocoder_options[:method_name])
-    returning Geocoder.fetch_coordinates(location) do |c|
-      unless c.blank?
-        method = (save ? "update" : "write") + "_attribute"
-        send method, self.class.geocoder_options[:latitude], c[0]
-        send method, self.class.geocoder_options[:longitude], c[1]
-      end
+    coords = Geocoder.fetch_coordinates(
+      send(self.class.geocoder_options[:method_name])
+    )
+    unless coords.blank?
+      method = (save ? "update" : "write") + "_attribute"
+      send method, self.class.geocoder_options[:latitude],  coords[0]
+      send method, self.class.geocoder_options[:longitude], coords[1]
     end
+    coords
   end
 
   ##
-- 
GitLab