Class: PageSweeper

Inherits:
ActionController::Caching::Sweeper
  • Object
show all
Defined in:
app/models/page_sweeper.rb

Instance Method Summary collapse

Instance Method Details

#after_destroy(record) ⇒ Object



26
27
28
29
30
# File 'app/models/page_sweeper.rb', line 26

def after_destroy(record)
	expire_cache_for(record)
  expire_page spud_cms_sitemap_path
  expire_page spud_sitemap_path
end

#after_save(record) ⇒ Object



21
22
23
24
25
# File 'app/models/page_sweeper.rb', line 21

def after_save(record)
  expire_cache_for(record)
  expire_page spud_cms_sitemap_path
  expire_page spud_sitemap_path
end

#before_save(record) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'app/models/page_sweeper.rb', line 4

def before_save(record)
  if record.is_a?(SpudPage) && record.changed_attributes.has_key?("url_name")
    if Spud::Cms.enable_full_page_caching
      if record.changed_attributes["url_name"] == Spud::Cms.root_page_name
        expire_page root_path
      else
        expire_page page_path(:id => record.changed_attributes["url_name"])
      end
    elsif Spud::Cms.enable_action_caching
      if record.changed_attributes["url_name"] == Spud::Cms.root_page_name
        expire_action root_path
      else
      expire_action page_path(:id => record.changed_attributes["url_name"])
      end
    end
  end
end