lib/customers/identification.ex
defmodule Customers.Identification do
@derive Jason.Encoder
@type t() :: %__MODULE__{
issuing_country: <<_::2>>,
number: String.t(),
type: String.t()
}
defstruct [
:issuing_country,
:number,
:type
]
def build(params) when is_map(params) do
%__MODULE__{
issuing_country: params[:issuing_country],
number: params[:number],
type: params[:type],
}
end
def build(_), do: {:error, "identification invalid"}
end