diff --git a/lib/geocoder.rb b/lib/geocoder.rb index 9222b1dadd2e7276b2b4a54f45fe0d3d3ccaf532..e043def76fc881d57562bb311f7b8fe5e210b974 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 ##