View Source Moar.Atom (Moar v1.25.0)
Atom-related functions.
Link to this section Summary
Functions
Given an atom, returns the atom. Given a string, converts it into an atom, converting non-alphanumeric characters
into underscores (via Moar.String.slug/2
).
Converts a string to an atom (via String.to_atom/1
), and returns atoms unchanged.
Converts a string to an existing atom (via String.to_existing_atom/1
), and returns atoms unchanged.
Converts an atom to a string (via Atom.to_string/1
), and returns strings unchanged.
Link to this section Functions
Given an atom, returns the atom. Given a string, converts it into an atom, converting non-alphanumeric characters
into underscores (via Moar.String.slug/2
).
examples
Examples
iex> Moar.Atom.atomize(:my_atom)
:my_atom
iex> Moar.Atom.atomize("my-atom")
:my_atom
Converts a string to an atom (via String.to_atom/1
), and returns atoms unchanged.
Useful when you aren't sure ahead of time whether you have a string or an atom.
examples
Examples
iex> Moar.Atom.from_string("foo")
:foo
iex> Moar.Atom.from_string(:bar)
:bar
iex> Moar.Atom.from_string(nil)
** (ArgumentError) Unable to convert nil into an atom
Converts a string to an existing atom (via String.to_existing_atom/1
), and returns atoms unchanged.
Useful when you aren't sure ahead of time whether you have a string or an atom.
examples
Examples
iex> Moar.Atom.to_existing_atom("foo")
:foo
iex> assert_raise ArgumentError, ~r/not an already existing atom/, fn ->
...> Moar.Atom.to_existing_atom("sadfasfsfasf")
...> end
iex> Moar.Atom.to_existing_atom(:baz)
:baz
iex> Moar.Atom.to_existing_atom(nil)
nil
Converts an atom to a string (via Atom.to_string/1
), and returns strings unchanged.
Useful when you aren't sure ahead of time whether you have a string or an atom.
examples
Examples
iex> Moar.Atom.to_string("foo")
"foo"
iex> Moar.Atom.to_string(:bar)
"bar"
iex> Moar.Atom.to_string(nil)
** (ArgumentError) Unable to convert nil into a string