Class: AddressValidator::Response

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/address_validator/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_response) ⇒ Response

Returns a new instance of Response.



10
11
12
# File 'lib/address_validator/response.rb', line 10

def initialize(api_response)
  @api_response = api_response
end

Instance Attribute Details

#api_responseObject (readonly)

Returns the value of attribute api_response.



7
8
9
# File 'lib/address_validator/response.rb', line 7

def api_response
  @api_response
end

Instance Method Details

#addressObject



43
44
45
# File 'lib/address_validator/response.rb', line 43

def address
  AddressValidator::Address.from_xml(response['AddressKeyFormat'])
end

#ambiguous?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/address_validator/response.rb', line 35

def ambiguous?
  response.has_key?('AmbiguousAddressIndicator')
end

#errorObject



26
27
28
29
# File 'lib/address_validator/response.rb', line 26

def error
  _error_container = response['Response']['Error']
  _error_container && _error_container['ErrorDescription']
end

#no_canidates?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/address_validator/response.rb', line 39

def no_canidates?
  response.has_key?('NoCandidatesIndicator')
end

#ok?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/address_validator/response.rb', line 14

def ok?
  @api_response.ok?
end

#responseObject



22
23
24
# File 'lib/address_validator/response.rb', line 22

def response
  @response ||= self['AddressValidationResponse']
end

#success?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/address_validator/response.rb', line 18

def success?
  ok? && response['Response']['ResponseStatusCode'] == '1'
end

#valid?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/address_validator/response.rb', line 31

def valid?
  response.has_key?('ValidAddressIndicator')
end