class SayWhen::HoursCronValue

Public Class Methods

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

Public Instance Methods

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