diff --git a/app/models/tag_implication.rb b/app/models/tag_implication.rb index 865081b1a..7607526fd 100644 --- a/app/models/tag_implication.rb +++ b/app/models/tag_implication.rb @@ -104,9 +104,9 @@ class TagImplication < ActiveRecord::Base extend ActiveSupport::Concern module ClassMethods - def update_posts_for_destroy(creator_id, creator_ip_addr, tag_name) - Post.tag_match("#{tag_name} status:any").find_each do |post| - escaped_tag_name = Regexp.escape(tag_name) + def update_posts_for_destroy(creator_id, creator_ip_addr, antecedent_name, consequent_name) + Post.tag_match("#{antecedent_name} #{consequent_name} status:any").find_each do |post| + escaped_tag_name = Regexp.escape(consequent_name) fixed_tags = post.tag_string.sub(/(?:\A| )#{escaped_tag_name}(?:\Z| )/, " ").strip CurrentUser.scoped(User.find(creator_id), creator_ip_addr) do post.update_attributes( @@ -118,7 +118,7 @@ class TagImplication < ActiveRecord::Base end def update_posts_for_destroy - TagImplication.delay(:queue => "default").update_posts_for_destroy(CurrentUser.user.id, CurrentUser.ip_addr, consequent_name) + TagImplication.delay(:queue => "default").update_posts_for_destroy(CurrentUser.user.id, CurrentUser.ip_addr, antecedent_name, consequent_name) end end diff --git a/test/unit/tag_implication_test.rb b/test/unit/tag_implication_test.rb index f1418677b..da202f2a5 100644 --- a/test/unit/tag_implication_test.rb +++ b/test/unit/tag_implication_test.rb @@ -3,7 +3,7 @@ require 'test_helper' class TagImplicationTest < ActiveSupport::TestCase context "A tag implication" do setup do - user = FactoryGirl.create(:user) + user = FactoryGirl.create(:admin_user) CurrentUser.user = user CurrentUser.ip_addr = "127.0.0.1" @user = FactoryGirl.create(:user)