diff options
| author | hukl <hukl@eight.local> | 2009-02-06 21:48:41 +0100 |
|---|---|---|
| committer | hukl <hukl@eight.local> | 2009-02-07 12:25:31 +0100 |
| commit | ce9645d0092d42c7bf8781378181ffbd4ff3d088 (patch) | |
| tree | e569a73ac2db2b36b2e90835260c46bcf0d479fa /app/models | |
| parent | 79002c688d4fe6bf058459af84986a0d70dde758 (diff) | |
added head id to node model which points to the
head of the nodes pages collection. modified
tests, importer etc
renamed flags to tags
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/node.rb | 5 | ||||
| -rw-r--r-- | app/models/page.rb | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/app/models/node.rb b/app/models/node.rb index 0aa28b9..a1d8af0 100644 --- a/app/models/node.rb +++ b/app/models/node.rb | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | class Node < ActiveRecord::Base | 1 | class Node < ActiveRecord::Base |
| 2 | acts_as_nested_set | 2 | acts_as_nested_set |
| 3 | 3 | ||
| 4 | has_many :pages, :order => "revision ASC" | 4 | has_many :pages, :order => "revision ASC" |
| 5 | belongs_to :head, :class_name => "Page", :foreign_key => :head_id | ||
| 5 | 6 | ||
| 6 | # Class methods | 7 | # Class methods |
| 7 | 8 | ||
| @@ -21,7 +22,7 @@ class Node < ActiveRecord::Base | |||
| 21 | if node | 22 | if node |
| 22 | case revision | 23 | case revision |
| 23 | when -1 | 24 | when -1 |
| 24 | return node.pages.last | 25 | return node.head |
| 25 | else | 26 | else |
| 26 | return node.pages.find_by_revision revision | 27 | return node.pages.find_by_revision revision |
| 27 | end | 28 | end |
diff --git a/app/models/page.rb b/app/models/page.rb index d33e11b..4fcee8c 100644 --- a/app/models/page.rb +++ b/app/models/page.rb | |||
| @@ -14,7 +14,7 @@ class Page < ActiveRecord::Base | |||
| 14 | def self.aggregate options | 14 | def self.aggregate options |
| 15 | 15 | ||
| 16 | defaults = { | 16 | defaults = { |
| 17 | :flags => "", | 17 | :tags => "", |
| 18 | :limit => 20, | 18 | :limit => 20, |
| 19 | :order_by => "id", | 19 | :order_by => "id", |
| 20 | :order_direction => "ASC" | 20 | :order_direction => "ASC" |
| @@ -23,7 +23,7 @@ class Page < ActiveRecord::Base | |||
| 23 | options = defaults.merge options | 23 | options = defaults.merge options |
| 24 | 24 | ||
| 25 | pages = Page.find_tagged_with( | 25 | pages = Page.find_tagged_with( |
| 26 | options[:flags].gsub(/\s/, ", "), | 26 | options[:tags].gsub(/\s/, ", "), |
| 27 | :match_all => true, | 27 | :match_all => true, |
| 28 | :order => "#{options[:order_by]} #{options[:order_direction]}") | 28 | :order => "#{options[:order_by]} #{options[:order_direction]}") |
| 29 | end | 29 | end |
