summaryrefslogtreecommitdiff
path: root/lib/matrix_app_service_web/views/error_helpers.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/matrix_app_service_web/views/error_helpers.ex')
-rw-r--r--lib/matrix_app_service_web/views/error_helpers.ex16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/matrix_app_service_web/views/error_helpers.ex b/lib/matrix_app_service_web/views/error_helpers.ex
new file mode 100644
index 0000000..4eff422
--- /dev/null
+++ b/lib/matrix_app_service_web/views/error_helpers.ex
@@ -0,0 +1,16 @@
+defmodule MatrixAppServiceWeb.ErrorHelpers do
+ @moduledoc """
+ Conveniences for translating and building error messages.
+ """
+
+ @doc """
+ Translates an error message.
+ """
+ def translate_error({msg, opts}) do
+ # Because the error messages we show in our forms and APIs
+ # are defined inside Ecto, we need to translate them dynamically.
+ Enum.reduce(opts, msg, fn {key, value}, acc ->
+ String.replace(acc, "%{#{key}}", to_string(value))
+ end)
+ end
+end