From 4dd52395ffac28e7940542077c7f54366a112fcd Mon Sep 17 00:00:00 2001
From: Alex Reisner <alex@alexreisner.com>
Date: Wed, 25 May 2016 13:53:38 -0400
Subject: [PATCH] Refactor ESRI lookup to isolate token generation.

---
 lib/geocoder/lookups/esri.rb | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/lib/geocoder/lookups/esri.rb b/lib/geocoder/lookups/esri.rb
index 974ab07d..2c599b05 100644
--- a/lib/geocoder/lookups/esri.rb
+++ b/lib/geocoder/lookups/esri.rb
@@ -48,7 +48,7 @@ module Geocoder::Lookup
     end
 
     def token
-      fetch_and_save_token! if !valid_token_configured? and configuration.api_key
+      create_and_save_token! if !valid_token_configured? and configuration.api_key
       configuration[:token].to_s unless configuration[:token].nil?
     end
 
@@ -56,8 +56,15 @@ module Geocoder::Lookup
       !configuration[:token].nil? and configuration[:token].active?
     end
 
-    def fetch_and_save_token!
-      token_instance = Geocoder::EsriToken.generate_token(*configuration.api_key)
+    def create_and_save_token!
+      save_token!(create_token)
+    end
+
+    def create_token
+      Geocoder::EsriToken.generate_token(*configuration.api_key)
+    end
+
+    def save_token!(token_instance)
       Geocoder.configure(:esri => Geocoder.config[:esri].merge({:token => token_instance}))
     end
   end
-- 
GitLab