From a00abc00208d8acd561f32c25ef78f30394c7aa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Mon, 31 Aug 2015 20:26:30 +0200 Subject: [PATCH] adds touch to debates on tag destroy --- config/initializers/acts_as_taggable_on.rb | 7 +++++++ spec/lib/cache_spec.rb | 14 ++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 spec/lib/cache_spec.rb diff --git a/config/initializers/acts_as_taggable_on.rb b/config/initializers/acts_as_taggable_on.rb index 8b1378917..dcccf9429 100644 --- a/config/initializers/acts_as_taggable_on.rb +++ b/config/initializers/acts_as_taggable_on.rb @@ -1 +1,8 @@ +ActsAsTaggableOn::Tagging.class_eval do + after_destroy :touch_taggable + def touch_taggable + taggable.touch + end + +end \ No newline at end of file diff --git a/spec/lib/cache_spec.rb b/spec/lib/cache_spec.rb new file mode 100644 index 000000000..680799d2e --- /dev/null +++ b/spec/lib/cache_spec.rb @@ -0,0 +1,14 @@ +require 'rails_helper' + +describe 'Cache flow' do + + describe 'Tag destroy' do + it 'invalidates Debate cache keys' do + debate = create(:debate, tag_list: "Good, Bad") + tag = ActsAsTaggableOn::Tag.find_by(name: "Bad") + + expect{tag.destroy}.to change {debate.reload.cache_key} + end + end + +end