Sha256: a0f33bb7a117c85cf875f2143b7910d3933931212afeeb220e5f38c7e3186512
Contents?: true
Size: 1.14 KB
Versions: 3
Compression:
Stored size: 1.14 KB
Contents
class IngestFileJob < ActiveJob::Base queue_as CurationConcerns.config.ingest_queue_name # @param [FileSet] file_set # @param [String] filename # @param [String,NilClass] mime_type # @param [User] user # @param [String] relation ('original_file') def perform(file_set, filename, mime_type, user, relation = 'original_file') file = File.open(filename, "rb") # If mime-type is known, wrap in an IO decorator # Otherwise allow Hydra::Works service to determine mime_type if mime_type file = Hydra::Derivatives::IoDecorator.new(file) file.mime_type = mime_type file.original_name = File.basename(filename) end # Tell AddFileToFileSet service to skip versioning because versions will be minted by VersionCommitter (called by save_characterize_and_record_committer) when necessary Hydra::Works::AddFileToFileSet.call(file_set, file, relation.to_sym, versioning: false) # Persist changes to the file_set file_set.save! # Do post file ingest actions CurationConcerns::VersioningService.create(file_set.send(relation.to_sym), user) CharacterizeJob.perform_later(file_set, filename) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
curation_concerns-1.0.0.beta5 | app/jobs/ingest_file_job.rb |
curation_concerns-1.0.0.beta4 | app/jobs/ingest_file_job.rb |
curation_concerns-1.0.0.beta3 | app/jobs/ingest_file_job.rb |