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 45  
46 46 visitor = current_user.default_visitor
47 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 49 end
50 50 params[:choice].merge!(:creator => visitor)
51 51  
... ... @@ -68,7 +68,7 @@ class ChoicesController < InheritedResources::Base
68 68  
69 69 end
70 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 72 flag_params.merge!({:visitor_id => visitor.id})
73 73 end
74 74 respond_to do |format|
... ...
app/models/question.rb
... ... @@ -183,7 +183,7 @@ class Question < ActiveRecord::Base
183 183 if params[:with_prompt]
184 184  
185 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 188 last_appearance = get_first_unanswered_appearance(visitor)
189 189  
... ... @@ -237,7 +237,7 @@ class Question < ActiveRecord::Base
237 237 end
238 238  
239 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 241 result.merge!(:visitor_votes => Vote.find_without_default_scope(:all, :conditions => {:voter_id => visitor, :question_id => self.id}).length)
242 242 result.merge!(:visitor_ideas => visitor.choices.count)
243 243 end
... ...
app/models/user.rb
... ... @@ -10,12 +10,12 @@ class User < ActiveRecord::Base
10 10  
11 11 def create_question(visitor_identifier, question_params)
12 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 14 question = visitor.questions.create(question_params.merge(:site => self))
15 15 end
16 16  
17 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 19 raise "Question not found" if question.nil?
20 20  
21 21 #TODO Does this serve a purpose?
... ... @@ -35,7 +35,7 @@ class User < ActiveRecord::Base
35 35 if visitor_identifier.nil?
36 36 visitor = default_visitor
37 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 39 end
40 40 visitor.vote_for!(options)
41 41 end
... ... @@ -50,7 +50,7 @@ class User < ActiveRecord::Base
50 50 if visitor_identifier.nil?
51 51 visitor = default_visitor
52 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 54 end
55 55 visitor.skip!(options)
56 56 end
... ...
spec/controllers/choices_controller_spec.rb
... ... @@ -69,9 +69,7 @@ describe ChoicesController do
69 69  
70 70 it "adds visitor_id params to flag if sent" do
71 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 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  
... ...