class DefraRuby::Address::OsPlacesAddressLookupService
Constants
- OS_PLACES_ADDRESS_LOOKUP_NO_MATCH_ERROR_MSG
Attributes
postcode[R]
Public Instance Methods
run(postcode)
click to toggle source
# File lib/defra_ruby/address/services/os_places_address_lookup_service.rb, line 7 def run(postcode) @postcode = postcode Response.new(response_exe) end
Private Instance Methods
process_error(error)
click to toggle source
# File lib/defra_ruby/address/services/os_places_address_lookup_service.rb, line 40 def process_error(error) if JSON.parse(error.response)["error"]["message"] == OS_PLACES_ADDRESS_LOOKUP_NO_MATCH_ERROR_MSG error = NoMatchError.new end rescue StandardError error ensure error end
response_exe()
click to toggle source
# File lib/defra_ruby/address/services/os_places_address_lookup_service.rb, line 25 def response_exe lambda do begin response = RestClient::Request.execute( method: :get, url: url, timeout: DefraRuby::Address.configuration.timeout ) JSON.parse(response) rescue RestClient::BadRequest => e raise process_error(e) end end end
url()
click to toggle source
# File lib/defra_ruby/address/services/os_places_address_lookup_service.rb, line 18 def url File.join( DefraRuby::Address.configuration.host, "/addresses?postcode=#{postcode}" ) end