Musubi.State (musubi v0.3.0)

Copy Markdown View Source

Compile-time DSL entrypoint for Musubi reusable state modules.

Summary

Functions

Sets up a module to declare reusable Musubi state with state do ... end.

Returns whether module is an Musubi.State runtime-ineligible module.

Functions

__using__(opts)

(macro)
@spec __using__(keyword()) :: Macro.t()

Sets up a module to declare reusable Musubi state with state do ... end.

Examples

defmodule ExampleState do
  use Musubi.State

  state do
    field :title, String.t()
  end
end

runtime_module?(module)

@spec runtime_module?(module()) :: boolean()

Returns whether module is an Musubi.State runtime-ineligible module.

Examples

iex> defmodule RuntimeStateExample do
...>   use Musubi.State
...>   state do
...>     field :title, String.t()
...>   end
...> end
iex> Musubi.State.runtime_module?(RuntimeStateExample)
true
iex> Musubi.State.runtime_module?(Musubi.Socket)
false