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:
- 1048 Bytes
1 | class Book < ActiveRecord::Base |
2 | has_many :authors, :dependent => true |
3 | has_many :pages, :dependent => true |
4 | has_many :versions, :order => "versions.created_at DESC" |
5 | |
6 | serialize :existing_page_titles, Array |
7 | before_create :initialize_existing_page_titles |
8 | |
9 | after_create :create_home_page |
10 | |
11 | def find_or_build_page(title) |
12 | pages.find_by_title(title) || pages.build(:title => title) |
13 | end |
14 | |
15 | def find_or_create_page(attributes) |
16 | pages.find_by_title(attributes[:title]) || pages.create(attributes) |
17 | end |
18 | |
19 | def find_or_create_author(name, ip) |
20 | authors.find_by_name_and_ip(name, ip) || authors.create(:name => name, :ip => ip) |
21 | end |
22 | |
23 | def to_param |
24 | url_name |
25 | end |
26 | |
27 | protected |
28 | def initialize_existing_page_titles |
29 | self.existing_page_titles = [] |
30 | end |
31 | |
32 | def create_home_page |
33 | page = pages.create(:title => "Home Page") |
34 | version = page.versions.build(:body => "Welcome to i2!") |
35 | author = version.create_author(:name => "i2", :ip => "127.0.0.1", :book => self) |
36 | version.save! |
37 | end |
38 | end |