class SakaiInfo::Assignment
Attributes
dbrow[R]
site_id[R]
Public Class Methods
clear_cache()
click to toggle source
# File lib/sakai-info/assignment.rb, line 16 def self.clear_cache @@cache = {} end
count_by_site_id(site_id)
click to toggle source
# File lib/sakai-info/assignment.rb, line 53 def self.count_by_site_id(site_id) Assignment.query_by_site_id(site_id).count end
find(id)
click to toggle source
# File lib/sakai-info/assignment.rb, line 21 def self.find(id) if @@cache[id].nil? xml = "" row = DB.connect[:assignment_assignment].where(:assignment_id => id).first if row.nil? raise ObjectNotFoundException.new(Assignment, id) end @@cache[id] = Assignment.new(row) end @@cache[id] end
find_by_site_id(site_id)
click to toggle source
# File lib/sakai-info/assignment.rb, line 48 def self.find_by_site_id(site_id) Assignment.query_by_site_id(site_id). all.collect { |row| Assignment.new(row) } end
new(dbrow)
click to toggle source
raw data constructor
# File lib/sakai-info/assignment.rb, line 34 def initialize(dbrow) @dbrow = dbrow @id = dbrow[:assignment_id] @site_id = dbrow[:context] parse_xml end
query_by_site_id(site_id)
click to toggle source
set lookup
# File lib/sakai-info/assignment.rb, line 44 def self.query_by_site_id(site_id) DB.connect[:assignment_assignment].where(:context => site_id) end
Public Instance Methods
default_serialization()
click to toggle source
yaml/json serialization
# File lib/sakai-info/assignment.rb, line 75 def default_serialization { "id" => self.id, "title" => self.title, "site" => self.site.serialize(:summary), "submission_count" => self.submission_count } end
site()
click to toggle source
# File lib/sakai-info/assignment.rb, line 62 def site @site ||= Site.find(self.site_id) end
submission_count()
click to toggle source
# File lib/sakai-info/assignment.rb, line 70 def submission_count @submission_count ||= AssignmentSubmission.count_by_assignment_id(self.id) end
submissions()
click to toggle source
# File lib/sakai-info/assignment.rb, line 66 def submissions @submissions ||= AssignmentSubmission.find_by_assignment_id(self.id) end
submissions_serialization()
click to toggle source
# File lib/sakai-info/assignment.rb, line 92 def submissions_serialization { "submissions" => self.submissions.collect{|s|s.serialize(:assignment_summary)} } end
summary_serialization()
click to toggle source
# File lib/sakai-info/assignment.rb, line 84 def summary_serialization { "id" => self.id, "title" => self.title, "submission_count" => self.submission_count } end
title()
click to toggle source
getters
# File lib/sakai-info/assignment.rb, line 58 def title @attributes["title"] end