Class: AWSCronParser::Describer::FieldDescribers::DayOfWeek

Inherits:
Base
  • Object
show all
Defined in:
lib/aws_cron_parser/describer/field_describers/day_of_week.rb

Overview

Describes day-of-week field

Constant Summary collapse

NTH_PATTERN =
/^(?<dow>\d|[A-Z]{3})#(?<occurrence>\d)$/i
LAST_PATTERN =
/^(?<dow>\d|[A-Z]{3})L$/i
RANGE_PATTERN =

Override to accept day names like MON-FRI

/^(?<start>\d+|[A-Z]{3})-(?<end>\d+|[A-Z]{3})$/i
STEP_PATTERN =

Override to accept a named base like MON/2, which Base's numeric-only pattern rejects, leaving the raw field in the description.

%r{^(?:(?<base>\*|\d+|[A-Z]{3})|(?<start>\d+|[A-Z]{3})-(?<end>\d+|[A-Z]{3}))/(?<step>\d+)$}i
LIST_PATTERN =
/^([\d,]+|[A-Z]{3}(,[A-Z]{3})*)$/i
DAY_ABBR_TO_NAME =
{
  'SUN' => 'Sunday', 'MON' => 'Monday', 'TUE' => 'Tuesday',
  'WED' => 'Wednesday', 'THU' => 'Thursday', 'FRI' => 'Friday', 'SAT' => 'Saturday'
}.freeze

Instance Attribute Summary

Attributes inherited from Base

#is_aws, #value

Instance Method Summary collapse

Methods inherited from Base

#initialize

Methods included from Helpers

included

Constructor Details

This class inherits a constructor from AWSCronParser::Describer::FieldDescribers::Base

Instance Method Details

#describeObject



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/aws_cron_parser/describer/field_describers/day_of_week.rb', line 24

def describe
  return nil if wildcard?

  # AWS-specific patterns
  if is_aws
    return describe_nth_weekday if value.match?(NTH_PATTERN)
    return describe_last_weekday if value.match?(LAST_PATTERN)
  end

  super # Use base class patterns (range, list, single)
end