diff --git a/lib/geocoder/results/geoip2.rb b/lib/geocoder/results/geoip2.rb index cda8cd507a7b2c29f0549bf97c5942115f05f180..96721ad5c211b0cb0c0eb111718eb38a0058f8d3 100644 --- a/lib/geocoder/results/geoip2.rb +++ b/lib/geocoder/results/geoip2.rb @@ -9,15 +9,9 @@ module Geocoder end def coordinates - [latitude, longitude] - end - - def latitude - data.fetch('location', {}).fetch('latitude', 0.0) - end - - def longitude - data.fetch('location', {}).fetch('longitude', 0.0) + %w[latitude longitude].map do |l| + data.fetch('location', {}).fetch(l, 0.0) + end end def city diff --git a/lib/geocoder/results/ipapi_com.rb b/lib/geocoder/results/ipapi_com.rb index 0ac3264868646879ca937306a2db67651472e764..4e58f8e739e2a96e728927e984b4cc098ca8b76e 100644 --- a/lib/geocoder/results/ipapi_com.rb +++ b/lib/geocoder/results/ipapi_com.rb @@ -3,14 +3,6 @@ require 'geocoder/results/base' module Geocoder::Result class IpapiCom < Base - def latitude - lat - end - - def longitude - lon - end - def coordinates [lat, lon] end diff --git a/lib/geocoder/results/ipinfo_io.rb b/lib/geocoder/results/ipinfo_io.rb index da99d8dc56b437270f4dd1a0065501926a17989f..e588fa8e8caddffddc117d7f9b995fc22945fe74 100644 --- a/lib/geocoder/results/ipinfo_io.rb +++ b/lib/geocoder/results/ipinfo_io.rb @@ -7,16 +7,8 @@ module Geocoder::Result "#{city} #{postal_code}, #{country}".sub(/^[ ,]*/, "") end - def latitude - @data['loc'].split(',')[0].to_f - end - - def longitude - @data['loc'].split(',')[1].to_f - end - def coordinates - [latitude, longitude] + @data['loc'].split(",").map(&:to_f) end def city diff --git a/lib/geocoder/results/mapbox.rb b/lib/geocoder/results/mapbox.rb index 9142e1903668181928b854ccf79ab0a3bd2130fb..f789d325ba6ffea836b0e38f6fd46ab78c7b777c 100644 --- a/lib/geocoder/results/mapbox.rb +++ b/lib/geocoder/results/mapbox.rb @@ -3,16 +3,8 @@ require 'geocoder/results/base' module Geocoder::Result class Mapbox < Base - def latitude - @latitude ||= @data["geometry"]["coordinates"].last.to_f - end - - def longitude - @longitude ||= @data["geometry"]["coordinates"].first.to_f - end - def coordinates - [latitude, longitude] + @data["geometry"]["coordinates"].reverse.map(&:to_f) end def place_name diff --git a/lib/geocoder/results/mapquest.rb b/lib/geocoder/results/mapquest.rb index 4f405e6e436547f54e75ec9af90e012893c428b9..2a92d4f309df613d24bf221d81aac968d88f5195 100644 --- a/lib/geocoder/results/mapquest.rb +++ b/lib/geocoder/results/mapquest.rb @@ -2,16 +2,9 @@ require 'geocoder/results/base' module Geocoder::Result class Mapquest < Base - def latitude - @data["latLng"]["lat"] - end - - def longitude - @data["latLng"]["lng"] - end def coordinates - [latitude, longitude] + %w[lat lng].map{ |l| @data["latLng"][l] } end def city