class SakaiInfo::WikiPage
Attributes
dbrow[R]
Public Class Methods
all_serializations()
click to toggle source
# File lib/sakai-info/wiki.rb, line 216 def self.all_serializations [ :default, :permissions, :content, :history, ] end
clear_cache()
click to toggle source
# File lib/sakai-info/wiki.rb, line 16 def self.clear_cache @@cache = {} end
find(id)
click to toggle source
# File lib/sakai-info/wiki.rb, line 27 def self.find(id) if @@cache[id].nil? row = DB.connect[:rwikiobject].filter(:id => id).first if row.nil? raise ObjectNotFoundException.new(WikiPage, id) end @@cache[id] = WikiPage.new(row) end @@cache[id] end
new(dbrow)
click to toggle source
# File lib/sakai-info/wiki.rb, line 21 def initialize(dbrow) @dbrow = dbrow @id = dbrow[:id] end
Public Instance Methods
content()
click to toggle source
# File lib/sakai-info/wiki.rb, line 138 def content @content ||= DB.connect[:rwikicurrentcontent].where(:rwikiid => self.id).first[:content].read end
content_serialization()
click to toggle source
# File lib/sakai-info/wiki.rb, line 210 def content_serialization { "content" => self.content, } end
default_serialization()
click to toggle source
serialization
# File lib/sakai-info/wiki.rb, line 147 def default_serialization result = { "id" => self.id, "page_name" => self.page_name, "realm" => self.realm.serialize(:summary), "owner" => self.owner.eid, "last_updated_by" => self.last_updated_by.eid, "last_updated" => self.last_updated, "site" => self.site.serialize(:summary), "permissions" => self.permission_string, "revision" => self.revision, } result end
group_admin?()
click to toggle source
# File lib/sakai-info/wiki.rb, line 114 def group_admin? @dbrow[:groupadmin] == 1 end
group_readable?()
click to toggle source
# File lib/sakai-info/wiki.rb, line 106 def group_readable? @dbrow[:groupread] == 1 end
group_writable?()
click to toggle source
# File lib/sakai-info/wiki.rb, line 110 def group_writable? @dbrow[:groupwrite] == 1 end
history()
click to toggle source
# File lib/sakai-info/wiki.rb, line 142 def history @history ||= WikiPageHistory.find_by_wiki_page_id(self.id) end
history_serialization()
click to toggle source
# File lib/sakai-info/wiki.rb, line 200 def history_serialization result = { "history" => self.history.collect { |r| r.serialize(:history) }, } if result["history"] == [] result = {} end result end
history_summary_serialization()
click to toggle source
# File lib/sakai-info/wiki.rb, line 171 def history_summary_serialization { "id" => self.id, "last_updated" => self.last_updated, "last_updated_by" => self.last_updated_by.eid, } end
last_updated()
click to toggle source
# File lib/sakai-info/wiki.rb, line 38 def last_updated @dbrow[:version] end
last_updated_by()
click to toggle source
# File lib/sakai-info/wiki.rb, line 50 def last_updated_by @updated_by ||= User.find!(@dbrow[:userid]) end
owner()
click to toggle source
# File lib/sakai-info/wiki.rb, line 46 def owner @owner ||= User.find!(@dbrow[:owner]) end
owner_admin?()
click to toggle source
# File lib/sakai-info/wiki.rb, line 102 def owner_admin? @dbrow[:owneradmin] == 1 end
owner_readable?()
click to toggle source
# File lib/sakai-info/wiki.rb, line 94 def owner_readable? @dbrow[:ownerread] == 1 end
owner_writable?()
click to toggle source
# File lib/sakai-info/wiki.rb, line 98 def owner_writable? @dbrow[:ownerwrite] == 1 end
page_name()
click to toggle source
# File lib/sakai-info/wiki.rb, line 84 def page_name @page_name ||= if not self.realm_name.nil? if @dbrow[:name] =~ /^#{self.realm_name}\/(.+)$/ $1 else @dbrow[:name] end end end
permission_string()
click to toggle source
# File lib/sakai-info/wiki.rb, line 126 def permission_string (self.owner_readable? ? "r" : "-") + (self.owner_writable? ? "w" : "-") + (self.owner_admin? ? "A" : "-") + (self.group_readable? ? "r" : "-") + (self.group_writable? ? "w" : "-") + (self.group_admin? ? "A" : "-") + (self.public_readable? ? "r" : "-") + (self.public_writable? ? "w" : "-") + "-" end
permissions_serialization()
click to toggle source
# File lib/sakai-info/wiki.rb, line 179 def permissions_serialization { "permissions" => { "owner" => { "read" => self.owner_readable?, "write" => self.owner_writable?, "admin" => self.owner_admin?, }, "group" => { "read" => self.group_readable?, "write" => self.group_writable?, "admin" => self.group_admin?, }, "public" => { "read" => self.public_readable?, "write" => self.public_writable?, } } } end
public_readable?()
click to toggle source
# File lib/sakai-info/wiki.rb, line 118 def public_readable? @dbrow[:publicread] == 1 end
public_writable?()
click to toggle source
# File lib/sakai-info/wiki.rb, line 122 def public_writable? @dbrow[:publicwrite] == 1 end
realm()
click to toggle source
# File lib/sakai-info/wiki.rb, line 54 def realm if not self.realm_name.nil? @realm ||= AuthzRealm.find!(self.realm_name) end end
realm_name()
click to toggle source
# File lib/sakai-info/wiki.rb, line 60 def realm_name @dbrow[:realm] end
revision()
click to toggle source
# File lib/sakai-info/wiki.rb, line 42 def revision @dbrow[:revision] end
site()
click to toggle source
# File lib/sakai-info/wiki.rb, line 76 def site @site ||= if not self.site_id.nil? Site.find!(self.site_id) else nil end end
site_id()
click to toggle source
# File lib/sakai-info/wiki.rb, line 64 def site_id @site_id ||= if not self.realm_name.nil? if self.realm_name =~ /^\/site\/([^\/]+)/ $1 else nil end else nil end end
summary_serialization()
click to toggle source
# File lib/sakai-info/wiki.rb, line 162 def summary_serialization { "id" => self.id, "name" => self.name, "owner" => self.owner.eid, "site_id" => self.site_id, } end