class MiamiDadeGeo::AddrXyClient

Singleton SOAP client for converting an address to NAD 83 x-y coordinates. Makes one SOAP request for WSDL on first instantiation.

@api private

Constants

WSDL_URL

URL to AddrXy service WSDL

Public Instance Methods

savon() click to toggle source

Returns a Savon SOAP client instance

@return [Savon::Client]

# File lib/miami_dade_geo/addr_xy_client.rb, line 30
def savon
  @savon ||= Savon.client(wsdl: WSDL_URL)
end
xy_for_address(address) click to toggle source
# File lib/miami_dade_geo/addr_xy_client.rb, line 15
def xy_for_address(address)
  body = savon.
         call(:xy_address, message: { myAddress: address}).
         body

  if body[:xy_address_response][:xy_address_result][:count] == '0'
    raise MiamiDadeGeo::InvalidAddressError
  end

  body[:xy_address_response][:xy_address_result][:xy][:arr_xy]
end