View Source JetExt.Ecto.URI (jet_ext v0.2.2)
An Ecto type for URI (RFC 3986).
Examples
# cast
iex> cast("https://elixir-lang.org/")
{:ok, %URI{
fragment: nil,
host: "elixir-lang.org",
path: "/",
port: 443,
query: nil,
scheme: "https",
userinfo: nil
}}
iex> cast("/foo")
{:ok, %URI{
fragment: nil,
host: nil,
path: "/foo",
port: nil,
query: nil,
scheme: nil,
userinfo: nil
}}
iex> cast(:foo)
:error
iex> cast("/invalid_greater_than_in_path/>")
{:error, part: ">"}
# load
iex> load("https://elixir-lang.org/")
{:ok, %URI{
fragment: nil,
host: "elixir-lang.org",
path: "/",
port: 443,
query: nil,
scheme: "https",
userinfo: nil
}}
iex> load(URI.new!("https://elixir-lang.org/"))
{:ok, %URI{
fragment: nil,
host: "elixir-lang.org",
path: "/",
port: 443,
query: nil,
scheme: "https",
userinfo: nil
}}
iex> load(%{})
:error
iex> load(:path)
:error
# dump
iex> dump(URI.new!("https://elixir-lang.org/"))
{:ok, "https://elixir-lang.org/"}
iex> dump(%{})
:error
iex> dump(:path)
:error
Summary
Types
@type t() :: URI.t()