Basically I would like to to automatically create a full name from first and last names provided by a form.
I have something that works but I find it a bit ugly or or too verbose.
Do you think the below function ensure_full_name is fine or would it be possible to make it better or nicer?
PS: I’m using it on changeset for both insert/update operations.
Thanks.
alias Ecto.Changeset
defp ensure_full_name(
%Changeset{valid?: true, changes: %{first_name: first, last_name: last}} = changeset
) do
put_change(changeset, :full_name, "#{first} #{last}")
end
defp ensure_full_name(
%Changeset{valid?: true, changes: %{first_name: first}, data: %{last_name: last}} =
changeset
) do
put_change(changeset, :full_name, "#{first} #{last}")
end
defp ensure_full_name(
%Changeset{valid?: true, changes: %{last_name: last}, data: %{first_name: first}} =
changeset
) do
put_change(changeset, :full_name, "#{first} #{last}")
end
defp ensure_full_name(changeset), do: changeset






















