Class: MelissaData::WebSmart::Client
Constant Summary
ResponseProcessor::CODE_TYPES
Instance Method Summary
collapse
Methods included from Formatters
#viperize, #viperize_hash
#codes, #codes_for, #error_codes, #has_error_codes?, #process
Constructor Details
#initialize ⇒ Client
Returns a new instance of Client.
7
8
9
|
# File 'lib/melissa_data/web_smart/client.rb', line 7
def initialize
@client = MelissaData::WebSmart::PropertyAPI.new
end
|
Instance Method Details
#add_coordinates(response) ⇒ Object
32
33
34
35
36
37
38
39
40
|
# File 'lib/melissa_data/web_smart/client.rb', line 32
def add_coordinates(response)
addr = response[:property_address][:address]
city = response[:property_address][:city]
state = response[:property_address][:state]
zip = response[:property_address][:zip]
full_address = "#{addr}, #{city}, #{state}, #{zip}"
MelissaData::GeoLookup::Geocoder
.address_to_coordinates(full_address)
end
|
#address(address:, city:, state:, zip:, country: "USA") ⇒ Object
23
24
25
26
27
28
29
30
|
# File 'lib/melissa_data/web_smart/client.rb', line 23
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_key(address_key:) ⇒ Object
17
18
19
20
21
|
# File 'lib/melissa_data/web_smart/client.rb', line 17
def property_by_address_key(address_key:)
res = process(@client.property_by_address_key(address_key: address_key), 'property')
add_coordinates(res) unless MelissaData::GeoLookup::Geocoder.coordinates? res
res
end
|
#property_by_apn(fips:, apn:) ⇒ Object
11
12
13
14
15
|
# File 'lib/melissa_data/web_smart/client.rb', line 11
def property_by_apn(fips:, apn:)
res = process(@client.property_by_apn(fips: fips, apn: apn), 'property')
add_coordinates(res) unless MelissaData::GeoLookup::Geocoder.coordinates? res
res
end
|