Changesets can be listed by changeset number.
The Git repository is here.
- Revision:
- 86
- Log:
Initial import of I2, an Instiki clone.
- Author:
- adh
- Date:
- Mon Oct 16 10:40:36 +0100 2006
- Size:
- 1171 Bytes
1 | class PageSweeper < ActionController::Caching::Sweeper |
2 | observe Page, Version |
3 | |
4 | def after_create(record) |
5 | case record |
6 | when Page: |
7 | # TODO: Only expire pages that link to this page |
8 | expire_pages(record.book) |
9 | expire_indexes(record.book) |
10 | when Version: |
11 | controller.class.expire_page(page_path(record.page)) |
12 | end |
13 | end |
14 | |
15 | def after_pages_show |
16 | controller.class.cache_page(controller.response.body, page_path(page)) if page |
17 | end |
18 | |
19 | private |
20 | def page_path(page) |
21 | page.title == "Home Page" ? "/#{page.book.url_name}.html" : "/#{page.book.url_name}/pages/#{page.title}.html" |
22 | end |
23 | |
24 | def page |
25 | controller.instance_variable_get("@page") |
26 | end |
27 | |
28 | def expire_pages(book) |
29 | logger.info "Expired pages" |
30 | FileUtils.rm_rf(Dir.glob(RAILS_ROOT + "/public/#{book.url_name}/pages/*.html")) |
31 | FileUtils.rm_rf(RAILS_ROOT + "/public/#{book.url_name}.html") |
32 | end |
33 | |
34 | def expire_indexes(book) |
35 | logger.info "Expired indexes" |
36 | FileUtils.rm_rf(RAILS_ROOT + "/public/#{book.url_name}/pages.html") |
37 | FileUtils.rm_rf(RAILS_ROOT + "/public/#{book.url_name}/recent.html") |
38 | end |
39 | end |