From 16e2d20d4a316a87a69f13fe97bad9a8ab959f3b Mon Sep 17 00:00:00 2001
From: Guillaume Dott <guillaume+github@dott.fr>
Date: Wed, 21 Jan 2015 14:14:32 +0100
Subject: [PATCH] Store service arrays in instance variable

It makes it easier to add a custom lookup class or filter available
services by manipulating the correct service array.
---
 lib/geocoder/lookup.rb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/geocoder/lookup.rb b/lib/geocoder/lookup.rb
index 651cb5b8..e28ca309 100644
--- a/lib/geocoder/lookup.rb
+++ b/lib/geocoder/lookup.rb
@@ -20,7 +20,7 @@ module Geocoder
     # All street address lookup services, default first.
     #
     def street_services
-      [
+      @street_services ||= [
         :dstk,
         :esri,
         :google,
@@ -49,7 +49,7 @@ module Geocoder
     # All IP address lookup services, default first.
     #
     def ip_services
-      [
+      @ip_services ||= [
         :baidu_ip,
         :freegeoip,
         :geoip2,
@@ -60,6 +60,8 @@ module Geocoder
       ]
     end
 
+    attr_writer :street_services, :ip_services
+
     ##
     # Retrieve a Lookup object from the store.
     # Use this instead of Geocoder::Lookup::X.new to get an
-- 
GitLab