Class: SayWhen::SecondsCronValue
- 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) ⇒ SecondsCronValue
constructor
A new instance of SecondsCronValue.
- #last(date) ⇒ Object
- #next(date) ⇒ Object
Methods inherited from CronValue
#include?, #parse, parse_number, #to_s
Constructor Details
#initialize(exp) ⇒ SecondsCronValue
Returns a new instance of SecondsCronValue.
177 178 179 |
# File 'lib/say_when/cron_expression.rb', line 177 def initialize(exp) super(:sec, 0, 59, exp) end |
Instance Method Details
#last(date) ⇒ Object
190 191 192 193 194 195 196 197 |
# 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) ⇒ Object
181 182 183 184 185 186 187 188 |
# 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 |