Class: Continuity::CronEntry

Inherits:
Object
  • Object
show all
Defined in:
lib/continuity/cron_entry.rb

Instance Method Summary collapse

Constructor Details

#initialize(entry) ⇒ CronEntry

Returns a new instance of CronEntry.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/continuity/cron_entry.rb', line 4

def initialize(entry)
  @entry = entry

  cron_parts = @entry.split(" ")
  if cron_parts.size == 5
    cron_parts.unshift("0")
  elsif cron_parts.size != 6
    raise CronFormatError, "Cron entry is invalid: #{@entry}"
  end

  seconds, minutes, hours, dates, months, dayofweek = *cron_parts

  @seconds_bits  = get_bits(seconds,  (0..60))
  @minutes_bits  = get_bits(minutes,  (0..60))
  @hours_bits    = get_bits(hours,    (0..60))
  @doms_bits     = get_bits(dates,    (1..31))
  @months_bits   = get_bits(months,   (1..12))
  @dows_bits     = get_bits(dayofweek,(0..7))
end

Instance Method Details

#at?(time) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
27
28
29
30
31
# File 'lib/continuity/cron_entry.rb', line 24

def at?(time)
  tst(@seconds_bits, time.sec)   &&
  tst(@minutes_bits, time.min)   &&
  tst(@hours_bits  , time.hour)  &&
  tst(@doms_bits   , time.mday)  &&
  tst(@months_bits , time.month) &&
  tst(@dows_bits   , time.wday)
end