lib/periods/errors.ex
defmodule Periods.Errors do
defmacro __using__(_opts) do
quote do
defexception [:message]
def exception(:amount_must_be_integer) do
%__MODULE__{message: "amount must be an integer"}
end
def exception(:invalid_arguments) do
%__MODULE__{message: "invalid arguments please try again"}
end
def exception(:invalid_unit_type) do
%__MODULE__{message: "invalid unit type"}
end
end
end
end