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

Parameters:


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