class SakaiInfo::Gradebook
Attributes
name[R]
site_id[R]
version[R]
Public Class Methods
all_serializations()
click to toggle source
# File lib/sakai-info/gradebook.rb, line 97 def self.all_serializations [ :default, :items ] end
clear_cache()
click to toggle source
# File lib/sakai-info/gradebook.rb, line 16 def self.clear_cache @@cache = {} end
count_by_site_id(site_id)
click to toggle source
# File lib/sakai-info/gradebook.rb, line 50 def self.count_by_site_id(site_id) Gradebook.query_by_site_id(site_id).count end
find(id)
click to toggle source
# File lib/sakai-info/gradebook.rb, line 30 def self.find(id) if @@cache[id].nil? row = DB.connect[:gb_gradebook_t].where(:id => id).first if row.nil? raise ObjectNotFoundException.new(Gradebook, id) end @@cache[id] = Gradebook.new(row) end @@cache[id] end
find_by_site_id(site_id)
click to toggle source
# File lib/sakai-info/gradebook.rb, line 54 def self.find_by_site_id(site_id) Gradebook.query_by_site_id(site_id).all.collect { |row| Gradebook.new(row) } end
new(dbrow)
click to toggle source
# File lib/sakai-info/gradebook.rb, line 21 def initialize(dbrow) @dbrow = dbrow @id = @dbrow[:id].to_i @version = @dbrow[:version].to_i @site_id = @dbrow[:gradebook_uid] @name = @dbrow[:name] end
query_by_site_id(site_id)
click to toggle source
# File lib/sakai-info/gradebook.rb, line 46 def self.query_by_site_id(site_id) DB.connect[:gb_gradebook_t].where(:gradebook_uid => site_id) end
Public Instance Methods
default_serialization()
click to toggle source
# File lib/sakai-info/gradebook.rb, line 66 def default_serialization { "id" => self.id, "name" => self.name, "site" => self.site.serialize(:summary), "version" => self.version, "item_count" => self.item_count, } end
item_count()
click to toggle source
# File lib/sakai-info/gradebook.rb, line 62 def item_count @item_count ||= GradebookItem.count_by_gradebook_id(self.id) end
items()
click to toggle source
# File lib/sakai-info/gradebook.rb, line 58 def items @items ||= GradebookItem.find_by_gradebook_id(self.id) end
items_serialization()
click to toggle source
# File lib/sakai-info/gradebook.rb, line 91 def items_serialization { "items" => self.items.collect { |item| item.serialize(:summary) } } end
site()
click to toggle source
# File lib/sakai-info/gradebook.rb, line 42 def site @site ||= Site.find(self.site_id) end
site_summary_serialization()
click to toggle source
# File lib/sakai-info/gradebook.rb, line 85 def site_summary_serialization { "id" => self.id, } end
summary_serialization()
click to toggle source
# File lib/sakai-info/gradebook.rb, line 76 def summary_serialization { "id" => self.id, "name" => self.name, "site_id" => self.site_id, "item_count" => self.item_count, } end