From 5ccb76770646d8eb13ea379f5042670a8376d21e Mon Sep 17 00:00:00 2001 From: hukl Date: Sat, 31 Jan 2009 23:14:54 +0100 Subject: added everything needed to render a page --- app/models/node.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'app/models/node.rb') diff --git a/app/models/node.rb b/app/models/node.rb index 6e54004..5acf563 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -3,6 +3,27 @@ class Node < ActiveRecord::Base has_many :pages, :order => "revision ASC" + # Class methods + + def self.find_page path, revision = :current + + node = Node.find_by_unique_name(path) + + if node + + case revision + when :current + return node.pages.last + when /\d+/ + return node.pages.find_by_revision revision + end + end + + nil + end + + # Instance Methods + # returns array with pages up to root excluding root def path_to_root parent.nil? && [slug] || parent.path_to_root.push(slug) -- cgit v1.3