Jido.Sensor.Spec
(Jido v2.2.0)
View Source
The 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
Sensor.Spec.new!(%{module: MySensor, name: "my_sensor"})
# => %Sensor.Spec{module: MySensor, name: "my_sensor", config: %{}}
Sensor.Spec.new(%{module: MySensor, name: "my_sensor", config: %{interval: 1000}})
# => {:ok, %Sensor.Spec{module: MySensor, name: "my_sensor", config: %{interval: 1000}}}
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
Sensor.Spec.new(%{module: MySensor, name: "my_sensor"})
# => {:ok, %Sensor.Spec{module: MySensor, name: "my_sensor", config: %{}}}
Sensor.Spec.new(%{name: "missing_module"})
# => {:error, validation_errors}
Creates a new Sensor.Spec from a map, raising on error.
Examples
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.