defmodule Bwc do @moduledoc """ The core module for the Blank White Cards game. """ alias Bwc.{Repo, Card, Player} @repo Repo def new_player, do: Player.changeset(%Player{}) def create_player(attrs), do: Player.changeset(%Player{},attrs) |> @repo.insert() def delete_player(id), do: get_player(id) |> @repo.delete def list_players, do: @repo.all(Player) def get_player(id), do: @repo.get!(Player, id) def list_cards, do: @repo.all(Card) def get_card(id), do: @repo.get!(Card, id) def get_card_by(attrs), do: @repo.get_by(Card, attrs) def create_card(attrs), do: Card.changeset(%Card{},attrs) |> @repo.insert() def new_card, do: Card.changeset(%Card{}) def size, do: Bwc.list_cards |> length def draw_card, do: Bwc.list_cards |> Enum.random def draw, do: draw_card() def delete_card(%Bwc.Card{} = card), do: @repo.delete(card) def delete_card!(%Bwc.Card{} = card), do: @repo.delete!(card) def update_card(%Bwc.Card{} = card, updates) do card |> Card.changeset(updates) |> @repo.update end end