lib/riverside/io/timestamp.ex
defmodule Riverside.IO.Timestamp do
defmodule Behaviour do
@callback seconds() :: non_neg_integer
@callback milli_seconds() :: non_neg_integer
end
@impl_mod Application.get_env(:riverside, :timestamp_module, Riverside.IO.Timestamp.Real)
@behaviour Behaviour
@impl Behaviour
def seconds() do
@impl_mod.seconds()
end
@impl Behaviour
def milli_seconds() do
@impl_mod.milli_seconds()
end
end