Sha256: f21eea57c5f06ab4fa2504a1946711bd1d6016bfa66d4ae25b0d232cdb54d938

Contents?: true

Size: 499 Bytes

Versions: 3

Compression:

Stored size: 499 Bytes

Contents

class CmsContentSweeper < ActionController::Caching::Sweeper
  observe CmsPage, CmsTemplate, CmsSnippet
  
  def after_save(record)
    delete_all_cached_pages
  end
  
  def after_destroy(record)
    delete_all_cached_pages
  end
  
  def delete_all_cached_pages
    CmsPage.find(:all).each do |page|
      expire_page :controller => 'cms/content', :action => 'show', :content_path => page.path.split('/')
    end
    
    # also delete RSS feed caches
    expire_fragment %r{rss/\d+/}
  end
  
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
imagine_cms-3.0.0.beta9 app/models/cms_content_sweeper.rb
imagine_cms-3.0.0.beta8 app/models/cms_content_sweeper.rb
imagine_cms-3.0.0.beta7 app/models/cms_content_sweeper.rb