class Cronut::Expression

Attributes

command[R]
day[R]
expression[R]
hour[R]
minute[R]
month[R]
weekday[R]

Public Class Methods

new(expression) click to toggle source
# File lib/cronut/expression.rb, line 5
def initialize(expression)
  @expression = expression
  parse
end

Public Instance Methods

to_s() click to toggle source
# File lib/cronut/expression.rb, line 10
    def to_s
      <<~EOF
        minute        #{minute}
        hour          #{hour}
        day of month  #{day}
        month         #{month}
        day of week   #{weekday}
        command       #{command}
      EOF
    end

Private Instance Methods

parse() click to toggle source
# File lib/cronut/expression.rb, line 23
def parse
  segments = expression.strip.split(/\s+/, 6)

  raise ArgumentError, 'Must be 6 segments' unless segments.count == 6

  @minute = Cronut::Segment::Minute.new(segments[0])
  @hour = Cronut::Segment::Hour.new(segments[1])
  @day = Cronut::Segment::Day.new(segments[2])
  @month = Cronut::Segment::Month.new(segments[3])
  @weekday = Cronut::Segment::Weekday.new(segments[4])
  @command = segments[5]
end