module DateTimeStepWith::CronMatcher

Public Class Methods

included(klass) click to toggle source
# File lib/date_time_step_with/cron_matcher.rb, line 50
def self.included(klass)
  if (klass == Date)
    klass.include CronMatcherDateMethods
  else
    klass.include CronMatcherTimeMethods        
  end   
end

Public Instance Methods

match_cron?(cron_expression) click to toggle source
# File lib/date_time_step_with/cron_matcher.rb, line 58
def match_cron?(cron_expression)
  
  @@cron_re_exps[cron_expression] ||= cron_expression.split(/\s/).collect {|cr_exp|
  
    if (cr_exp == "*")
      /.*/
    elsif cr_exp["-"]
      CronRangeMatcher.new(cr_exp) 
    elsif cr_exp[","]
      CronListMatcher.new(cr_exp) 
    else
      Regexp.new("^#{cr_exp.to_i}$")
    end
  }
  
  self_cron_array.zip(@@cron_re_exps[cron_expression]).all? do |value, cr_exp|
    cr_exp =~ value
  end
  
end