From 6bef27f7a025a17d96cd80e9113cfcc463349136 Mon Sep 17 00:00:00 2001
From: Alex Reisner <alex@alexreisner.com>
Date: Fri, 1 Apr 2011 02:30:52 -0400
Subject: [PATCH] Return nil unless object is geocoded.

---
 lib/geocoder/orms/base.rb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/geocoder/orms/base.rb b/lib/geocoder/orms/base.rb
index 2b10be72..8b94b30e 100644
--- a/lib/geocoder/orms/base.rb
+++ b/lib/geocoder/orms/base.rb
@@ -44,7 +44,8 @@ module Geocoder
       # See distance_to for various ways to specify the point.
       #
       def bearing_to(point, options = {})
-        return nil unless them = Geocoder::Calculations.extract_coordinates(point)
+        return nil unless geocoded? &&
+          them = Geocoder::Calculations.extract_coordinates(point)
         us = to_coordinates
         Geocoder::Calculations.bearing_between(
           us[0], us[1], them[0], them[1], options)
@@ -55,7 +56,8 @@ module Geocoder
       # See distance_to for various ways to specify the point.
       #
       def bearing_from(point, options = {})
-        return nil unless them = Geocoder::Calculations.extract_coordinates(point)
+        return nil unless geocoded? &&
+          them = Geocoder::Calculations.extract_coordinates(point)
         us = to_coordinates
         Geocoder::Calculations.bearing_between(
           them[0], them[1], us[0], us[1], options)
-- 
GitLab