module Postcodes::ReverseGeocode

Public Instance Methods

reverse_geocode(longitude:, latitude:, limit: 10, radius: 100, wide_search: false) click to toggle source
# File lib/postcodes_io/reverse_geocode.rb, line 7
def reverse_geocode(longitude:, latitude:, limit: 10, radius: 100, wide_search: false)
  response = Excon.get(
    "https://api.postcodes.io/postcodes?lon=#{longitude}&lat=#{latitude}&limit=#{limit}&radius=#{radius}&wideSearch=#{wide_search}")
  return unless response.status == 200

  json = JSON.parse(response.body)
  return unless json['result']

  json['result'].map do |result|
    Postcode.new(result)
  end
end