class Geocoder::Lookup::SmartyStreets
def name
def name "SmartyStreets" end
def query_url(query)
def query_url(query) if zipcode_only?(query) "#{protocol}://us-zipcode.api.smartystreets.com/lookup?#{url_query_string(query)}" else "#{protocol}://api.smartystreets.com/street-address?#{url_query_string(query)}" end end
def query_url_params(query)
def query_url_params(query) params = {} if zipcode_only?(query) params[:zipcode] = query.sanitized_text else params[:street] = query.sanitized_text end if configuration.api_key.is_a?(Array) params[:"auth-id"] = configuration.api_key[0] params[:"auth-token"] = configuration.api_key[1] else params[:"auth-token"] = configuration.api_key end params.merge(super) end
def required_api_key_parts
def required_api_key_parts %w(auti-id auth-token) end
def results(query)
def results(query) fetch_data(query) || [] end
def supported_protocols
def supported_protocols [:https] end
def zipcode_only?(query)
def zipcode_only?(query) !query.text.is_a?(Array) and query.to_s.strip =~ /\A\d{5}(-\d{4})?\Z/ end