class STRIKEIRON_ADDRESS_VERIFICATION::Address
Attributes
city[RW]
error[RW]
is_valid[RW]
open_timeout[RW]
password[RW]
record_type[RW]
request[RW]
response[RW]
state[RW]
status[RW]
status_msg[RW]
street_address[RW]
street_address_2[RW]
timeout[RW]
url[RW]
username[RW]
zip_code[RW]
Public Class Methods
new(args={})
click to toggle source
# File lib/strikeiron_address_verification/address.rb, line 9 def initialize(args={}) @username = STRIKEIRON_ADDRESS_VERIFICATION.username @password = STRIKEIRON_ADDRESS_VERIFICATION.password @url = STRIKEIRON_ADDRESS_VERIFICATION.url @timeout = STRIKEIRON_ADDRESS_VERIFICATION.timeout.to_i @open_timeout = STRIKEIRON_ADDRESS_VERIFICATION.open_timeout.to_i @street_address = @street_address_2 = @city = @state = @zip_code = @status = @status_msg = @request = @response = @record_type = @error = '' @is_valid = false @street_address = args[:street_address] if args[:street_address] @street_address_2 = args[:street_address_2] if args[:street_address_2] @city = args[:city] if args[:city] @state = args[:state] if args[:state] @zip_code = args[:zip_code] if args[:zip_code] process end
Private Instance Methods
fire_request()
click to toggle source
# File lib/strikeiron_address_verification/address.rb, line 41 def fire_request # open_timeout: amount of time to open connection # timeout: amount of time to wait for response @response = RestClient::Request.execute(:method => :post, :url => @url, :payload => prepare_payload, :headers => {}, :timeout => @timeout, :open_timeout => @open_timeout) end
is_address_valid?()
click to toggle source
# File lib/strikeiron_address_verification/address.rb, line 47 def is_address_valid? @status != '304' && @status != '402' end
prepare_payload()
click to toggle source
# File lib/strikeiron_address_verification/address.rb, line 51 def prepare_payload payload = {} payload[:'LicenseInfo.RegisteredUser.UserID'] = @username payload[:'LicenseInfo.RegisteredUser.Password'] = @password payload[:'NorthAmericanAddressVerification.AddressLine1'] = @street_address payload[:'NorthAmericanAddressVerification.AddressLine2'] = @street_address_2 payload[:'NorthAmericanAddressVerification.CityStateOrProvinceZIPOrPostalCode'] = "#{@city} #{@state} #{@zip_code}" payload[:'NorthAmericanAddressVerification.Country'] = 'US' payload[:'NorthAmericanAddressVerification.Casing'] = 'PROPER' payload end
process()
click to toggle source
# File lib/strikeiron_address_verification/address.rb, line 27 def process begin fire_request hashed_response = Crack::XML.parse(@response)['WebServiceResponse']['NorthAmericanAddressVerificationResponse']['NorthAmericanAddressVerificationResult'] @status = hashed_response['ServiceStatus']['StatusNbr'] @status_msg = hashed_response['ServiceStatus']['StatusDescription'] @is_valid = is_address_valid? @record_type = hashed_response['ServiceResult']['USAddress']['RecordType'] if hashed_response && hashed_response['ServiceResult'] && hashed_response['ServiceResult']['USAddress'] && hashed_response['ServiceResult']['USAddress']['RecordType'] rescue Exception => e @error = e.message end #puts "#{@status.class} #{is_address_valid?} - address: #{@street_address}" end