View Source Trifle.Stats.Nocturnal.Parser (Trifle.Stats v2.5.0)
Parser for granularity string representations like "1m", "15m", "33m", "1h", "1d", etc.
Converts string-based granularity formats into offset and unit components. Handles edge cases like "33m" which creates uneven segments (0-32 and 33-59).
Examples
iex> parser = Trifle.Stats.Nocturnal.Parser.new("15m")
iex> parser.valid?
true
iex> parser.offset
15
iex> parser.unit
:minute
# Edge case with uneven segments
iex> parser = Trifle.Stats.Nocturnal.Parser.new("33m")
iex> parser.valid?
true
iex> parser.offset
33
iex> parser.unit
:minute
# Invalid format
iex> parser = Trifle.Stats.Nocturnal.Parser.new("invalid")
iex> parser.valid?
false
Summary
Functions
Create a new Parser instance from a granularity string.
Check if the parsed granularity string is valid.
Functions
Create a new Parser instance from a granularity string.
Examples
iex> parser = Trifle.Stats.Nocturnal.Parser.new("1m")
iex> {parser.offset, parser.unit}
{1, :minute}
Check if the parsed granularity string is valid.
Examples
iex> Trifle.Stats.Nocturnal.Parser.new("15m").valid?
true
iex> Trifle.Stats.Nocturnal.Parser.new("invalid").valid?
false