From cfff7d18a791028d3c6a6f2037bafbaf36058612 Mon Sep 17 00:00:00 2001
From: Alex Reisner <alex@alexreisner.com>
Date: Fri, 4 Feb 2011 13:35:56 -0500
Subject: [PATCH] Move exceptions into Geocoder module.

---
 lib/geocoder.rb               | 10 ++++------
 lib/geocoder/active_record.rb |  4 ++--
 test/geocoder_test.rb         |  2 +-
 3 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/lib/geocoder.rb b/lib/geocoder.rb
index 2cd221ff..17280af2 100644
--- a/lib/geocoder.rb
+++ b/lib/geocoder.rb
@@ -13,6 +13,10 @@ module Geocoder
   def search(*args)
     Lookup.search(*args)
   end
+
+  # exception classes
+  class Error < StandardError; end
+  class ConfigurationError < Error; end
 end
 
 
@@ -59,9 +63,3 @@ ActiveRecord::Base.class_eval do
   end
 end
 
-
-class GeocoderError < StandardError
-end
-
-class GeocoderConfigurationError < GeocoderError
-end
diff --git a/lib/geocoder/active_record.rb b/lib/geocoder/active_record.rb
index 8282e4b3..597998ca 100644
--- a/lib/geocoder/active_record.rb
+++ b/lib/geocoder/active_record.rb
@@ -185,7 +185,7 @@ module Geocoder
     def fetch_coordinates(save = false)
       address_method = self.class.geocoder_options[:user_address]
       unless address_method.is_a? Symbol
-        raise GeocoderConfigurationError,
+        raise Geocoder::ConfigurationError,
           "You are attempting to fetch coordinates but have not specified " +
           "a method which provides an address for the object."
       end
@@ -213,7 +213,7 @@ module Geocoder
       lat_attr = self.class.geocoder_options[:latitude]
       lon_attr = self.class.geocoder_options[:longitude]
       unless lat_attr.is_a?(Symbol) and lon_attr.is_a?(Symbol)
-        raise GeocoderConfigurationError,
+        raise Geocoder::ConfigurationError,
           "You are attempting to fetch an address but have not specified " +
           "attributes which provide coordinates for the object."
       end
diff --git a/test/geocoder_test.rb b/test/geocoder_test.rb
index 7b8c0ff5..312cbd30 100644
--- a/test/geocoder_test.rb
+++ b/test/geocoder_test.rb
@@ -23,7 +23,7 @@ class GeocoderTest < Test::Unit::TestCase
 
   def test_exception_raised_for_unconfigured_geocoding
     l = Landmark.new("Mount Rushmore", 43.88, -103.46)
-    assert_raises GeocoderConfigurationError do
+    assert_raises Geocoder::ConfigurationError do
       l.fetch_coordinates
     end
   end
-- 
GitLab