class CMIS::Folder
Public Class Methods
new(raw, repository)
click to toggle source
Calls superclass method
# File lib/cmis/folder.rb, line 5 def initialize(raw, repository) super cmis_properties %w( cmis:parentId cmis:path cmis:allowedChildObjectTypeIds ) end
Public Instance Methods
add(object, opts = {})
click to toggle source
# File lib/cmis/folder.rb, line 55 def add(object, opts = {}) server.execute!({ cmisaction: 'addObjectToFolder', repositoryId: repository.id, objectId: object.cmis_object_id, folderId: cmis_object_id }, opts) end
allowed_child_object_types()
click to toggle source
# File lib/cmis/folder.rb, line 15 def allowed_child_object_types return nil unless allowed_child_object_type_ids allowed_child_object_type_ids.map { |type_id| repository.type(type_id) } end
children(opts = {})
click to toggle source
# File lib/cmis/folder.rb, line 20 def children(opts = {}) Children.new(self, opts) end
create(object, opts = {})
click to toggle source
# File lib/cmis/folder.rb, line 30 def create(object, opts = {}) case object when Document return object.create_in_folder(self, opts) when Folder o = create_in_self(object, 'createFolder', opts) when Policy o = create_in_self(object, 'createPolicy', opts) when Item o = create_in_self(object, 'createItem', opts) when Relationship raise "`cmis:relationship` is not fileable. Use Repository#create_relationship." else raise "Unexpected base_type_id: #{object.base_type_id}" end ObjectFactory.create(o, repository) end
delete_tree(opts = {})
click to toggle source
# File lib/cmis/folder.rb, line 49 def delete_tree(opts = {}) server.execute!({ cmisaction: 'deleteTree', repositoryId: repository.id, objectId: cmis_object_id }, opts) end
folder_tree(opts = {})
click to toggle source
# File lib/cmis/folder.rb, line 24 def folder_tree(opts = {}) server.execute!({ cmisselector: 'folderTree', repositoryId: repository.id, objectId: cmis_object_id }, opts) end
parent(opts = {})
click to toggle source
# File lib/cmis/folder.rb, line 11 def parent(opts = {}) repository.object(parent_id, opts) if parent_id end
remove(object, opts = {})
click to toggle source
# File lib/cmis/folder.rb, line 62 def remove(object, opts = {}) server.execute!({ cmisaction: 'removeObjectFromFolder', repositoryId: repository.id, objectId: object.cmis_object_id, folderId: cmis_object_id }, opts) end
root?()
click to toggle source
# File lib/cmis/folder.rb, line 69 def root? cmis_object_id == repository.root_folder_id end
Private Instance Methods
create_in_self(object, cmis_action, opts)
click to toggle source
# File lib/cmis/folder.rb, line 75 def create_in_self(object, cmis_action, opts) server.execute!({ cmisaction: cmis_action, repositoryId: repository.id, properties: object.properties, objectId: cmis_object_id }, opts) end