lib/error_response.ex
defmodule Payeezy.ErrorResponse do
@moduledoc """
A general purpose response wrapper that is built for any failed API
response.
"""
import Payeezy.Util, only: [atomize: 1]
@type t :: %__MODULE__{
messages: Keyword.t()
}
defstruct messages: %{}
@spec construct(map()) :: t()
def construct(map) do
[message_map | _tail] = struct(__MODULE__, atomize(map)).messages
message_map
end
end