Module: Postcodes::ReverseGeocode

Included in:
IO
Defined in:
lib/postcodes_io/reverse_geocode.rb

Instance Method Summary collapse

Instance Method Details

#reverse_geocode(longitude:, latitude:, limit: 10, radius: 100, wide_search: false) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# 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