Class: CmisServer::ObjectAdapter
- Inherits:
-
Object
- Object
- CmisServer::ObjectAdapter
show all
- Defined in:
- lib/cmis_server/object_adapter.rb
Defined Under Namespace
Classes: ClassAdapter, ObjectPersistenceError
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(object, context:) ⇒ ObjectAdapter
Returns a new instance of ObjectAdapter.
38
39
40
41
|
# File 'lib/cmis_server/object_adapter.rb', line 38
def initialize(object, context:)
@object =object
@context=context
end
|
Instance Attribute Details
#context ⇒ Object
Returns the value of attribute context.
36
37
38
|
# File 'lib/cmis_server/object_adapter.rb', line 36
def context
@context
end
|
#object ⇒ Object
Returns the value of attribute object.
36
37
38
|
# File 'lib/cmis_server/object_adapter.rb', line 36
def object
@object
end
|
Class Method Details
.class_adapter(context:) ⇒ Object
28
29
30
|
# File 'lib/cmis_server/object_adapter.rb', line 28
def self.class_adapter(context:)
(self.to_s+"::ClassAdapter").constantize.new(context: context)
end
|
Instance Method Details
#add_secondary_type(secondary_type_id) ⇒ Object
55
56
57
58
59
60
61
62
|
# File 'lib/cmis_server/object_adapter.rb', line 55
def add_secondary_type(secondary_type_id)
secondary_type_ids = @object.properties["cmis:secondaryObjectTypeIds"]&.value || []
return false if secondary_type_ids.include?(secondary_type_id)
secondary_type_ids << secondary_type_id
@object.properties["cmis:secondaryObjectTypeIds"].value = secondary_type_ids
save
end
|
#class_adapter ⇒ Object
32
33
34
|
# File 'lib/cmis_server/object_adapter.rb', line 32
def class_adapter
(self.to_s+"::ClassAdapter").constantize.new(context: context)
end
|
#reload! ⇒ Object
51
52
53
|
# File 'lib/cmis_server/object_adapter.rb', line 51
def reload!
object.copy_properties_values_of(self.class.find(object.cmis_object_id))
end
|
#remove_secondary_type(secondary_type_id) ⇒ Object
64
65
66
67
68
69
70
71
|
# File 'lib/cmis_server/object_adapter.rb', line 64
def remove_secondary_type(secondary_type_id)
secondary_type_ids = @object.properties["cmis:secondaryObjectTypeIds"]&.value || []
return false unless secondary_type_ids.include?(secondary_type_id)
secondary_type_ids.delete(secondary_type_id)
@object.properties["cmis:secondaryObjectTypeIds"].value = secondary_type_ids
save
end
|
#save ⇒ Object
47
48
49
|
# File 'lib/cmis_server/object_adapter.rb', line 47
def save
raise NotImplementedError
end
|
#save! ⇒ Object
43
44
45
|
# File 'lib/cmis_server/object_adapter.rb', line 43
def save!
raise ObjectPersistenceError unless save
end
|
#secondary_types ⇒ Object
73
74
75
76
|
# File 'lib/cmis_server/object_adapter.rb', line 73
def secondary_types
secondary_type_ids = @object.properties["cmis:secondaryObjectTypeIds"]&.value || []
secondary_type_ids.map { |id| CmisServer::TypeRegistry.find_type(id) }
end
|