Packages
cqrs_tools
0.5.4
0.5.28
0.5.27
0.5.26
0.5.25
0.5.24
0.5.23
0.5.22
0.5.21
0.5.20
0.5.19
0.5.18
0.5.17
0.5.16
0.5.15
0.5.14
0.5.13
0.5.12
0.5.11
0.5.10
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.19
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.22
0.3.21
0.3.20
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.30
0.2.29
0.2.28
0.2.27
0.2.26
0.2.25
0.2.24
0.2.23
0.2.22
0.2.21
0.2.20
0.2.19
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.1
0.1.0
A collection of handy Elixir macros for CQRS applications.
Current section
Files
Jump to
Current section
Files
lib/cqrs/errors.ex
defmodule Cqrs.InvalidCommandError do
defexception [:command]
def message(%{command: module}),
do: "#{module |> Module.split() |> Enum.join(".")} is not a Cqrs.Command"
end
defmodule Cqrs.InvalidQueryError do
defexception [:query]
def message(%{query: module}),
do: "#{module |> Module.split() |> Enum.join(".")} is not a Cqrs.Query"
end
defmodule Cqrs.InvalidDispatcherError do
defexception [:dispatcher]
def message(%{dispatcher: module}),
do: "#{module |> Module.split() |> Enum.join(".")} is required to export a dispatch/2 function."
end
defmodule Cqrs.QueryError do
defexception [:errors]
def message(%{errors: errors}) do
errors
|> Enum.flat_map(fn {key, messages} -> Enum.map(messages, fn msg -> "#{key} #{msg}" end) end)
|> Enum.join("\n")
end
end
defmodule Cqrs.CommandError do
defexception [:errors]
def message(%{errors: errors}) do
errors
|> Enum.flat_map(fn {key, messages} -> Enum.map(messages, fn msg -> "#{key} #{msg}" end) end)
|> Enum.join("\n")
end
end
defmodule Cqrs.ValueObjectError do
defexception [:errors]
def message(%{errors: errors}) do
errors
|> Enum.flat_map(fn {key, messages} -> Enum.map(messages, fn msg -> "#{key} #{msg}" end) end)
|> Enum.join("\n")
end
end
defmodule Cqrs.InvalidValuesError do
defexception [:module]
def message(%{module: module}) do
"Values passed to #{inspect(module)} must be either a keyword list, a map, or a struct"
end
end