class SakaiInfo::QuizAttemptItem
Attributes
answer[R]
attempt_id[R]
dbrow[R]
item_id[R]
submitted_at[R]
user_id[R]
Public Class Methods
all_serializations()
click to toggle source
# File lib/sakai-info/quiz.rb, line 1027 def self.all_serializations [:default, :attachments] end
clear_cache()
click to toggle source
# File lib/sakai-info/quiz.rb, line 932 def self.clear_cache @@cache = {} end
count_by_attempt_id(attempt_id)
click to toggle source
# File lib/sakai-info/quiz.rb, line 977 def self.count_by_attempt_id(attempt_id) QuizAttemptItem.query_by_attempt_id(attempt_id).count end
find(id)
click to toggle source
# File lib/sakai-info/quiz.rb, line 960 def self.find(id) id = id.to_s if @@cache[id].nil? row = DB.connect[:sam_itemgrading_t].where(:itemgradingid => id).first if row.nil? raise ObjectNotFoundException.new(QuizAttemptItem, id) end @@cache[id] = QuizAttemptItem.new(row) end @@cache[id] end
find_by_attempt_id(attempt_id)
click to toggle source
# File lib/sakai-info/quiz.rb, line 981 def self.find_by_attempt_id(attempt_id) QuizAttemptItem.query_by_attempt_id(attempt_id). all.collect { |row| QuizAttemptItem.new(row) } end
new(dbrow)
click to toggle source
# File lib/sakai-info/quiz.rb, line 937 def initialize(dbrow) @dbrow = dbrow @id = dbrow[:itemgradingid] @submitted_at = dbrow[:submitteddate] @user_id = dbrow[:agentid] @attempt_id = dbrow[:assessmentgradingid] @item_id = dbrow[:publisheditemid] @answer = dbrow[:answertext] end
query_by_attempt_id(attempt_id)
click to toggle source
# File lib/sakai-info/quiz.rb, line 973 def self.query_by_attempt_id(attempt_id) DB.connect[:sam_itemgrading_t].where(:assessmentgradingid => attempt_id) end
Public Instance Methods
attachments()
click to toggle source
# File lib/sakai-info/quiz.rb, line 986 def attachments @attachments ||= QuizAttemptItemAttachment.find_by_quiz_attempt_item_id(self.id) end
attachments_serialization()
click to toggle source
# File lib/sakai-info/quiz.rb, line 1021 def attachments_serialization { "attachments" => self.attachments.collect{|a|a.serialize(:attempt_item_summary)} } end
attempt()
click to toggle source
# File lib/sakai-info/quiz.rb, line 952 def attempt @attempt ||= QuizAttempt.find(@attempt_id) end
attempt_summary_serialization()
click to toggle source
# File lib/sakai-info/quiz.rb, line 1013 def attempt_summary_serialization { "id" => self.id, "item_id" => self.item_id, "submitted_at" => self.submitted_at, } end
default_serialization()
click to toggle source
# File lib/sakai-info/quiz.rb, line 991 def default_serialization { "id" => self.id, "user" => self.user.serialize(:summary), "attempt" => self.attempt.serialize(:summary), "item" => self.item.serialize(:summary), "answer" => self.answer, "attachment_count" => self.attachments.length, "submitted_at" => self.submitted_at, } end
item()
click to toggle source
# File lib/sakai-info/quiz.rb, line 956 def item @item ||= PublishedQuizItem.find(@item_id) end
summary_serialization()
click to toggle source
# File lib/sakai-info/quiz.rb, line 1003 def summary_serialization { "id" => self.id, "eid" => User.get_eid(self.user_id), "attempt_id" => self.attempt_id, "item_id" => self.item_id, "submitted_at" => self.submitted_at, } end
user()
click to toggle source
# File lib/sakai-info/quiz.rb, line 948 def user @user ||= User.find(@user_id) end