У меня есть простая настройка модели в моем приложении Ruby on Rails. (Пользователь {name, username, lat, lon}) и пишу базовое расширение модели. Я хотел бы, чтобы метод возвращал пользователей на определенном расстоянии. Все это прекрасно работает в режиме просмотра страницы, но, поскольку я отлаживаюсь, я хотел бы пройти через некоторое тестирование, используя скрипт / консоль.
Мой вопрос: кажется, что выводится на экран весь набор результатов, когда я запускаю его из командной строки и скрипта / консоли.
Моя модель:
class User < ActiveRecord::Base
def distance_from(aLat, aLon)
Math.sqrt((69.1*(aLat - self.lat))**2 + (49*(aLon - self.lon))**2 )
end
def distance_from_user(aUser)
distance_from(aUser.lat, aUser.lon)
end
def users_within(distance)
close_users = []
users = User.find(:all)
users.each do |u|
close_users << u if u.distance_from_user(self) < distance
end
return close_users
end
end
и из командной строки я запускаю
>> u = User.find_by_username("someuser")
>> print u.users_within(1)
Итак, я думаю, мне хотелось бы знать, почему он печатает весь набор результатов, и если есть способ подавить его, чтобы печатать только то, что я хочу?