class SakaiInfo::ContentResource
Attributes
context[R]
dbrow[R]
file_path[R]
resource_type_id[R]
uuid[R]
Public Class Methods
clear_cache()
click to toggle source
# File lib/sakai-info/content.rb, line 158 def self.clear_cache @@cache = {} @@uuid_cache = {} end
count_by_parent(parent_id)
click to toggle source
# File lib/sakai-info/content.rb, line 220 def self.count_by_parent(parent_id) ContentResource.query_by_parent(parent_id).count end
find(id)
click to toggle source
# File lib/sakai-info/content.rb, line 179 def self.find(id) if @@cache[id].nil? row = DB.connect[:content_resource].where(:resource_id => id).first if row.nil? raise ObjectNotFoundException.new(ContentResource, id) end @@cache[id] = ContentResource.new(row) @@uuid_cache[row[:uuid]] = @@cache[id] end @@cache[id] end
find_by_parent(parent_id)
click to toggle source
# File lib/sakai-info/content.rb, line 211 def self.find_by_parent(parent_id) resources = [] ContentResource.query_by_parent(parent_id).all.each do |row| @@cache[row[:resource_id]] = ContentResource.new(row) resources << @@cache[row[:resource_id]] end resources end
find_by_uuid(uuid)
click to toggle source
# File lib/sakai-info/content.rb, line 191 def self.find_by_uuid(uuid) if @@uuid_cache[uuid].nil? row = DB.connect[:content_resource].where(:resource_uuid => uuid).first if row.nil? raise ObjectNotFoundException.new(ContentResource, uuid) end @@uuid_cache[uuid] = ContentResource.new(row) @@cache[row[:resource_id]] = @@uuid_cache[uuid] end @@uuid_cache[uuid] end
new(dbrow)
click to toggle source
# File lib/sakai-info/content.rb, line 164 def initialize(dbrow) @dbrow = dbrow @id = @dbrow[:resource_id] @parent_id = @dbrow[:in_collection] @file_path = @dbrow[:file_path] @uuid = @dbrow[:resource_uuid] @file_size = @dbrow[:file_size].to_i @context = @dbrow[:context] @resource_type_id = @dbrow[:resource_type_id] @table_name = "content_resource" @id_column = "resource_id" end
query_by_parent(parent_id)
click to toggle source
# File lib/sakai-info/content.rb, line 207 def self.query_by_parent(parent_id) DB.connect[:content_resource].where(:in_collection => parent_id) end
Public Instance Methods
default_serialization()
click to toggle source
# File lib/sakai-info/content.rb, line 224 def default_serialization result = { "id" => self.id, "uuid" => self.uuid, "file_path" => self.file_path, "size_on_disk" => self.size_on_disk, "context" => self.context, "resource_type" => self.resource_type_id, } if result["uuid"].nil? result.delete("uuid") end if result["context"].nil? result.delete("context") end result end
detailed_summary_serialization()
click to toggle source
# File lib/sakai-info/content.rb, line 249 def detailed_summary_serialization { "id" => self.id, "size" => self.size_on_disk, "file_path" => self.file_path, } end
size_on_disk()
click to toggle source
# File lib/sakai-info/content.rb, line 203 def size_on_disk @file_size end
summary_serialization()
click to toggle source
# File lib/sakai-info/content.rb, line 242 def summary_serialization { "id" => self.id, "size" => self.size_on_disk, } end