lib/xtb_client/messages/day.ex
defmodule XtbClient.Messages.Day do
@moduledoc """
Atoms representing day of week.
"""
@type t ::
:monday
| :tuesday
| :wednesday
| :thursday
| :friday
| :saturday
| :sunday
@type day_code :: 1..7
@doc """
Parse an integer value as a valid atom representing day of week.
"""
@spec parse(day_code()) :: t()
def parse(value) when is_integer(value) and value in 1..7 do
parse_day(value)
end
defp parse_day(value) do
case value do
1 -> :monday
2 -> :tuesday
3 -> :wednesday
4 -> :thursday
5 -> :friday
6 -> :saturday
7 -> :sunday
end
end
end