summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorhukl <hukl@eight.local>2009-02-06 21:48:41 +0100
committerhukl <hukl@eight.local>2009-02-07 12:25:31 +0100
commitce9645d0092d42c7bf8781378181ffbd4ff3d088 (patch)
treee569a73ac2db2b36b2e90835260c46bcf0d479fa /app/models
parent79002c688d4fe6bf058459af84986a0d70dde758 (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.rb5
-rw-r--r--app/models/page.rb4
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 @@
1class Node < ActiveRecord::Base 1class 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