class Cronin::AbstractTiming

Class contain all logic for getting timing for minute, hour, week day, month day and month

Public Class Methods

new(cron_value) click to toggle source
# File lib/cronin/abstract_timing.rb, line 5
def initialize(cron_value)
  @cron_value = cron_value
end

Public Instance Methods

max_value() click to toggle source
# File lib/cronin/abstract_timing.rb, line 31
def max_value
  self.class.max_value
end
min_value() click to toggle source
# File lib/cronin/abstract_timing.rb, line 27
def min_value
  self.class.min_value
end
timing() click to toggle source

Returns array of fixnum, when it should be execute

# File lib/cronin/abstract_timing.rb, line 10
def timing
  case @cron_value
  when '*'
    return (min_value..max_value).to_a
  when /^\d{1,2}/
    number = @cron_value.to_i
    if number >= min_value && number <= max_value
      return [number]
    else
      raise ArgumentError, 'wrong value for this entry'
    end
  when /\*\/(\d+)/
    number = $1.to_i
    return (min_value..max_value).to_a.delete_if {|elem| elem % number != 0}
  end
end