module Cronut::Parser
Public Class Methods
for(segment:, maximum:, minimum:)
click to toggle source
# File lib/cronut/parser.rb, line 3 def self.for(segment:, maximum:, minimum:) case segment when '*' klass = Cronut::Parser::Any when /,/ klass = Cronut::Parser::List when /[0-9]+-[0-9]+/ klass = Cronut::Parser::Range when /\// klass = Cronut::Parser::Step when /^[0-9]+$/ klass = Cronut::Parser::Exact else raise ArgumentError, "Invalid segment: #{segment}" end klass.new(segment: segment, maximum: maximum, minimum: minimum) end