class Cronut::Parser::Base
Attributes
maximum[R]
minimum[R]
possibilities[R]
segment[R]
Public Class Methods
new(segment:, minimum:, maximum:)
click to toggle source
# File lib/cronut/parser/base.rb, line 6 def initialize(segment:, minimum:, maximum:) @segment = segment @minimum = minimum @maximum = maximum @possibilities = generate_possibilities validate_possibilities! end
Private Instance Methods
generate_possibilities()
click to toggle source
# File lib/cronut/parser/base.rb, line 17 def generate_possibilities raise NotImplementedError end
safely_convert_to_integer(n)
click to toggle source
# File lib/cronut/parser/base.rb, line 28 def safely_convert_to_integer(n) Integer(n) rescue ArgumentError raise ArgumentError, "Non-numeric value supplied: #{n}" end
validate_possibilities!()
click to toggle source
# File lib/cronut/parser/base.rb, line 21 def validate_possibilities! @possibilities.each do |possibility| next if (minimum..maximum).cover?(possibility) raise ArgumentError, 'Possibilities exceed permitted range' end end