Find nearby members back-end (hardcoded to 100mi).

This commit is contained in:
Miles Gould committed 2013-03-29 16:03:00 +00:00
1 parent 7120b16f46
commit afa5b7a72f
4 files changed
+29 -4

No files matched your search

+3
View File
@@ -69,7 +69,10 @@ gem 'friendly_id'
# gravatars
gem 'gravatar-ultimate'
# For geolocation
gem 'geocoder'
# For easy calendar selection
gem 'bootstrap-datepicker-rails'
# for phusion passenger (i.e. mod_rails) on the server
+2 -1
View File
@@ -27,7 +27,8 @@ class MembersController < ApplicationController
def nearby
@location = params[:location] || current_member.location
@nearby_members = [current_member]
@distance = 100
@nearby_members = Member.near(@location, @distance)
respond_to do |format|
format.html # nearby.html.haml
format.json { render json: @nearby_members }
+16 -2
View File
@@ -58,10 +58,24 @@ describe MembersController do
end
describe "GET nearby members" do
it "assigns the current member as nearby" do
before(:each) do
@member = FactoryGirl.create(:geolocated_member)
@member_near = FactoryGirl.create(:geolocated_member)
@member_far = FactoryGirl.create(:lonely_geolocated_member)
controller.stub(:current_member) { @member }
get :nearby, {:id => @member.id}
assigns(:nearby_members).should == [@member]
end
it "assigns the current member as nearby" do
assigns(:nearby_members).should include @member
end
it "assigns nearby members as nearby" do
assigns(:nearby_members).should include @member_near
end
it "doesn't assign far-off members as nearby" do
assigns(:nearby_members).should_not include @member_far
end
end
+8 -1
View File
@@ -25,13 +25,20 @@ FactoryGirl.define do
end
factory :geolocated_member do
login_name 'JohnH' # for the astronomer who figured out longitude
sequence(:login_name) { |n| "JohnH#{n}" } # for the astronomer who figured out longitude
location 'Greenwich, UK'
# including lat/long explicitly because geocoder doesn't work with FG
latitude 51.483
longitude 0.004
end
factory :lonely_geolocated_member do
sequence(:login_name) { |n| "ScottRF#{n}" }
location 'Amundsen-Scott Base, Antarctica'
latitude -90
longitude 0
end
factory :admin_member do
roles { [ FactoryGirl.create(:admin) ] }
end