Skip to content

Commit 6ab8b29

Browse files
authored
Store non string binaries as list of integer (#12)
1 parent e4c56ce commit 6ab8b29

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

lib/paper_trail/serializer.ex

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ defmodule PaperTrail.Serializer do
184184
dumped_value =
185185
if(
186186
type in ignored_ecto_types(),
187-
do: value,
187+
do: serialize_binary(value),
188188
else: do_dump_field!(schema, field, type, value, adapter)
189189
)
190190

@@ -234,4 +234,15 @@ defmodule PaperTrail.Serializer do
234234

235235
@spec get_env(atom, any) :: any
236236
defp get_env(key, default), do: Application.get_env(:paper_trail, key, default)
237+
238+
@spec serialize_binary(binary()) :: String.t() | [integer()]
239+
defp serialize_binary(binary) when is_binary(binary) do
240+
if String.valid?(binary) do
241+
binary
242+
else
243+
:binary.bin_to_list(binary)
244+
end
245+
end
246+
247+
defp serialize_binary(value), do: value
237248
end

0 commit comments

Comments
 (0)