Croma.SubtypeOfAtom (croma v0.11.1) View Source

Helper module to define type whose members are a fixed set of atoms. The following members are generated by use Croma.SubtypeOfAtom:

  • @type t
  • @spec valid?(term) :: boolean
  • @spec new(term) :: Croma.Result.t(t) (tries to convert String.t to the given set of atoms)
  • @spec new!(term) :: t

Options:

  • :values - List of atoms of possible values.
  • :default - Default value for this type. Passing this option generates default/0.

Examples

defmodule MyAtom do
  use Croma.SubtypeOfAtom, values: [:foo, :bar, :baz], default: :foo
end