From 01d322fc4e74df290d902af1d4cc75dee13acd11 Mon Sep 17 00:00:00 2001
From: Alex Reisner <alex@alexreisner.com>
Date: Sat, 8 Dec 2012 14:21:43 -0500
Subject: [PATCH] Add Nominatim host config.

---
 lib/geocoder/lookups/nominatim.rb | 3 ++-
 test/services_test.rb             | 7 +++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/lib/geocoder/lookups/nominatim.rb b/lib/geocoder/lookups/nominatim.rb
index b5275080..8fb7a6de 100644
--- a/lib/geocoder/lookups/nominatim.rb
+++ b/lib/geocoder/lookups/nominatim.rb
@@ -38,7 +38,8 @@ module Geocoder::Lookup
 
     def query_url(query)
       method = query.reverse_geocode? ? "reverse" : "search"
-      "#{protocol}://nominatim.openstreetmap.org/#{method}?" + url_query_string(query)
+      host = configuration[:host] || "nominatim.openstreetmap.org"
+      "#{protocol}://#{host}/#{method}?" + url_query_string(query)
     end
   end
 end
diff --git a/test/services_test.rb b/test/services_test.rb
index 9a4d899d..20a4f403 100644
--- a/test/services_test.rb
+++ b/test/services_test.rb
@@ -178,6 +178,13 @@ class ServicesTest < Test::Unit::TestCase
       result.address
   end
 
+  def test_nominatim_host_config
+    Geocoder.configure(:lookup => :nominatim, :nominatim => {:host => "local.com"})
+    lookup = Geocoder::Lookup::Nominatim.new
+    query = Geocoder::Query.new("Bluffton, SC")
+    assert_match %r(http://local\.com), lookup.send(:query_url, query)
+  end
+
   # --- MapQuest ---
 
   def test_api_route
-- 
GitLab