Sha256: b57875289fe515f4d3fcce95db93ef675f0e82596c31d1ff2065f94fc5d5cf9d

Contents?: true

Size: 1.3 KB

Versions: 10

Compression:

Stored size: 1.3 KB

Contents

class SpudPostSweeper < ActionController::Caching::Sweeper

  observe SpudPost

  def after_create(record)
    expire_cache_for(record)
  end

  def before_update(record)
    expire_cache_for(record)
  end

  def after_destroy(record)
    expire_cache_for(record)
  end

  private

  def expire_cache_for(record)
    if Spud::Blog.config.cache_mode == :action
      expire_action spud_blog_sitemap_url
      if !record.is_news && Spud::Blog.config.blog_enabled
        expire_action blog_url
        expire_action blog_url(:format => :rss)
        expire_action blog_post_url(record.url_name)
      elsif Spud::Blog.config.news_enabled
        expire_action news_url
        expire_action news_url(:format => :rss)
        expire_action news_post_url(record.url_name)
      end
    end
    if Spud::Blog.config.cache_mode == :full_page
      expire_page spud_blog_sitemap_path(:format => :xml)
      if record.is_news && Spud::Blog.config.news_enabled
        expire_page news_path
        expire_page news_path(:format => :rss)
        expire_page news_post_path(record.url_name)
      elsif Spud::Blog.config.blog_enabled
        expire_page blog_path
        expire_page blog_path(:format => :rss)
        expire_page blog_post_path(record.url_name)
      end
    end
    # expire_page spud_sitemap_path(:format => :xml)
  end

end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
tb_blog-1.0.4 app/models/spud_post_sweeper.rb
tb_blog-1.0.3 app/models/spud_post_sweeper.rb
spud_blog-0.9.11 app/models/spud_post_sweeper.rb
tb_blog-1.0.2 app/models/spud_post_sweeper.rb
tb_blog-1.0.1 app/models/spud_post_sweeper.rb
tb_blog-1.0 app/models/spud_post_sweeper.rb
spud_blog-0.9.10 app/models/spud_post_sweeper.rb
spud_blog-0.9.9 app/models/spud_post_sweeper.rb
spud_blog-0.9.8 app/models/spud_post_sweeper.rb
spud_blog-0.9.7 app/models/spud_post_sweeper.rb