lib/geocoder/results/nominatim.rb in geocoder-1.7.2 vs lib/geocoder/results/nominatim.rb in geocoder-1.7.3
- old
+ new
@@ -2,87 +2,89 @@
module Geocoder::Result
class Nominatim < Base
def poi
- return @data['address'][place_type] if @data['address'].key?(place_type)
+ return address_data[place_type] if address_data.key?(place_type)
return nil
end
def house_number
- @data['address']['house_number']
+ address_data['house_number']
end
def address
@data['display_name']
end
def street
%w[road pedestrian highway].each do |key|
- return @data['address'][key] if @data['address'].key?(key)
+ return address_data[key] if address_data.key?(key)
end
return nil
end
def city
%w[city town village hamlet].each do |key|
- return @data['address'][key] if @data['address'].key?(key)
+ return address_data[key] if address_data.key?(key)
end
return nil
end
def village
- @data['address']['village']
+ address_data['village']
end
def town
- @data['address']['town']
+ address_data['town']
end
def state
- @data['address']['state']
+ address_data['state']
end
alias_method :state_code, :state
def postal_code
- @data['address']['postcode']
+ address_data['postcode']
end
def county
- @data['address']['county']
+ address_data['county']
end
def country
- @data['address']['country']
+ address_data['country']
end
def country_code
- @data['address']['country_code']
+ address_data['country_code']
end
def suburb
- @data['address']['suburb']
+ address_data['suburb']
end
def city_district
- @data['address']['city_district']
+ address_data['city_district']
end
def state_district
- @data['address']['state_district']
+ address_data['state_district']
end
def neighbourhood
- @data['address']['neighbourhood']
+ address_data['neighbourhood']
end
def municipality
- @data['address']['municipality']
+ address_data['municipality']
end
def coordinates
+ return [] unless @data['lat'] && @data['lon']
+
[@data['lat'].to_f, @data['lon'].to_f]
end
def place_class
@data['class']
@@ -106,8 +108,14 @@
unless method_defined?(a)
define_method a do
@data[a]
end
end
+ end
+
+ private
+
+ def address_data
+ @data['address'] || {}
end
end
end