defmodule Torngen.Client.Schema.JobPositionArmyEnum do @moduledoc false require Logger @behaviour Torngen.Client.Schema @type t :: String.t() @values [ "Private", "Corporal", "Sergeant", "Master Sergeant", "Warrant Officer", "Lieutenant", "Major", "Colonel", "Brigadier", "General" ] @spec values() :: [t()] def values, do: @values @impl true def validate?(value), do: Enum.member?(@values, value) @impl true def parse(data) do if validate?(data) do data else Logger.warning("Invalid enum value #{inspect(data)} of JobPositionArmyEnum") nil end end end