block_sweeper.rb
549 Bytes
class BlockSweeper < ActiveRecord::Observer
observe :block
class << self
include SweeperHelper
def cache_key_regex(block)
regex = '-[a-z]*$'
clean_ck = block.cache_key.gsub(/#{regex}/,'')
%r{#{clean_ck+regex}}
end
# Expire block's all languages cache
def expire_block(block)
expire_timeout_fragment(cache_key_regex(block))
end
def expire_blocks(blocks)
blocks.each { |block| expire_block(block) }
end
end
def after_save(block)
self.class.expire_block(block)
end
end