From 3989b972816db4b801281b81bbfe43e856b08957 Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Fri, 9 Dec 2016 14:39:39 +0000 Subject: [PATCH] Pattern matching FTW \o/ --- web/controllers/game_controller.ex | 5 ----- web/models/game.ex | 8 +++++++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/web/controllers/game_controller.ex b/web/controllers/game_controller.ex index 3e8541e..18475c2 100644 --- a/web/controllers/game_controller.ex +++ b/web/controllers/game_controller.ex @@ -9,11 +9,6 @@ defmodule Chess.GameController do render(conn, "index.html", games: games, changeset: changeset) end - def new(conn, _params) do - changeset = Game.changeset(%Game{}) - render(conn, "new.html", changeset: changeset) - end - def create(conn, _params) do changeset = Game.changeset(%Game{}) diff --git a/web/models/game.ex b/web/models/game.ex index dbfd6b7..6bd29ec 100644 --- a/web/models/game.ex +++ b/web/models/game.ex @@ -10,10 +10,16 @@ defmodule Chess.Game do @doc """ Builds a changeset based on the `struct` and `params`. """ + def changeset(struct) do + struct + |> cast(%{}, [:board]) + |> set_default_board + |> validate_required([:board]) + end + def changeset(struct, params \\ %{}) do struct |> cast(params, [:board]) - |> set_default_board |> validate_required([:board]) end