Class: SakaiInfo::QuizAttemptItem
Constant Summary
collapse
- @@cache =
{}
Instance Attribute Summary collapse
Attributes inherited from SakaiObject
#id
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from SakaiObject
#dbrow_only_serialization, #dbrow_serialization, #object_type_serialization, #serialize, #to_json, #to_yaml
Constructor Details
Returns a new instance of QuizAttemptItem.
689
690
691
692
693
694
695
696
697
698
|
# File 'lib/sakai-info/quiz.rb', line 689
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
|
Instance Attribute Details
#answer ⇒ Object
Returns the value of attribute answer.
687
688
689
|
# File 'lib/sakai-info/quiz.rb', line 687
def answer
@answer
end
|
#attempt_id ⇒ Object
Returns the value of attribute attempt_id.
687
688
689
|
# File 'lib/sakai-info/quiz.rb', line 687
def attempt_id
@attempt_id
end
|
#dbrow ⇒ Object
Returns the value of attribute dbrow.
687
688
689
|
# File 'lib/sakai-info/quiz.rb', line 687
def dbrow
@dbrow
end
|
#item_id ⇒ Object
Returns the value of attribute item_id.
687
688
689
|
# File 'lib/sakai-info/quiz.rb', line 687
def item_id
@item_id
end
|
#submitted_at ⇒ Object
Returns the value of attribute submitted_at.
687
688
689
|
# File 'lib/sakai-info/quiz.rb', line 687
def submitted_at
@submitted_at
end
|
#user_id ⇒ Object
Returns the value of attribute user_id.
687
688
689
|
# File 'lib/sakai-info/quiz.rb', line 687
def user_id
@user_id
end
|
Class Method Details
.all_serializations ⇒ Object
777
778
779
|
# File 'lib/sakai-info/quiz.rb', line 777
def self.all_serializations
[:default, :attachments]
end
|
.count_by_attempt_id(attempt_id) ⇒ Object
.find(id) ⇒ Object
713
714
715
716
717
718
719
720
721
722
723
724
|
# File 'lib/sakai-info/quiz.rb', line 713
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) ⇒ Object
.query_by_attempt_id(attempt_id) ⇒ Object
726
727
728
|
# File 'lib/sakai-info/quiz.rb', line 726
def self.query_by_attempt_id(attempt_id)
DB.connect[:sam_itemgrading_t].where(:assessmentgradingid => attempt_id)
end
|
Instance Method Details
#attachments_serialization ⇒ Object
771
772
773
774
775
|
# File 'lib/sakai-info/quiz.rb', line 771
def attachments_serialization
{
"attachments" => self.attachments.collect{|a|a.serialize(:attempt_item_summary)}
}
end
|
#attempt ⇒ Object
704
705
706
|
# File 'lib/sakai-info/quiz.rb', line 704
def attempt
@attempt ||= QuizAttempt.find(@attempt_id)
end
|
#attempt_summary_serialization ⇒ Object
764
765
766
767
768
769
|
# File 'lib/sakai-info/quiz.rb', line 764
def attempt_summary_serialization
{
"id" => self.id,
"item_id" => self.item_id
}
end
|
#default_serialization ⇒ Object
744
745
746
747
748
749
750
751
752
753
|
# File 'lib/sakai-info/quiz.rb', line 744
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
}
end
|
#item ⇒ Object
708
709
710
|
# File 'lib/sakai-info/quiz.rb', line 708
def item
@item ||= PublishedQuizItem.find(@item_id)
end
|
#summary_serialization ⇒ Object
755
756
757
758
759
760
761
762
|
# File 'lib/sakai-info/quiz.rb', line 755
def summary_serialization
{
"id" => self.id,
"eid" => User.get_eid(self.user_id),
"attempt_id" => self.attempt_id,
"item_id" => self.item_id
}
end
|
#user ⇒ Object
700
701
702
|
# File 'lib/sakai-info/quiz.rb', line 700
def user
@user ||= User.find(@user_id)
end
|