Current section
Files
Jump to
Current section
Files
lib/rasa_sdk/actions/action.ex
defmodule RasaSdk.Actions.Action do
alias RasaSdk.Actions.Context
@callback name() :: String.t()
@callback run(Context.t()) :: Context.t()
defmacro __using__(_) do
quote do
@behaviour RasaSdk.Actions.Action
import RasaSdk.Actions.Context
import RasaSdk.Actions.Events
def name() do
"#{__MODULE__}"|>String.split(".")|>Enum.reverse|>Enum.at(0)|>Macro.underscore()
end
def run(%Context{} = context) do
context
end
defoverridable name: 0,
run: 1
end
end
end