Class: CreateWorkJob

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

Instance Method Summary collapse

Instance Method Details

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

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

Parameters:

  • user (User)
  • model (String)
  • attributes (Hash)
  • log (BatchCreateOperation)


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

def perform(user, model, attributes, log)
  log.performing!
  work = model.constantize.new
  actor = work_actor(work, user)
  status = actor.create(attributes)
  return log.success! if status
  log.fail!(work.errors.full_messages.join(' '))
end