EctoSparkles.ErlangTermBinary (ecto_sparkles v0.1.2) View Source
A custom Ecto type for handling the serialization of arbitrary data types stored as binary data in the database. Requires the underlying DB field to be a binary.
Link to this section Summary
Functions
Callback implementation for Ecto.Type.cast/1
.
Provides custom casting rules for params. Nothing changes here. We only need to handle deserialization.
Converting the data structure to binary for storage.
Callback implementation for Ecto.Type.embed_as/1
.
Callback implementation for Ecto.Type.equal?/2
.
Convert the raw binary value from the database back to the desired term.
Callback implementation for Ecto.Type.type/0
.
Link to this section Functions
Callback implementation for Ecto.Type.cast/1
.
Provides custom casting rules for params. Nothing changes here. We only need to handle deserialization.
Converting the data structure to binary for storage.
Callback implementation for Ecto.Type.embed_as/1
.
Callback implementation for Ecto.Type.equal?/2
.
Convert the raw binary value from the database back to the desired term.
Uses Plug.Crypto.non_executable_binary_to_term/2
- a restricted version of :erlang.binary_to_term/2
that forbids executable terms, such as anonymous functions.
By default this function does not restrict atoms, except if compiled in prod env, then the [:safe] option is set, so only existing (and loaded) atoms will be deserialized.
Callback implementation for Ecto.Type.type/0
.