class SakaiInfo::QuestionPool
Attributes
dbrow[R]
description[R]
owner[R]
parent_pool_id[R]
title[R]
Public Class Methods
clear_cache()
click to toggle source
# File lib/sakai-info/question_pool.rb, line 22 def self.clear_cache @@cache = {} end
count_by_user_id(user_id)
click to toggle source
# File lib/sakai-info/question_pool.rb, line 59 def self.count_by_user_id(user_id) DB.connect[:sam_questionpool_t].filter(:ownerid => user_id).count end
find(id)
click to toggle source
# File lib/sakai-info/question_pool.rb, line 38 def self.find(id) if @@cache[id].nil? row = DB.connect[:sam_questionpool_t].filter(:questionpoolid => id).first if row.nil? raise ObjectNotFoundException.new(QuestionPool, id) end @@cache[id] = QuestionPool.new(row) end @@cache[id] end
find_by_user_id(user_id)
click to toggle source
# File lib/sakai-info/question_pool.rb, line 49 def self.find_by_user_id(user_id) results = [] DB.connect[:sam_questionpool_t].filter(:ownerid => user_id).all.each do |row| id = row[:questionpoolid] @@cache[id] = QuestionPool.new(row) results << @@cache[id] end results end
new(dbrow)
click to toggle source
# File lib/sakai-info/question_pool.rb, line 27 def initialize(dbrow) @dbrow = dbrow @id = dbrow[:questionpoolid] @title = dbrow[:title] @description = dbrow[:description] @owner = User.find(dbrow[:ownerid]) @parent_pool_id = dbrow[:parentpoolid] @parent_pool_id = nil if @parent_pool_id == 0 end
Public Instance Methods
default_serialization()
click to toggle source
serialization
# File lib/sakai-info/question_pool.rb, line 75 def default_serialization result = { "id" => self.id, "title" => self.title, "owner" => self.owner.serialize(:summary), "parent" => nil, "item_count" => self.item_count } if not self.parent.nil? result["parent"] = self.parent.serialize(:summary) else result.delete("parent") end result end
item_count()
click to toggle source
# File lib/sakai-info/question_pool.rb, line 63 def item_count @item_count ||= DB.connect[:sam_questionpoolitem_t].filter(:questionpoolid => @id).count end
parent()
click to toggle source
# File lib/sakai-info/question_pool.rb, line 68 def parent if not @parent_pool_id.nil? @parent ||= QuestionPool.find(@parent_pool_id) end end
summary_serialization()
click to toggle source
# File lib/sakai-info/question_pool.rb, line 91 def summary_serialization result = { "id" => self.id, "title" => self.title, "owner_eid" => self.owner.eid, "parent_pool_id" => self.parent_pool_id, "item_count" => self.item_count } if result["parent_pool_id"].nil? result.delete("parent_pool_id") end result end
user_summary_serialization()
click to toggle source
# File lib/sakai-info/question_pool.rb, line 105 def user_summary_serialization { "id" => self.id, "title" => self.title, "item_count" => self.item_count } end