Class: IngestLocalFileJob

Inherits:
ActiveJob::Base
  • Object
show all
Defined in:
app/jobs/ingest_local_file_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(file_set_id, directory, filename, user_key) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/jobs/ingest_local_file_job.rb', line 4

def perform(file_set_id, directory, filename, user_key)
  user = User.find_by_user_key(user_key)
  fail "Unable to find user for #{user_key}" unless user
  file_set = FileSet.find(file_set_id)
  file_set.label ||= filename
  path = File.join(directory, filename)

  actor = CurationConcerns::FileSetActor.new(file_set, user)

  if actor.create_content(File.open(path))
    FileUtils.rm(path)
    CurationConcerns.config.callback.run(:after_import_local_file_success, file_set, user, filename)
  else
    CurationConcerns.config.callback.run(:after_import_local_file_failure, file_set, user, filename)
  end
end