Class: CreateWorkJob

Inherits:
Hyrax::ApplicationJob show all
Defined in:
app/jobs/create_work_job.rb

Overview

This is a job spawned by the BatchCreateJob

Instance Method Summary collapse

Instance Method Details

#perform(user, model, attributes, operation) ⇒ Object

This copies metadata from the passed in attribute to all of the works that are members of the given upload set



16
17
18
19
20
21
22
23
24
# File 'app/jobs/create_work_job.rb', line 16

def perform(user, model, attributes, operation)
  operation.performing!
  work = model.constantize.new
  current_ability = Ability.new(user)
  env = Hyrax::Actors::Environment.new(work, current_ability, attributes)
  status = work_actor.create(env)
  return operation.success! if status
  operation.fail!(work.errors.full_messages.join(' '))
end