Skip to content

Commit

Permalink
Loop over template "keys" instead of opts keys
Browse files Browse the repository at this point in the history
  • Loading branch information
kubasub authored and chrismccord committed May 7, 2019
1 parent c2b9f64 commit 83bb6c3
Showing 1 changed file with 3 additions and 7 deletions.
10 changes: 3 additions & 7 deletions installer/templates/phx_ecto/data_case.ex
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,9 @@ defmodule <%= app_module %>.DataCase do
"""
def errors_on(changeset) do
Ecto.Changeset.traverse_errors(changeset, fn {message, opts} ->
Enum.reduce(opts, message, &replace_message_embed/2)
Regex.replace(~r"%{(\w+)}", message, fn _, key ->
Map.get(opts, String.to_atom(key), key) |> to_string()
end)
end)
end

defp replace_message_embed({_key, value}, message) when is_tuple(value), do: message

defp replace_message_embed({key, value}, message) do
String.replace(message, "%{#{key}}", to_string(value))
end
end

0 comments on commit 83bb6c3

Please sign in to comment.