Module: Wheneverd::Systemd::CronParser
- Defined in:
- lib/wheneverd/systemd/cron_parser.rb,
lib/wheneverd/systemd/cron_parser/dow_parser.rb,
lib/wheneverd/systemd/cron_parser/field_parser.rb
Overview
Converts 5-field cron expressions into systemd OnCalendar= specs.
Uses FieldParser for parsing numeric fields (minute, hour, day-of-month, month) and DowParser for day-of-week parsing and formatting.
Defined Under Namespace
Modules: DowParser, FieldParser Classes: ParsedFields
Constant Summary collapse
- MONTH_NAMES =
{ "jan" => 1, "feb" => 2, "mar" => 3, "apr" => 4, "may" => 5, "jun" => 6, "jul" => 7, "aug" => 8, "sep" => 9, "oct" => 10, "nov" => 11, "dec" => 12 }.freeze
Class Method Summary collapse
-
.to_on_calendar(cron_5_fields) ⇒ String
Systemd
OnCalendar=value (only when cron translates to a single value). -
.to_on_calendar_values(cron_5_fields) ⇒ Array<String>
Systemd
OnCalendar=values.
Class Method Details
.to_on_calendar(cron_5_fields) ⇒ String
Returns systemd OnCalendar= value (only when cron translates to a single value).
42 43 44 45 46 47 48 49 50 |
# File 'lib/wheneverd/systemd/cron_parser.rb', line 42 def self.to_on_calendar(cron_5_fields) values = to_on_calendar_values(cron_5_fields) return values.fetch(0) if values.length == 1 = "Unsupported cron #{cron_5_fields.to_s.strip.inspect}: " \ "requires multiple OnCalendar values" raise UnsupportedCronError, end |
.to_on_calendar_values(cron_5_fields) ⇒ Array<String>
Returns systemd OnCalendar= values.
31 32 33 34 35 36 37 |
# File 'lib/wheneverd/systemd/cron_parser.rb', line 31 def self.to_on_calendar_values(cron_5_fields) input = cron_5_fields.to_s.strip fields = split_fields(input) parsed = parse_all_fields(fields, input) format_on_calendar_values(parsed) end |