Bonfire.Social.FeedFilters.AtomOrStringList (Bonfire v0.9.12-social-beta.71)
View SourceSummary
Functions
Casts a value to a list of atoms or strings.
Dumps a list of atoms/strings for database storage.
Callback implementation for Ecto.Type.embed_as/1
.
Callback implementation for Ecto.Type.equal?/2
.
Loads a list of atoms/strings from database storage.
Callback implementation for Ecto.Type.type/0
.
Functions
Casts a value to a list of atoms or strings.
Examples
iex> Bonfire.Social.FeedFilters.AtomOrStringList.cast([:atom1, :atom2])
{:ok, [:atom1, :atom2]}
iex> Bonfire.Social.FeedFilters.AtomOrStringList.cast(["string1", "string2"])
{:ok, [:string1, :string2]}
iex> Bonfire.Social.FeedFilters.AtomOrStringList.cast([%{id: "789"}, :atom3])
{:ok, ["789", :atom3]}
iex> Bonfire.Social.FeedFilters.AtomOrStringList.cast("single_string")
{:ok, [:single_string]}
iex> Bonfire.Social.FeedFilters.AtomOrStringList.cast(:single_atom)
{:ok, [:single_atom]}
iex> Bonfire.Social.FeedFilters.AtomOrStringList.cast(%{id: "object_id"})
{:ok, ["object_id"]}
iex> Bonfire.Social.FeedFilters.AtomOrStringList.cast([123])
:error
iex> Bonfire.Social.FeedFilters.AtomOrStringList.cast(123)
:error
Dumps a list of atoms/strings for database storage.
Examples
iex> Bonfire.Social.FeedFilters.AtomOrStringList.dump([:atom, "string"])
{:ok, ["atom", "string"]}
iex> Bonfire.Social.FeedFilters.AtomOrStringList.dump("not_a_list")
:error
Callback implementation for Ecto.Type.embed_as/1
.
Callback implementation for Ecto.Type.equal?/2
.
Loads a list of atoms/strings from database storage.
Examples
iex> Bonfire.Social.FeedFilters.AtomOrStringList.load(["item1", "existing_atom"])
{:ok, [:item1, :existing_atom]}
iex> Bonfire.Social.FeedFilters.AtomOrStringList.load("not_a_list")
:error
Note: Strings that match existing atoms will be converted to atoms.
Callback implementation for Ecto.Type.type/0
.