analytics/lib/plausible/helpers/changeset.ex

14 lines
381 B
Elixir

defmodule Plausible.ChangesetHelpers do
@moduledoc "Helper function for working with Ecto changesets"
def traverse_errors(changeset) do
Ecto.Changeset.traverse_errors(changeset, fn {msg, opts} ->
Regex.replace(~r"%{(\w+)}", msg, fn _, key ->
opts
|> Keyword.get(String.to_existing_atom(key), key)
|> to_string()
end)
end)
end
end