Sha256: f04758a01c220e0caebb6538dca9678d60acd2fc210e0ca3ba3583247f84586c

Contents?: true

Size: 1.37 KB

Versions: 13

Compression:

Stored size: 1.37 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.enable_action_caching
      expire_action spud_blog_sitemap_url if Spud::Blog.config.blog_enabled
      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.enable_full_page_caching 
      expire_page spud_blog_sitemap_path(:format => :xml) if Spud::Blog.config.blog_enabled
      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

13 entries across 13 versions & 1 rubygems

Version Path
spud_blog-0.8.13 app/models/spud_post_sweeper.rb
spud_blog-0.8.12 app/models/spud_post_sweeper.rb
spud_blog-0.8.11 app/models/spud_post_sweeper.rb
spud_blog-0.8.8 app/models/spud_post_sweeper.rb
spud_blog-0.8.7 app/models/spud_post_sweeper.rb
spud_blog-0.8.6 app/models/spud_post_sweeper.rb
spud_blog-0.8.5 app/models/spud_post_sweeper.rb
spud_blog-0.8.4 app/models/spud_post_sweeper.rb
spud_blog-0.8.3 app/models/spud_post_sweeper.rb
spud_blog-0.8.2 app/models/spud_post_sweeper.rb
spud_blog-0.8.1 app/models/spud_post_sweeper.rb
spud_blog-0.8.0 app/models/spud_post_sweeper.rb
spud_blog-0.7.5 app/models/spud_post_sweeper.rb