25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'app/jobs/cdm_migrator/batch_create_files_with_ordered_members_job.rb', line 25
def perform work, ingest_work, user
ordered_members = []
ingest_work.files.each do |file|
url = file[:url]
last_file = ingest_work.files.last==file
::FileSet.new(import_url: url, label: file[:title]) do |fs|
fs.attributes = file[:metadata]
fs.save!
ordered_members << fs
end
end
actor = Hyrax::Actors::OrderedMembersActor.new(ordered_members, user)
actor.attach_ordered_members_to_work(work)
work.representative = work.ordered_members.to_a.first
work.thumbnail_id = work.ordered_member_ids.first
work.save!
work.file_sets.each { |fs| CdmIngestFilesJob.perform_later(fs, fs.import_url, user, ingest_work) }
end
|