Report abuse


			
class Post < ActiveRecord::Base
  def self.public_page(requested_page = 0)
    Paginator.new(count(:conditions => "status <> 'Private'"), 25) {|offset, per_page
      all_public(per_page, offset)
    }.page(requested_page)
  end

  def self.private_page(requested_page = 0)
    Paginator.new(count(:conditions => "status = 'Private'"), 25) {|offset, per_page
      all_private(per_page, offset)
    }.page(requested_page)
  end

  def self.all_public(limit => nil, offset => nil)
    find(:all, :conditions => "status <> 'Private'", :order => "created_at DESC", :limit => limit, :offset => offset)
  end

  def self.all_private(limit => nil, offset => nil)
    find(:all, :conditions => "status = 'Private'", :order => "created_at DESC", :limit => limit, :offset => offset)
  end
end


class Member < ActiveRecord::Base
  has_many :posts, :dependent => :destroy do
    def public(page = nil)
      @public ||= page.nil? ? all_public() : public_page(page)
    end

    def private(page = nil)
      @private ||= page.nil? ? all_private() : private_page(page)
    end
  end
end