From 2707ecae94af496bd81446679a7247bce928834c Mon Sep 17 00:00:00 2001 From: Alex Reisner <alex@alexreisner.com> Date: Thu, 23 Jun 2011 23:31:42 -0400 Subject: [PATCH] Return zero results when no valid coords given. Fixes issue #75 (ActiveRecord) and more (Mongoid). --- lib/geocoder/stores/active_record.rb | 2 +- lib/geocoder/stores/mongoid.rb | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/geocoder/stores/active_record.rb b/lib/geocoder/stores/active_record.rb index d7a37cee..fb0b478b 100644 --- a/lib/geocoder/stores/active_record.rb +++ b/lib/geocoder/stores/active_record.rb @@ -36,7 +36,7 @@ module Geocoder::Store if latitude and longitude near_scope_options(latitude, longitude, *args) else - {} + where(:id => false) # no results if no lat/lon given end } end diff --git a/lib/geocoder/stores/mongoid.rb b/lib/geocoder/stores/mongoid.rb index dbd4ee68..cf06817b 100644 --- a/lib/geocoder/stores/mongoid.rb +++ b/lib/geocoder/stores/mongoid.rb @@ -17,6 +17,10 @@ module Geocoder::Store scope :near, lambda{ |location, *args| coords = Geocoder::Calculations.extract_coordinates(location) + + # no results if no lat/lon given + return criteria.where(:id => false) unless coords.is_a?(Array) + radius = args.size > 0 ? args.shift : 20 options = args.size > 0 ? args.shift : {} -- GitLab