Sha256: 5e1e1f96b91b5321d50a31c3cb1b6d8c4882fbe4df783bdb6c2ed28b07c34f02
Contents?: true
Size: 1.06 KB
Versions: 4
Compression:
Stored size: 1.06 KB
Contents
class PageSweeper < ActionController::Caching::Sweeper observe Page, Block, ::Menu, Actuality def after_save(record) expire_cache_for(record) end def after_create(record) expire_cache_for(record) end def before_destroy(record) expire_cache_for(record) end private def expire_cache_for(record) case record when Page expire_cache_for_page(record) when ::Menu expire_fragment(record.single_key) if record.single_key.present? expire_all_pages when Actuality expire_all_pages when Block if record.single_key expire_all_pages else record.pages.flatten.uniq.each do |page| expire_cache_for_page(page) end end else true end end def expire_cache_for_page(page) page.page_urls.each do |url| expire_page forgeos_cms.page_path(url) end page.menu_links.each do |link| expire_page link.url_and_parent_urls.join end end def expire_all_pages Page.all.each do |page| expire_cache_for_page(page) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
forgeos_cms-1.9.4 | app/models/page_sweeper.rb |
forgeos_cms-1.9.2 | app/models/page_sweeper.rb |
forgeos_cms-1.9.1 | app/models/page_sweeper.rb |
forgeos_cms-1.9.0 | app/models/page_sweeper.rb |