5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'app/jobs/bulkrax/delete_file_set_job.rb', line 5
def perform(entry, importer_run)
if entry.respond_to?(:build_metadata_for_delete) &&
entry.parsed_metadata.nil? &&
entry.raw_metadata.present?
entry.build_metadata_for_delete
entry.save!
end
file_set = entry.factory.find
if file_set
parent = file_set.parent
if parent&.respond_to?(:ordered_members)
om = parent.ordered_members.to_a
om.delete(file_set)
parent.ordered_members = om
parent.save
elsif parent&.respond_to?(:member_ids)
parent.member_ids.delete(file_set.id)
Hyrax.persister.save(resource: parent)
end
end
super
end
|