AutoApi.Capability (auto_api v13.2.0) View Source

Capability behaviour

Link to this section Summary

Functions

Returns a list of all capability modules.

Returns full capabilities with all of them marked as disabled

Returns a capability module by its binary id.

Returns a capability module by its name.

Link to this section Types

Specs

property() :: atom()

Specs

t() :: module()

Link to this section Functions

Specs

all() :: [module()]

Returns a list of all capability modules.

Examples

iex> capabilities = AutoApi.Capability.all() iex> length(capabilities) 59 iex> List.first(capabilities) AutoApi.AdasCapability

Returns full capabilities with all of them marked as disabled

ie> <<cap_len, first_cap :: binary-size(3), _::binary>> = AutoApi.Capability.blank_capabilities
ie> cap_len
8
ie> first_cap
<<0, 0x20, 0>>

Specs

get_by_id(binary()) :: module() | nil

Returns a capability module by its binary id.

Returns nil if there is no capability with the given id.

Examples

iex> AutoApi.Capability.get_by_id(<<0x00, 0x35>>) AutoApi.IgnitionCapability

iex> AutoApi.Capability.get_by_id(<<0xDE, 0xAD>>) nil

Specs

get_by_name(binary() | atom()) :: module() | nil

Returns a capability module by its name.

The name can be specified either as an atom or a string.

Returns nil if there is no capability with the given name.

Examples

iex> AutoApi.Capability.get_by_name("doors") AutoApi.DoorsCapability

iex> AutoApi.Capability.get_by_name(:wake_up) AutoApi.WakeUpCapability

iex> AutoApi.Capability.get_by_name("Nobody") nil