Current section

Files

Jump to
avex lib avex.ex
Raw

lib/avex.ex

defmodule Avex do
def validate_format(value, format, opts \\ [])
def validate_format(value, format, opts) when is_binary(value) do
if value =~ format, do: :ok, else: {:error, message(opts, "invalid format")}
end
def validate_format(value, format, opts) when is_integer(value) do
validate_format(Integer.to_string(value), format, opts)
end
def validate_format(_, _, opts) do
{:error, message(opts, "invalid format")}
end
def validate_inclusion(value, data, opts \\ []) do
if value in data, do: :ok, else: {:error, message(opts, "#{inspect value} is invalid")}
end
def validate_exclusion(value, data, opts \\ []) do
if value in data, do: {:error, message(opts, "#{inspect value} is invalid")}, else: :ok
end
defp message(opts, default) do
Keyword.get(opts, :message, default)
end
end