diff --git a/lib/geocoder/orms/base.rb b/lib/geocoder/orms/base.rb index 8b94b30ea433312ef58dfa3d1a2fdc029de13f8f..f7cd9e33fd59efea1d6bcdda992a0cf4ce33b454 100644 --- a/lib/geocoder/orms/base.rb +++ b/lib/geocoder/orms/base.rb @@ -28,6 +28,9 @@ module Geocoder # Also takes a symbol specifying the units (:mi or :km; default is :mi). # def distance_to(point, *args) + if point.is_a?(Numeric) and args[0].is_a?(Numeric) + warn "DEPRECATION WARNING: Instead of passing latitude/longitude as separate arguments to the distance_to/from method, please pass an array [#{point},#{args[0]}], a geocoded object, or a geocodable address (string). The old argument format will not be supported in Geocoder v.1.0." + end return nil unless geocoded? units = args.last.is_a?(Symbol) ? args.pop : :mi them = args.size > 0 ? [point, args.first] : diff --git a/test/geocoder_test.rb b/test/geocoder_test.rb index 16ccee5dccc341e18def9427ca13ae53aae542e8..b45c7e2afbf4f83feded90261522445fb97ad87d 100644 --- a/test/geocoder_test.rb +++ b/test/geocoder_test.rb @@ -34,13 +34,13 @@ class GeocoderTest < Test::Unit::TestCase def test_distance_to_returns_float v = Venue.new(*venue_params(:msg)) v.latitude, v.longitude = [40.750354, -73.993371] - assert (d = v.distance_to(30, -94)).is_a?(Float) + assert (d = v.distance_to([30, -94])).is_a?(Float) end def test_distance_from_is_alias_for_distance_to v = Venue.new(*venue_params(:msg)) v.latitude, v.longitude = [40.750354, -73.993371] - assert_equal v.distance_from(30, -94), v.distance_to(30, -94) + assert_equal v.distance_from([30, -94]), v.distance_to([30, -94]) end def test_coordinates_method