Skip to content
Snippets Groups Projects
Commit 46571560 authored by Alex Reisner's avatar Alex Reisner
Browse files

Don't define latitude and longitude in results.

The #latitude and #longitude methods are defined in the Base lookup. The
intention is that subclasses implement #coordinates only, as it results
in less code duplication.
parent 917ae737
No related branches found
No related tags found
No related merge requests found
...@@ -9,15 +9,9 @@ module Geocoder ...@@ -9,15 +9,9 @@ module Geocoder
end end
def coordinates def coordinates
[latitude, longitude] %w[latitude longitude].map do |l|
end data.fetch('location', {}).fetch(l, 0.0)
end
def latitude
data.fetch('location', {}).fetch('latitude', 0.0)
end
def longitude
data.fetch('location', {}).fetch('longitude', 0.0)
end end
def city def city
......
...@@ -3,14 +3,6 @@ require 'geocoder/results/base' ...@@ -3,14 +3,6 @@ require 'geocoder/results/base'
module Geocoder::Result module Geocoder::Result
class IpapiCom < Base class IpapiCom < Base
def latitude
lat
end
def longitude
lon
end
def coordinates def coordinates
[lat, lon] [lat, lon]
end end
......
...@@ -7,16 +7,8 @@ module Geocoder::Result ...@@ -7,16 +7,8 @@ module Geocoder::Result
"#{city} #{postal_code}, #{country}".sub(/^[ ,]*/, "") "#{city} #{postal_code}, #{country}".sub(/^[ ,]*/, "")
end end
def latitude
@data['loc'].split(',')[0].to_f
end
def longitude
@data['loc'].split(',')[1].to_f
end
def coordinates def coordinates
[latitude, longitude] @data['loc'].split(",").map(&:to_f)
end end
def city def city
......
...@@ -3,16 +3,8 @@ require 'geocoder/results/base' ...@@ -3,16 +3,8 @@ require 'geocoder/results/base'
module Geocoder::Result module Geocoder::Result
class Mapbox < Base 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 def coordinates
[latitude, longitude] @data["geometry"]["coordinates"].reverse.map(&:to_f)
end end
def place_name def place_name
......
...@@ -2,16 +2,9 @@ require 'geocoder/results/base' ...@@ -2,16 +2,9 @@ require 'geocoder/results/base'
module Geocoder::Result module Geocoder::Result
class Mapquest < Base class Mapquest < Base
def latitude
@data["latLng"]["lat"]
end
def longitude
@data["latLng"]["lng"]
end
def coordinates def coordinates
[latitude, longitude] %w[lat lng].map{ |l| @data["latLng"][l] }
end end
def city def city
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment