File generated from /Users/batate/mastery/lib/mastery/core/quiz_validator.ex by COVER 2019-03-16 at 12:03:51 **************************************************************************** | defmodule Mastery.Core.QuizValidator do | import Mastery.Core.Validator | | def errors(fields) when is_map(fields) do | [ ] | |> require(fields, :title, &validate_title/1) 0..| |> optional(fields, :mastery, &validate_mastery/1) | end | def errors(_fields), do: [{nil, "A map of fields is required"}] | | def validate_title(title) when is_binary(title) do 0..| if String.match?(title, ~r{\S}) do | :ok | else | {:error, "can't be blank"} | end | end | def validate_title(_title), do: {:error, "must be a string"} | | def validate_mastery(mastery) when is_integer(mastery) do 0..| if mastery >= 1 do | :ok | else | {:error, "must be greater than zero"} | end | end | def validate_mastery(_mastery), do: {:error, "must be an integer"} | end