Mozart.Task.Case (Mozart v0.2.4)

Used to define a process model Case Task. Serves the same purpose as a BPMN2 Exclusive Gate. The cases field is used to specify the multiple execution paths.

Example:

%ProcessModel{
      name: :case_process_model,
      tasks: [
        %Case{
          name: :case_task,
          cases: [
            %{
              expression: fn data -> data.value < 10 end,
              next: :foo
            },
            %{
              expression: fn data -> data.value >= 10 end,
              next: :bar
            }
          ]
        }
      ],
      initial_task: :case_task
    }