lib/geocoder/lookups/melissa_street.rb
require 'geocoder/lookups/base' require "geocoder/results/melissa_street" module Geocoder::Lookup class MelissaStreet < Base def name "MelissaStreet" end def results(query) return [] unless doc = fetch_data(query) if doc["TransmissionResults"] == "GE05" raise_error(Geocoder::InvalidApiKey) || Geocoder.log(:warn, "Melissa service error: invalid API key.") end return doc["Records"] end private # --------------------------------------------------------------- def base_query_url(query) "#{protocol}://address.melissadata.net/v3/WEB/GlobalAddress/doGlobalAddress?" end def query_url_params(query) params = { id: configuration.api_key, format: "JSON", a1: query.sanitized_text, loc: query.options[:city], admarea: query.options[:state], postal: query.options[:postal], ctry: query.options[:country] } params.merge(super) end end end