class Bizside::CronValidator
Constants
- CRON_ATTR
- MAX_DAY
- MAX_HOUR
- MAX_MINUTE
- MAX_MONTH
- MAX_WEEKDAY
- MIN_DAY
- MIN_HOUR
- MIN_MINUTE
- MIN_MONTH
- MIN_WEEKDAY
Public Class Methods
new(cron)
click to toggle source
# File lib/bizside/cron_validator.rb, line 15 def initialize(cron) @minute, @hour, @day, @month, @weekday = cron.split end
Public Instance Methods
valid?()
click to toggle source
# File lib/bizside/cron_validator.rb, line 19 def valid? valid_minute? && valid_hour? && valid_day? && valid_month? && valid_weekday? end
Private Instance Methods
remove_to_ignore_value(value)
click to toggle source
# File lib/bizside/cron_validator.rb, line 58 def remove_to_ignore_value(value) value.gsub(/(\/\d*|\*)/, "") end
valid_format?(value)
click to toggle source
# File lib/bizside/cron_validator.rb, line 40 def valid_format?(value) value =~ /\A(\*(\/\d+)?|\d+(,\d+)*(-\d+)*(\/\d+)*)\Z/ end
valid_range?(min, max, value)
click to toggle source
# File lib/bizside/cron_validator.rb, line 44 def valid_range?(min, max, value) validate_values = remove_to_ignore_value(value).split(",") validate_values.reject do |v| if v.include?("-") range_v = v.split("-") (min..max).include?(range_v[0].to_i) && (min..max).include?(range_v[1].to_i) && range_v[0].to_i < range_v[1].to_i else (min..max).include? v.to_i end end.empty? end