From 6e0c6c8375e9786f30912119a64e83274018aff9 Mon Sep 17 00:00:00 2001 From: Damien White Date: Mon, 23 Mar 2020 16:49:40 -0400 Subject: [PATCH] Added preferredLabelValues param for ESRI See https://developers.arcgis.com/rest/geocode/api-reference/geocoding-find-address-candidates.htm for more information --- lib/geocoder/lookups/esri.rb | 2 ++ test/unit/lookups/esri_test.rb | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/lib/geocoder/lookups/esri.rb b/lib/geocoder/lookups/esri.rb index 6f6cf0eb8..e80ba5437 100644 --- a/lib/geocoder/lookups/esri.rb +++ b/lib/geocoder/lookups/esri.rb @@ -47,6 +47,8 @@ def query_url_params(query) params[:forStorage] = for_storage_value end params[:sourceCountry] = configuration[:source_country] if configuration[:source_country] + params[:preferredLabelValues] = configuration[:preferred_label_values] if configuration[:preferred_label_values] + params.merge(super) end diff --git a/test/unit/lookups/esri_test.rb b/test/unit/lookups/esri_test.rb index 4329276d4..7d76457d2 100644 --- a/test/unit/lookups/esri_test.rb +++ b/test/unit/lookups/esri_test.rb @@ -24,6 +24,14 @@ def test_query_for_geocode_with_source_country assert_match %r{sourceCountry=USA}, url end + def test_query_for_geocode_with_preferred_label_values + Geocoder.configure(esri: {preferred_label_values: 'localCity'}) + query = Geocoder::Query.new("Bluffton, SC") + lookup = Geocoder::Lookup.get(:esri) + url = lookup.query_url(query) + assert_match %r{preferredLabelValues=localCity}, url + end + def test_query_for_geocode_with_token_and_for_storage token = Geocoder::EsriToken.new('xxxxx', Time.now + 60*60*24) Geocoder.configure(esri: {token: token, for_storage: true})