class SayWhen::SecondsCronValue

Public Class Methods

new(exp) click to toggle source
Calls superclass method SayWhen::CronValue::new
# File lib/say_when/cron_expression.rb, line 177
def initialize(exp)
  super(:sec, 0, 59, exp)
end

Public Instance Methods

last(date) click to toggle source
# File lib/say_when/cron_expression.rb, line 190
def last(date)
  n = values.reverse.detect { |v| v < date.sec }
  if n.blank?
    1.minute.ago(date).change(sec: values.last)
  else
    date.change(sec: n)
  end
end
next(date) click to toggle source
# File lib/say_when/cron_expression.rb, line 181
def next(date)
  n = values.detect { |v| v > date.sec }
  if n.blank?
    1.minute.since(date).change(sec: values.first)
  else
    date.change(sec: n)
  end
end