Class: SayWhen::HoursCronValue
- Defined in:
- lib/say_when/cron_expression.rb
Instance Attribute Summary
Attributes inherited from CronValue
#expression, #max, #min, #part, #values
Instance Method Summary collapse
-
#initialize(exp) ⇒ HoursCronValue
constructor
A new instance of HoursCronValue.
- #last(date) ⇒ Object
- #next(date) ⇒ Object
Methods inherited from CronValue
#include?, #parse, parse_number, #to_s
Constructor Details
#initialize(exp) ⇒ HoursCronValue
Returns a new instance of HoursCronValue.
225 226 227 |
# File 'lib/say_when/cron_expression.rb', line 225 def initialize(exp) super(:hour, 0, 24, exp) end |
Instance Method Details
#last(date) ⇒ Object
238 239 240 241 242 243 244 245 |
# 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) ⇒ Object
229 230 231 232 233 234 235 236 |
# 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 |