Skip to content

Instantly share code, notes, and snippets.

@wttj-tech
Created April 12, 2022 06:13
Show Gist options
  • Save wttj-tech/aca550c5599583b920d3a7919f33da37 to your computer and use it in GitHub Desktop.
Save wttj-tech/aca550c5599583b920d3a7919f33da37 to your computer and use it in GitHub Desktop.
defmodule WttjApi.Accounts.User do
use Ecto.Schema
import Ecto.Changeset
def create_changeset(user, attrs \\ %{}) do
user
|> cast(attrs, [:title, :gender])
|> migrate_title_to_gender()
end
defp migrate_title_to_gender(changeset) do
case get_change(changeset, :title) do
nil ->
changeset
title ->
gender =
case title do
"Mr" -> "man"
"Ms" -> "woman"
end
changeset
|> put_change(:gender, gender)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment