Commit 0abd1add362f9e11098ad6b649ca2fc5bebde841

Authored by Luke Baker
2 parents e51bfcc8 792627d4

Merge branch 'ruby-1.9.3-upgrade'

app/controllers/choices_controller.rb
@@ -45,7 +45,7 @@ class ChoicesController < InheritedResources::Base @@ -45,7 +45,7 @@ class ChoicesController < InheritedResources::Base
45 45
46 visitor = current_user.default_visitor 46 visitor = current_user.default_visitor
47 if visitor_identifier 47 if visitor_identifier
48 - visitor = current_user.visitors.find_or_create_by_identifier(visitor_identifier) 48 + visitor = Visitor.find_or_create_by_identifier_and_site_id(visitor_identifier, current_user.id)
49 end 49 end
50 params[:choice].merge!(:creator => visitor) 50 params[:choice].merge!(:creator => visitor)
51 51
@@ -68,7 +68,7 @@ class ChoicesController < InheritedResources::Base @@ -68,7 +68,7 @@ class ChoicesController < InheritedResources::Base
68 68
69 end 69 end
70 if visitor_identifier = params[:visitor_identifier] 70 if visitor_identifier = params[:visitor_identifier]
71 - visitor = current_user.visitors.find_or_create_by_identifier(visitor_identifier) 71 + visitor = Visitor.find_or_create_by_identifier_and_site_id(visitor_identifier, current_user.id)
72 flag_params.merge!({:visitor_id => visitor.id}) 72 flag_params.merge!({:visitor_id => visitor.id})
73 end 73 end
74 respond_to do |format| 74 respond_to do |format|
app/models/question.rb
@@ -183,7 +183,7 @@ class Question < ActiveRecord::Base @@ -183,7 +183,7 @@ class Question < ActiveRecord::Base
183 if params[:with_prompt] 183 if params[:with_prompt]
184 184
185 if params[:with_appearance] && visitor_identifier.present? 185 if params[:with_appearance] && visitor_identifier.present?
186 - visitor = current_user.visitors.find_or_create_by_identifier(visitor_identifier) 186 + visitor = Visitor.find_or_create_by_identifier_and_site_id(visitor_identifier, current_user.id)
187 187
188 last_appearance = get_first_unanswered_appearance(visitor) 188 last_appearance = get_first_unanswered_appearance(visitor)
189 189
@@ -237,7 +237,7 @@ class Question < ActiveRecord::Base @@ -237,7 +237,7 @@ class Question < ActiveRecord::Base
237 end 237 end
238 238
239 if params[:with_visitor_stats] 239 if params[:with_visitor_stats]
240 - visitor = current_user.visitors.find_or_create_by_identifier(visitor_identifier) 240 + visitor = Visitor.find_or_create_by_identifier_and_site_id(visitor_identifier, current_user.id)
241 result.merge!(:visitor_votes => Vote.find_without_default_scope(:all, :conditions => {:voter_id => visitor, :question_id => self.id}).length) 241 result.merge!(:visitor_votes => Vote.find_without_default_scope(:all, :conditions => {:voter_id => visitor, :question_id => self.id}).length)
242 result.merge!(:visitor_ideas => visitor.choices.count) 242 result.merge!(:visitor_ideas => visitor.choices.count)
243 end 243 end
app/models/user.rb
@@ -10,12 +10,12 @@ class User < ActiveRecord::Base @@ -10,12 +10,12 @@ class User < ActiveRecord::Base
10 10
11 def create_question(visitor_identifier, question_params) 11 def create_question(visitor_identifier, question_params)
12 logger.info "the question_params are #{question_params.inspect}" 12 logger.info "the question_params are #{question_params.inspect}"
13 - visitor = visitors.find_or_create_by_identifier(visitor_identifier) 13 + visitor = Visitor.find_or_create_by_identifier_and_site_id(visitor_identifier, self.id)
14 question = visitor.questions.create(question_params.merge(:site => self)) 14 question = visitor.questions.create(question_params.merge(:site => self))
15 end 15 end
16 16
17 def create_choice(visitor_identifier, question, choice_params = {}) 17 def create_choice(visitor_identifier, question, choice_params = {})
18 - visitor = visitors.find_or_create_by_identifier(visitor_identifier) 18 + visitor = Visitor.find_or_create_by_identifier_and_site_id(visitor_identifier, self.id)
19 raise "Question not found" if question.nil? 19 raise "Question not found" if question.nil?
20 20
21 #TODO Does this serve a purpose? 21 #TODO Does this serve a purpose?
@@ -35,7 +35,7 @@ class User < ActiveRecord::Base @@ -35,7 +35,7 @@ class User < ActiveRecord::Base
35 if visitor_identifier.nil? 35 if visitor_identifier.nil?
36 visitor = default_visitor 36 visitor = default_visitor
37 else 37 else
38 - visitor = visitors.find_or_create_by_identifier(visitor_identifier) 38 + visitor = Visitor.find_or_create_by_identifier_and_site_id(visitor_identifier, self.id)
39 end 39 end
40 visitor.vote_for!(options) 40 visitor.vote_for!(options)
41 end 41 end
@@ -50,7 +50,7 @@ class User < ActiveRecord::Base @@ -50,7 +50,7 @@ class User < ActiveRecord::Base
50 if visitor_identifier.nil? 50 if visitor_identifier.nil?
51 visitor = default_visitor 51 visitor = default_visitor
52 else 52 else
53 - visitor = visitors.find_or_create_by_identifier(visitor_identifier) 53 + visitor = Visitor.find_or_create_by_identifier_and_site_id(visitor_identifier, self.id)
54 end 54 end
55 visitor.skip!(options) 55 visitor.skip!(options)
56 end 56 end
spec/controllers/choices_controller_spec.rb
@@ -69,9 +69,7 @@ describe ChoicesController do @@ -69,9 +69,7 @@ describe ChoicesController do
69 69
70 it "adds visitor_id params to flag if sent" do 70 it "adds visitor_id params to flag if sent" do
71 @visitor_identifier = "somelongunique32charstring" 71 @visitor_identifier = "somelongunique32charstring"
72 - visitor_list = [mock_visitor]  
73 - @user.stub!(:visitors).and_return(visitor_list)  
74 - visitor_list.should_receive(:find_or_create_by_identifier).with(@visitor_identifier).and_return(mock_visitor) 72 + Visitor.should_receive(:find_or_create_by_identifier_and_site_id).with(@visitor_identifier, @user.id).and_return(mock_visitor)
75 73
76 Flag.should_receive(:create!).with({:choice_id => 123, :question_id => 37, :site_id => @user.id, :explanation => "This is offensive", :visitor_id => mock_visitor.id}) 74 Flag.should_receive(:create!).with({:choice_id => 123, :question_id => 37, :site_id => @user.id, :explanation => "This is offensive", :visitor_id => mock_visitor.id})
77 75