From 7959237d17ad0176ec8dad1b02a8ac84817666ad Mon Sep 17 00:00:00 2001 From: Alex Reisner <alex@alexreisner.com> Date: Wed, 9 Mar 2011 10:18:33 -0500 Subject: [PATCH] Raise exception on bad lookup configuration. --- lib/geocoder.rb | 4 ++++ test/geocoder_test.rb | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/lib/geocoder.rb b/lib/geocoder.rb index 731a17f6..9be0c2c7 100644 --- a/lib/geocoder.rb +++ b/lib/geocoder.rb @@ -68,6 +68,10 @@ module Geocoder name = name.to_s require "geocoder/lookups/#{name}" eval("Geocoder::Lookup::#{name[0...1].upcase + name[1..-1]}.new") + else + valids = valid_lookups.map{ |l| ":#{l}" }.join(", ") + raise ConfigurationError, "Please specify a valid lookup for Geocoder " + + "(#{name.inspect} is not one of: #{valids})." end end diff --git a/test/geocoder_test.rb b/test/geocoder_test.rb index bd5891a3..3b10adb1 100644 --- a/test/geocoder_test.rb +++ b/test/geocoder_test.rb @@ -7,6 +7,16 @@ class GeocoderTest < Test::Unit::TestCase end + # --- configuration --- + # + def test_exception_raised_on_bad_lookup_config + Geocoder::Configuration.lookup = :stoopid + assert_raises Geocoder::ConfigurationError do + Geocoder.search "something dumb" + end + end + + # --- sanity checks --- def test_distance_between -- GitLab