lib/requests/payments/senders/bank_payout_instrument.ex
defmodule Requests.Payments.Senders.BankPayoutInstrument do
@moduledoc false
@type t :: %__MODULE__{
type: String.t(),
reference: String.t()
}
@enforce_keys [:type, :reference]
defstruct [
:type,
:reference
]
def build(%{type: type} = params) do
%{
type: type,
reference: params[:reference]
}
end
def build(params) when is_map(params), do: {:error, "instrument must have a type"}
def build(_), do: nil
end