class SakaiInfo::WikiPageHistory

Public Class Methods

all_serializations() click to toggle source
# File lib/sakai-info/wiki.rb, line 280
def self.all_serializations
  [
   :default,
   :permissions,
   :content,
  ]
end
clear_cache() click to toggle source
# File lib/sakai-info/wiki.rb, line 227
def self.clear_cache
  @@cache = {}
end
find(id) click to toggle source
# File lib/sakai-info/wiki.rb, line 232
def self.find(id)
  if @@cache[id].nil?
    row = DB.connect[:rwikihistory].filter(:id => id).first
    if row.nil?
      raise ObjectNotFoundException.new(WikiPageHistory, id)
    end
    @@cache[id] = WikiPageHistory.new(row)
  end
  @@cache[id]
end
find_by_wiki_page_id(id) click to toggle source
# File lib/sakai-info/wiki.rb, line 255
def self.find_by_wiki_page_id(id)
  results = []
  DB.connect[:rwikihistory].filter(:rwikiobjectid => id).
    order(:revision).all.collect do |row|
    @@cache[row[:id]] = WikiPageHistory.new(row)
    results << @@cache[row[:id]]
  end
  results
end

Public Instance Methods

content() click to toggle source
# File lib/sakai-info/wiki.rb, line 243
def content
  @content ||= DB.connect[:rwikihistorycontent].where(:rwikiid => self.id).first[:content].read
end
default_serialization() click to toggle source
# File lib/sakai-info/wiki.rb, line 265
def default_serialization
  result = super
  result["current_version"] = self.wiki_page.serialize(:history_summary)
  result
end
history_serialization() click to toggle source
# File lib/sakai-info/wiki.rb, line 271
def history_serialization
  {
    "id" => self.id,
    "revision" => self.revision,
    "last_updated" => self.last_updated,
    "last_updated_by" => self.last_updated_by.eid,
  }
end
wiki_page() click to toggle source
# File lib/sakai-info/wiki.rb, line 251
def wiki_page
  @wiki_page ||= WikiPage.find(self.wiki_page_id)
end
wiki_page_id() click to toggle source
# File lib/sakai-info/wiki.rb, line 247
def wiki_page_id
  @dbrow[:rwikiobjectid]
end