API Reference flexflow v0.1.8
Modules
Usage
defmodule Review do
@vsn "1.0.1"
use Flexflow.Process
defmodule Reviewing do
use Flexflow.Event
end
defmodule Submit do
use Flexflow.Gateway
end
## Start event
event {Start, :draft}
## End event, `async` mode means this gateway run's in a separated elixir process.
event {End, :reviewed}, async: true
event {End, :canceled}
## Intermediate event
event :rejected
## Custom event
event Reviewing
## Define a gateway
## `a ~> b` is a shortcut of `{a, b}`
gateway :modify1, :draft ~> :draft
gateway :cancel1, :draft ~> :canceled
## Custom gateway
gateway Submit, :draft ~> Reviewing
gateway :modify2, :rejected ~> :rejected
gateway :cancel2, :rejected ~> :canceled
## With custom name
gateway {Submit, :submit2}, :rejected ~> Reviewing
gateway :reject, Reviewing ~> :rejected
gateway :agree, Reviewing ~> :reviewed
end
Context
Event
Bypass
Start
Gateway
History
HookDispatcher
ModuleRegistry
Process
ProcessManager
ProcessParentManager
ProcessServer
Telemetry