From c1854b8b518bde82b80429636f73496a537c3ad5 Mon Sep 17 00:00:00 2001 From: hukl Date: Sun, 1 Feb 2009 21:32:44 +0100 Subject: added first careful steps for aggregation --- app/models/page.rb | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'app/models') diff --git a/app/models/page.rb b/app/models/page.rb index 0fcb4a87..3d02e9f5 100644 --- a/app/models/page.rb +++ b/app/models/page.rb @@ -4,4 +4,39 @@ class Page < ActiveRecord::Base acts_as_list :column => :revision, :scope => :node_id + + # + def self.aggregate options + + defaults = { + :flags => "", + :path => "", + :limit => 20, + :order_by => "id", + :order_direction => "ASC" + } + + options = defaults.merge options + + pages = Page.all( + :limit => options[:limit], + :order => "#{options[:order_by]} #{options[:order_direction]}" + ) + end end + + +named_scope :flagged_as, lambda { |flags| + conditions = {} + flags.each do |flag| + conditions[flag] = true + end + + { :conditions => conditions } +} \ No newline at end of file -- cgit v1.3