summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-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