Merge branch 'features/users-raw_bio' into 'develop'
[akkoma] / lib / pleroma / config / type / binary_value.ex
1 defmodule Pleroma.Config.Type.BinaryValue do
2 use Ecto.Type
3
4 def type, do: :term
5
6 def cast(value) when is_binary(value) do
7 if String.valid?(value) do
8 {:ok, value}
9 else
10 {:ok, :erlang.binary_to_term(value)}
11 end
12 end
13
14 def cast(value), do: {:ok, value}
15
16 def load(value) when is_binary(value) do
17 {:ok, :erlang.binary_to_term(value)}
18 end
19
20 def dump(value) do
21 {:ok, :erlang.term_to_binary(value)}
22 end
23 end