class AddressFinder::Verification
Attributes
Public Class Methods
Source
# File lib/addressfinder/verification.rb, line 23 def initialize(q:, http:, post_box: nil, census: nil, domain: nil, key: nil, secret: nil, state_codes: nil, delivered: nil, rural: nil, region_code: nil, country: nil) @params = {} # Common to AU and NZ @params["q"] = q @params["post_box"] = post_box if post_box @params["census"] = census if census @params["domain"] = domain || config.domain if domain || config.domain @params["key"] = key || config.api_key @params["secret"] = secret || config.api_secret # AU params @params["state_codes"] = state_codes if state_codes # NZ params @params["delivered"] = delivered if delivered @params["rural"] = rural if rural @params["region_code"] = region_code if region_code @country = country || config.default_country @params["format"] = "json" @http = http end
Combined attributes params –> the address query, params –> used for reporting does not affect query results params –> unique AddressFinder
public key params –> unique AddressFinder
secret key
Public Instance Methods
Source
# File lib/addressfinder/verification.rb, line 45 def perform build_request execute_request build_result self end
Private Instance Methods
Source
# File lib/addressfinder/verification.rb, line 59 def build_request @request_uri = "/api/#{country}/address/verification?#{encoded_params}" end
Source
# File lib/addressfinder/verification.rb, line 70 def build_result raise AddressFinder::RequestRejectedError.new(@response_status, @response_body) if response_status != "200" self.result = if response_hash["matched"] Result.new(response_hash["address"] || response_hash) end end
Source
# File lib/addressfinder/verification.rb, line 86 def config @_config ||= AddressFinder.configuration end
Source
# File lib/addressfinder/verification.rb, line 78 def encoded_params Util.encode_and_join_params(params) end
Source
# File lib/addressfinder/verification.rb, line 63 def execute_request response = http.request(request_uri) self.response_body = response.body self.response_status = response.code end
Source
# File lib/addressfinder/verification.rb, line 82 def response_hash @_response_hash ||= MultiJson.load(response_body) end