View Source JetExt.Ecto.Version (jet_ext v0.2.4)

A Ecto Type for Version that follows SemVer 2.0.

Examples

# cast
iex> cast("2.0.1-alpha1")
{:ok, %Version{
  major: 2,
  minor: 0,
  patch: 1,
  pre: ["alpha1"]
}}

iex> cast(Version.parse!("2.0.1-alpha1"))
{:ok, %Version{
  major: 2,
  minor: 0,
  patch: 1,
  pre: ["alpha1"]
}}

iex> cast("1")
:error

iex> cast(:foo)
:error

# load
iex> load("2.0.1-alpha1")
{:ok, %Version{
  major: 2,
  minor: 0,
  patch: 1,
  pre: ["alpha1"]
}}

iex> load(Version.parse!("2.0.1-alpha1"))
{:ok, %Version{
  major: 2,
  minor: 0,
  patch: 1,
  pre: ["alpha1"]
}}

iex> load("1")
:error

iex> load(:foo)
:error

# dump

iex> dump(Version.parse!("2.0.1-alpha1"))
{:ok, "2.0.1-alpha1"}

iex> dump(%{})
:error

iex> dump(:foo)
:error

Summary

Functions

Callback implementation for Ecto.Type.embed_as/1.

Callback implementation for Ecto.Type.equal?/2.

Functions

Callback implementation for Ecto.Type.embed_as/1.

Callback implementation for Ecto.Type.equal?/2.