Jido.Sensor.Spec (Jido v2.0.0-rc.1)
View SourceThe normalized representation of a sensor specification.
Contains all metadata needed to configure and run a sensor, including the module, name, description, configuration, and schema.
Fields
module- The sensor module (required)name- Sensor name (required)description- Optional sensor descriptionconfig- Configuration map for the sensor (default: %{})schema- Optional Zoi schema for introspection
Examples
iex> Sensor.Spec.new!(%{module: MySensor, name: "my_sensor"})
%Sensor.Spec{module: MySensor, name: "my_sensor", ...}
iex> Sensor.Spec.new(%{module: MySensor, name: "my_sensor", config: %{interval: 1000}})
{:ok, %Sensor.Spec{...}}
Summary
Functions
Creates a new Sensor.Spec from a map of attributes.
Creates a new Sensor.Spec from a map, raising on error.
Returns the Zoi schema for Sensor.Spec.
Types
Functions
Creates a new Sensor.Spec from a map of attributes.
Returns {:ok, spec} or {:error, reason}.
Examples
iex> Sensor.Spec.new(%{module: MySensor, name: "my_sensor"})
{:ok, %Sensor.Spec{module: MySensor, name: "my_sensor", config: %{}, ...}}
iex> Sensor.Spec.new(%{name: "missing_module"})
{:error, ...}
Creates a new Sensor.Spec from a map, raising on error.
Examples
iex> Sensor.Spec.new!(%{module: MySensor, name: "my_sensor"})
%Sensor.Spec{module: MySensor, name: "my_sensor", config: %{}, ...}
@spec schema() :: Zoi.schema()
Returns the Zoi schema for Sensor.Spec.