defmodule Runbox.Scenario.Type do
@moduledoc """
Defines supported scenario types.
You can use this in Manifest instead of hard-coding the particular value.
```
%Runbox.Scenario.Manifest{
type: Runbox.Scenario.Type.stage(),
...
}
```
"""
@type t :: String.t()
@doc "Type for GenStage-based scenario runtime."
def stage, do: "StageBased"
@doc """
Simple scenario.
See `Runbox.Scenario.Simple` for details about this scenario type.
"""
def simple, do: "Simple"
@doc "Returns all available types."
def all_types, do: [stage(), simple()]
end