class PostcodeValidation::Gateway::PCAPotentialAddressMatch
Constants
- KEY
Public Instance Methods
query(search_term:, country:)
click to toggle source
# File lib/postcode_validation/gateway/pca_potential_address_match.rb, line 11 def query(search_term:, country:) response = find_postcode(country, search_term) response.map do |row| raise PCARequestError, error_message(row) if row.key?('Error') PostcodeValidation::Domain::PotentialAddressMatch.new(text: row['Text'], description: row['Description']) end end
Private Instance Methods
error_message(row)
click to toggle source
# File lib/postcode_validation/gateway/pca_potential_address_match.rb, line 24 def error_message(row) "#{row['Error']} #{row['Cause']} #{row['Resolution']}" end
find_postcode(country, search_term)
click to toggle source
# File lib/postcode_validation/gateway/pca_potential_address_match.rb, line 28 def find_postcode(country, search_term) JSON.parse(self.class.get('/Capture/Interactive/Find/v1.00/json.ws', lookup_parameters(country, search_term)).body) end
lookup_parameters(country, search_term)
click to toggle source
# File lib/postcode_validation/gateway/pca_potential_address_match.rb, line 32 def lookup_parameters(country, search_term) { query: { Key: KEY, Countries: country, Text: search_term } } end