Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
def join_game(user_id, game_id) do
with {:ok, user} <- Users.get(user_id),
{:ok, game} <- Games.get(game_id),
false <- Game.is_full?(game),
false <- Game.is_started?(game),
true <- User.has_permission?(user, game)
do
Game.add_user(game, user)
else
# Don't care what specific thing failed
_ -> :error
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment