defmodule Bwc do @moduledoc """ The core module for the Blank White Cards game. """ alias Bwc.{Repo, Card} @repo Repo @doc """ List all cards. """ 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