15 lines
529 B
Ruby
15 lines
529 B
Ruby
|
# This class maintains the state of wiki references for newly created or newly deleted pages
|
||
|
class PageObserver < ActiveRecord::Observer
|
||
|
|
||
|
def after_create(page)
|
||
|
WikiReference.update_all("link_type = '#{WikiReference::LINKED_PAGE}'",
|
||
|
['referenced_page_name = ?', page.name])
|
||
|
end
|
||
|
|
||
|
def before_destroy(page)
|
||
|
WikiReference.delete_all ['page_id = ?', page.id]
|
||
|
WikiReference.update_all("link_type = '#{WikiReference::WANTED_PAGE}'",
|
||
|
['referenced_page_name = ?', page.name])
|
||
|
end
|
||
|
|
||
|
end
|