class MelissaData::WebSmart::Client
Public Class Methods
new()
click to toggle source
# File lib/melissa_data/web_smart/client.rb, line 7 def initialize @client = MelissaData::WebSmart::PropertyAPI.new end
Public Instance Methods
add_coordinates(response)
click to toggle source
# File lib/melissa_data/web_smart/client.rb, line 45 def add_coordinates(response) addr = response.dig(:property_address, :address) city = response.dig(:property_address, :city) state = response.dig(:property_address, :state) zip = response.dig(:property_address, :zip) if addr && city && state && zip full_address = "#{addr}, #{city}, #{state}, #{zip}" MelissaData::GeoLookup::Geocoder.address_to_coordinates(full_address) end end
address(address:, city:, state:, zip:, country: "USA")
click to toggle source
# File lib/melissa_data/web_smart/client.rb, line 36 def address(address:, city:, state:, zip:, country: "USA") resp = viperize_hash(@client.address(address: address, city: city, state: state, zip: zip, country: country)) process(resp, 'address') end
property_by_address(address:)
click to toggle source
# File lib/melissa_data/web_smart/client.rb, line 31 def property_by_address(address:) @response = process(@client.property_by_address(address: address), 'property') resolve_response end
property_by_address_key(address_key:)
click to toggle source
# File lib/melissa_data/web_smart/client.rb, line 16 def property_by_address_key(address_key:) @response = process(@client.property_by_address_key(address_key: address_key), 'property') resolve_response end
property_by_apn(fips:, apn:)
click to toggle source
# File lib/melissa_data/web_smart/client.rb, line 11 def property_by_apn(fips:, apn:) @response = process(@client.property_by_apn(fips: fips, apn: apn), 'property') resolve_response end
resolve_response()
click to toggle source
# File lib/melissa_data/web_smart/client.rb, line 25 def resolve_response return @response unless success? add_coordinates(@response[:records].first) unless MelissaData::GeoLookup::Geocoder.coordinates? @response[:records].first @response end
success?()
click to toggle source
# File lib/melissa_data/web_smart/client.rb, line 21 def success? !@response.key?(:errors) end