mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-10-25 00:08:25 -04:00
Find nearby members back-end (hardcoded to 100mi).
This commit is contained in:
1 parent
7120b16f46
commit
afa5b7a72f
4 files changed
+29
-4
No files matched your search
@@ -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
|
||||
|
||||
@@ -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 }
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user