4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/ddr/derivatives/update_derivatives.rb', line 4
def self.call(*args)
event = ActiveSupport::Notifications::Event.new(*args)
payload = event.payload
return false if payload[:skip_update_derivatives]
if event.name == "delete.repo_file" &&
!file_ids.include?(payload[:file_id])
return false
end
if event.name =~ /\.repo_object\z/ &&
(file_ids & payload[:datastreams_changed]).empty?
return false
end
obj = ActiveFedora::Base.find(payload[:pid])
obj.derivatives.update_derivatives(:later)
end
|