Versioning.Adapter.Date (Versioning v0.4.1) View Source
A versioning adapter for date-based versions.
Under the hood, this adapter uses the Date
module. For details on the rules
that are used for parsing and comparison, please see the Date
module.
Example
defmodule MyApp.Versioning do
use Versioning.Schema, adapter: Versioning.Adapter.Date
version "2019-01-01" do
type "Post" do
change(MyApp.Change)
end
end
end
Link to this section Summary
Functions
Compares date based versions using ISO8601 formatting.
Parses date based versions using ISO8601 formatting.
Link to this section Functions
Specs
Compares date based versions using ISO8601 formatting.
Returns :gt
if the first verison is greater than the second, and :lt
for
vice-versa. If the two versions are equal, :eq
is returned. Returns :error
if the version cannot be parsed.
Example
iex> Versioning.Adapters.Date.compare("2019-01-01", "2018-12-31")
:gt
iex> Versioning.Adapters.Date.compare("2018-12-31", "2019-01-01")
:lt
iex> Versioning.Adapters.Date.compare("2019-01-01", "2019-01-01")
:eq
iex> Versioning.Adapters.Date.compare("foo", "bar")
:error
Specs
Parses date based versions using ISO8601 formatting.
Example
iex> Versioning.Adapters.Date.parse("2019-01-01")
{:ok, ~D[2019-01-01]}
iex> Versioning.Adapters.Date.parse("foo")
:error