module Postcodes::Autocomplete

Public Instance Methods

autocomplete(postcode) click to toggle source
# File lib/postcodes_io/autocomplete.rb, line 8
def autocomplete(postcode)
  autocomplete_postcode postcode
end

Private Instance Methods

autocomplete_postcode(postcode) click to toggle source
# File lib/postcodes_io/autocomplete.rb, line 14
def autocomplete_postcode(postcode)
  postcode = remove_whitespace postcode
  response = Excon.get("https://api.postcodes.io/postcodes/#{postcode}/autocomplete")

  unless response.status == 404
    parsed_response = JSON.parse(response.body)
    return Postcodes::AutocompleteList.new(parsed_response['result'])
  end
  return nil
end
process_response(response) { |parse| ... } click to toggle source
# File lib/postcodes_io/autocomplete.rb, line 29
def process_response(response, &block)
  unless response.status == 404
    yield JSON.parse(response.body)
  end
  nil
end
remove_whitespace(string) click to toggle source
# File lib/postcodes_io/autocomplete.rb, line 25
def remove_whitespace(string)
  string.gsub(/\s+/, '')
end