Module: Operaton::Bpm::Client::Task::ExternalTaskHandler

Defined in:
lib/operaton/bpm/client/task/external_task_handler.rb

Overview

Mirrors org.operaton.bpm.client.task.ExternalTaskHandler, a functional interface. Handlers may be any object responding to #execute(external_task, external_task_service) or any callable (Proc/lambda) taking the same two arguments.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.invoke(handler, external_task, external_task_service) ⇒ Object

Invokes a handler regardless of which convention it follows.



17
18
19
20
21
22
23
# File 'lib/operaton/bpm/client/task/external_task_handler.rb', line 17

def self.invoke(handler, external_task, external_task_service)
  if handler.respond_to?(:execute)
    handler.execute(external_task, external_task_service)
  else
    handler.call(external_task, external_task_service)
  end
end

Instance Method Details

#execute(external_task, external_task_service) ⇒ Object

Raises:

  • (NotImplementedError)


12
13
14
# File 'lib/operaton/bpm/client/task/external_task_handler.rb', line 12

def execute(external_task, external_task_service)
  raise NotImplementedError, "#{self.class} must implement #execute"
end