Current section
Files
Jump to
Current section
Files
lib/helpers/version_formatter.ex
defmodule Helpers.VersionFormatter do
def format_version(version) do
version
|> String.split("")
|> Enum.reject(fn i -> blank?(i) || i == "v" end)
|> Enum.join("")
|> String.split(".")
|> List.to_tuple()
|> case do
{major, minor, patch} -> "v#{major}.#{minor}.#{patch}"
{major, minor} -> "v#{major}.#{minor}.0"
{major} -> "v#{major}.0.0"
_ -> {:error, :bad_version}
end
end
defp blank?(str) do
case str do
nil -> true
_ -> String.trim(str) == ""
end
end
end