File generated from /Users/batate/mastery/lib/mastery/core/validator.ex by COVER 2019-03-16 at 12:03:51 **************************************************************************** | defmodule Mastery.Core.Validator do | def require(errors, fields, field_name, validator) do 0..| if Map.has_key?(fields, field_name) do 0..| case fields |> Map.fetch!(field_name) |> validator.() do | :ok -> 0..| errors | {:error, message} -> 0..| errors ++ [{field_name, message}] | {:errors, messages} -> 0..| errors ++ Enum.map(messages, &{field_name, &1}) | end | else 0..| errors ++ [{field_name, "is required"}] | end | end | | def optional(errors, fields, field_name, validator) do 0..| if Map.has_key?(fields, field_name) do 0..| require(errors, fields, field_name, validator) | else | :ok | end | end | end