class SakaiInfo::Announcement
Attributes
channel_id[R]
date[R]
dbrow[R]
draft[R]
owner[R]
pubview[R]
Public Class Methods
all_serializations()
click to toggle source
# File lib/sakai-info/announcement.rb, line 189 def self.all_serializations [ :default, :xml, ] end
clear_cache()
click to toggle source
# File lib/sakai-info/announcement.rb, line 110 def self.clear_cache @@cache = {} end
count_by_channel_id(channel_id)
click to toggle source
# File lib/sakai-info/announcement.rb, line 141 def self.count_by_channel_id(channel_id) Announcement.query_by_channel_id(channel_id).count end
find(id)
click to toggle source
# File lib/sakai-info/announcement.rb, line 126 def self.find(id) if @@cache[id].nil? row = DB.connect[:announcement_message].where(:message_id => id).first if row.nil? raise ObjectNotFoundException.new(Announcement, id) end @@cache[id] = Announcement.new(row) end @@cache[id] end
find_by_channel_id(channel_id)
click to toggle source
# File lib/sakai-info/announcement.rb, line 145 def self.find_by_channel_id(channel_id) Announcement.query_by_channel_id(channel_id).all.collect do |row| @@cache[row[:message_id]] = Announcement.new(row) end end
new(dbrow)
click to toggle source
# File lib/sakai-info/announcement.rb, line 115 def initialize(dbrow) @dbrow = dbrow @id = @dbrow[:message_id] @channel_id = @dbrow[:channel_id] @draft = @dbrow[:draft] @pubview = @dbrow[:pubview] @owner = User.find(@dbrow[:owner]) @date = @dbrow[:message_date] end
query_by_channel_id(channel_id)
click to toggle source
# File lib/sakai-info/announcement.rb, line 137 def self.query_by_channel_id(channel_id) DB.connect[:announcement_message].where(:channel_id => channel_id) end
Public Instance Methods
channel()
click to toggle source
lazy properties
# File lib/sakai-info/announcement.rb, line 152 def channel @channel ||= AnnouncementChannel.find(self.channel_id) end
default_serialization()
click to toggle source
serialization
# File lib/sakai-info/announcement.rb, line 165 def default_serialization { "id" => self.id, "date" => self.date, "owner" => self.owner.serialize(:summary), "draft" => self.draft, "pubview" => self.pubview, "channel" => self.channel_id, } end
summary_serialization()
click to toggle source
# File lib/sakai-info/announcement.rb, line 176 def summary_serialization { "id" => self.id, "date" => self.date } end
xml()
click to toggle source
# File lib/sakai-info/announcement.rb, line 156 def xml if @xml.nil? @xml = "" REXML::Document.new(@dbrow[:xml].read).write(@xml, 2) end @xml end
xml_serialization()
click to toggle source
# File lib/sakai-info/announcement.rb, line 183 def xml_serialization { "xml" => self.xml } end