class SakaiInfo::ForumThread
Attributes
dbrow[R]
title[R]
Public Class Methods
all_serializations()
click to toggle source
# File lib/sakai-info/forum.rb, line 201 def self.all_serializations [ :default, :posts ] end
clear_cache()
click to toggle source
# File lib/sakai-info/forum.rb, line 133 def self.clear_cache @@cache = {} end
count_by_forum_id(forum_id)
click to toggle source
# File lib/sakai-info/forum.rb, line 168 def self.count_by_forum_id(forum_id) ForumThread.query_by_forum_id(forum_id).count end
find(id)
click to toggle source
# File lib/sakai-info/forum.rb, line 138 def self.find(id) if @@cache[id.to_s].nil? row = DB.connect[:mfr_topic_t].where(:id => id, :topic_dtype => "DT").first if row.nil? raise ObjectNotFoundException.new(ForumThread, id) end @@cache[id.to_s] = ForumThread.new(row) end @@cache[id.to_s] end
find_by_forum_id(forum_id)
click to toggle source
# File lib/sakai-info/forum.rb, line 172 def self.find_by_forum_id(forum_id) ForumThread.query_by_forum_id(forum_id).all.collect { |r| ForumThread.new(r) } end
new(dbrow)
click to toggle source
# File lib/sakai-info/forum.rb, line 149 def initialize(dbrow) @dbrow = dbrow @id = dbrow[:id].to_i @title = dbrow[:title] end
query_by_forum_id(forum_id)
click to toggle source
# File lib/sakai-info/forum.rb, line 164 def self.query_by_forum_id(forum_id) DB.connect[:mfr_topic_t].where(:of_surrogatekey => forum_id) end
Public Instance Methods
default_serialization()
click to toggle source
# File lib/sakai-info/forum.rb, line 176 def default_serialization { "id" => self.id, "title" => self.title, "post_count" => self.post_count, } end
post_count()
click to toggle source
# File lib/sakai-info/forum.rb, line 156 def post_count @post_count ||= ForumPost.count_by_thread_id(self.id) end
posts()
click to toggle source
# File lib/sakai-info/forum.rb, line 160 def posts @posts ||= ForumPost.find_by_thread_id(self.id) end
posts_serialization()
click to toggle source
# File lib/sakai-info/forum.rb, line 184 def posts_serialization if self.post_count > 0 { "posts" => self.posts.collect { |p| p.serialize(:summary) } } else { } end end
summary_serialization()
click to toggle source
# File lib/sakai-info/forum.rb, line 194 def summary_serialization { "id" => self.id, "title" => self.title, } end