Sceopa - an open source blogging platform

Use the force of Pattern Matching you much (or at least try ;))

https://gitlab.com/jameslong/sceopa/blob/master/web/models/user.ex#L95-102

above can be written as

defp put_email_key(%Ecto.Changeset{valid?: false} = changeset), do: changeset
defp put_email_key(%Ecto.Changeset{valid?: true} = changeset) do
  put_change(changeset, :email_verification_key, gen_email_key())
end
3 Likes