From db0859a83c334e23529503badd71b27534d5f8ff Mon Sep 17 00:00:00 2001 From: Maxwell Salzberg Date: Wed, 7 Mar 2012 14:42:46 -0800 Subject: [PATCH] bug fix: you can now mention and post a photo at the same time --- app/models/status_message.rb | 2 +- spec/models/status_message_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/models/status_message.rb b/app/models/status_message.rb index c71856ec4..254bbaf0b 100644 --- a/app/models/status_message.rb +++ b/app/models/status_message.rb @@ -106,7 +106,7 @@ class StatusMessage < Post def create_mentions mentioned_people_from_string.each do |person| - self.mentions.create(:person => person) + self.mentions.find_or_create_by_person_id(person.id) end end diff --git a/spec/models/status_message_spec.rb b/spec/models/status_message_spec.rb index e9ab1b5e6..a11e075fc 100644 --- a/spec/models/status_message_spec.rb +++ b/spec/models/status_message_spec.rb @@ -199,6 +199,14 @@ STR @sm.create_mentions @sm.mentions(true).map{|m| m.person}.to_set.should == @people.to_set end + + it 'does not barf if it gets called twice' do + @sm.create_mentions + + expect{ + @sm.create_mentions + }.should_not raise_error + end end describe '#mentioned_people' do it 'calls create_mentions if there are no mentions in the db' do