Class: SayWhen::MinutesCronValue
- 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) ⇒ MinutesCronValue
constructor
A new instance of MinutesCronValue.
- #last(date) ⇒ Object
- #next(date) ⇒ Object
Methods inherited from CronValue
#include?, #parse, parse_number, #to_s
Constructor Details
#initialize(exp) ⇒ MinutesCronValue
Returns a new instance of MinutesCronValue.
201 202 203 |
# File 'lib/say_when/cron_expression.rb', line 201 def initialize(exp) super(:min, 0, 59, exp) end |
Instance Method Details
#last(date) ⇒ Object
214 215 216 217 218 219 220 221 |
# File 'lib/say_when/cron_expression.rb', line 214 def last(date) n = values.reverse.detect { |v| v < date.min } if n.blank? 1.hour.ago(date).change(min: values.last, sec: 59) else date.change(min: n, sec: 59) end end |
#next(date) ⇒ Object
205 206 207 208 209 210 211 212 |
# File 'lib/say_when/cron_expression.rb', line 205 def next(date) n = values.detect { |v| v > date.min } if n.blank? 1.hour.since(date).change(min: values.first, sec: 0) else date.change(min: n, sec: 0) end end |