Sha256: 3dc4920043ad9814a8809cdf1b0b6622f6a144f7ffda5fc27a1876400b1036f6
Contents?: true
Size: 969 Bytes
Versions: 2
Compression:
Stored size: 969 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 begin if File.expand_path(Management::CmsController.page_cache_directory) == File.expand_path("#{Rails.root}/public") # expire home page expire_page :controller => 'cms/content', :action => 'show', :content_path => nil # expire all other pages CmsPage.select([ :id, :path ]).find_each do |page| expire_page :controller => 'cms/content', :action => 'show', :content_path => page.path.split('/') end else FileUtils.rm_r(Dir.glob("#{cache_dir}/*")) rescue Errno::ENOENT end rescue Exception => e Rails.logger.error "Error while clearing cache: #{e.message}" unless e.is_a?(NoMethodError) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
imagine_cms-4.1.2 | app/sweepers/cms_content_sweeper.rb |
imagine_cms-4.1.1 | app/sweepers/cms_content_sweeper.rb |