Class: Fiona7::ComplexObject
Instance Method Summary
collapse
#delete_unused, #unrelease_unused
Constructor Details
Returns a new instance of ComplexObject.
7
8
9
|
# File 'lib/fiona7/complex_object.rb', line 7
def initialize(obj)
@obj = obj
end
|
Instance Method Details
#binaries ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/fiona7/complex_object.rb', line 17
def binaries
referenced = []
type_definition = Fiona7::TypeRegister.instance.read_mangled(@obj.obj_class)
type_definition.attrs.each do |attribute|
if attribute.type == :binary && attribute.real_name != "blob"
(@obj[attribute.real_name] || []).each do |link|
referenced << link.destination_object
Rails.logger.debug("referenced #{referenced}")
end
end
end
referenced
end
|
#check_binaries ⇒ Object
31
32
33
34
35
|
# File 'lib/fiona7/complex_object.rb', line 31
def check_binaries
binaries.each do |binary|
unrelease_unused(binary)
end
end
|
11
12
13
14
15
|
# File 'lib/fiona7/complex_object.rb', line 11
def widgets
links = @obj[:X_widget_pool] || []
WriteObj.where(obj_id: links.map {|l| l.destination_object_id }).to_a.to_set
end
|