Sha256: 7a2747ddd260e74a497f0cef4ecac5a85126b84c3dde02175c1bc0a3e2702bfc

Contents?: true

Size: 1.08 KB

Versions: 37

Compression:

Stored size: 1.08 KB

Contents

module Alchemy
  class ContentSweeper < ActionController::Caching::Sweeper

    observe Element, Page

    def after_create(object)
      expire_contents_displayed_as_select
    end

    def after_update(object)
      if object.class.to_s == "Alchemy::Element"
        expire_cache_for(object.contents)
        expire_contents_displayed_as_select
      elsif object.class.to_s == "Alchemy::Page" && (object.public_changed? || object.urlname_changed? || object.name_changed?)
        expire_contents_displayed_as_select
      end
    end

    def after_destroy(object)
      if object.class.to_s == "Alchemy::Element"
        expire_cache_for(object.contents)
      elsif object.class.to_s == "Alchemy::Page"
        expire_contents_displayed_as_select
      end
    end

  private

    def expire_cache_for(contents)
      contents.each do |content|
        expire_fragment(content)
      end
    end

    # Expires all EssenceSelect content editor cache fragments.
    def expire_contents_displayed_as_select
      Content.essence_selects.each { |content| expire_fragment(content) }
    end

  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
alchemy_cms-2.9.1 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.9.0 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.8.3 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.7.5 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.6.3 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.7.4 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.8.2 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.8.1 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.7.3 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.7.2 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.7.1 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.7.0 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.6.2.1 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.6.2 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.6.1 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.6.0 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.6.0.rc5 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.5.3.1 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.5.3 app/sweepers/alchemy/content_sweeper.rb
alchemy_cms-2.5.2.2 app/sweepers/alchemy/content_sweeper.rb