class Moogle::Commands::UpdateTarget

Public Instance Methods

call() click to toggle source
# File lib/moogle/commands/update_target.rb, line 16
def call
  target_model = opts :target_model, Moogle::Target
  event_class = opts :event_class, Moogle::Events::TargetUpdated
  representer = opts :representer, Moogle::TargetRepresenter

  target = target_model.get request.target_id
  raise '404 Not found' unless target

  result = target.update update_params
  raise target.errors.full_messages.join('; ') unless target.saved?

  target_rep = target.dup.extend representer

  return event_class.new request.create_child_uuids.merge(target: target)
rescue => e
  e.extend Moogle::Error
  raise e
end

Protected Instance Methods

update_params() click to toggle source
# File lib/moogle/commands/update_target.rb, line 37
def update_params
  { options: request.options }
end