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:
- 948 Bytes
1 | class Version < ActiveRecord::Base |
2 | PAGE_LINK = /\[\[([^\]|]*)[|]?([^\]]*)\]\]/ |
3 | |
4 | belongs_to :book |
5 | belongs_to :page |
6 | belongs_to :author |
7 | |
8 | before_save :belong_to_book |
9 | after_save :page_was_updated |
10 | |
11 | def page_links |
12 | @page_links ||= body.scan(PAGE_LINK).flatten.reject { |link| link.empty? } |
13 | end |
14 | |
15 | def newer_versions |
16 | @newer_versions ||= versions[version_index + 1..-1] |
17 | end |
18 | |
19 | def newer_versions? |
20 | !newer_versions.empty? |
21 | end |
22 | |
23 | def older_versions |
24 | @older_versions ||= versions[0...version_index].reverse |
25 | end |
26 | |
27 | def older_versions? |
28 | !older_versions.empty? |
29 | end |
30 | |
31 | def previous_version |
32 | @previous_version ||= older_versions.first |
33 | end |
34 | |
35 | def versions |
36 | page.versions |
37 | end |
38 | |
39 | def number |
40 | version_index + 1 |
41 | end |
42 | |
43 | protected |
44 | def version_index |
45 | versions.index(self) |
46 | end |
47 | |
48 | def belong_to_book |
49 | self.book = page.book |
50 | end |
51 | |
52 | def page_was_updated |
53 | page.save |
54 | end |
55 | end |