View Source JetExt.Ecto.URN (jet_ext v0.2.0)

An Ecto type for URN (RFC 8141)

Examples

# cast
iex> cast("urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:userName")
{:ok, %URN{
  nid: "ietf",
  nss: "params:scim:schemas:extension:enterprise:2.0:User:userName"
}}

iex> cast(:foo)
:error

iex> cast("ur:nid:nss")
:error

# load
iex> load("urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:userName")
{:ok, %URN{
  nid: "ietf",
  nss: "params:scim:schemas:extension:enterprise:2.0:User:userName"
}}

iex> load(URN.parse!("urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:userName"))
{:ok, %URN{
  nid: "ietf",
  nss: "params:scim:schemas:extension:enterprise:2.0:User:userName"
}}

iex> load(%{})
:error

iex> load(:path)
:error

# dump

iex> dump(URN.parse!("urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:userName"))
{:ok, "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:userName"}

iex> dump(%{})
:error

iex> dump(:path)
:error

Summary

Types