From eafa579e06a8ab4820f0e629d4a63cece2f664f2 Mon Sep 17 00:00:00 2001 From: Alex Reisner <alex@alexreisner.com> Date: Fri, 1 Apr 2011 10:21:33 -0400 Subject: [PATCH] Deprecate old distance_to/from argument format. --- lib/geocoder/orms/base.rb | 3 +++ test/geocoder_test.rb | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/geocoder/orms/base.rb b/lib/geocoder/orms/base.rb index 8b94b30e..f7cd9e33 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 16ccee5d..b45c7e2a 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 -- GitLab