Crontab.CronExpression.Parser (crontab v1.2.0)

View Source

Parse string like * * * * * * to a %Crontab.CronExpression{}.

Summary

Functions

Parse string like * * * * * * to a %CronExpression{}.

Parse string like * * * * * * to a %CronExpression{}.

Types

result()

@type result() :: {:ok, Crontab.CronExpression.t()} | {:error, binary()}

Functions

parse(cron_expression, extended \\ false, ambiguity_opts \\ [])

Parse string like * * * * * * to a %CronExpression{}.

Examples

iex> Crontab.CronExpression.Parser.parse("* * * * *")
{:ok,
 %Crontab.CronExpression{
   day: [:*],
   hour: [:*],
   minute: [:*],
   month: [:*],
   weekday: [:*],
   year: [:*],
   on_ambiguity: []
 }}

iex> Crontab.CronExpression.Parser.parse("* * * * *", true)
{:ok,
 %Crontab.CronExpression{
   extended: true,
   day: [:*],
   hour: [:*],
   minute: [:*],
   month: [:*],
   weekday: [:*],
   year: [:*],
   second: [:*],
   on_ambiguity: []
 }}

iex> Crontab.CronExpression.Parser.parse("fooo")
{:error, "Can't parse fooo as minute."}

parse!(cron_expression, extended \\ false, ambiguity_opts \\ [])

Parse string like * * * * * * to a %CronExpression{}.

Examples

iex> Crontab.CronExpression.Parser.parse!("* * * * *")
%Crontab.CronExpression{
  day: [:*],
  hour: [:*],
  minute: [:*],
  month: [:*],
  weekday: [:*],
  year: [:*],
  on_ambiguity: []
}

iex> Crontab.CronExpression.Parser.parse!("* * * * *", true)
%Crontab.CronExpression{
  extended: true,
  day: [:*],
  hour: [:*],
  minute: [:*],
  month: [:*],
  weekday: [:*],
  year: [:*],
  second: [:*],
  on_ambiguity: []
}

iex> Crontab.CronExpression.Parser.parse!("fooo")
** (RuntimeError) Can't parse fooo as minute.