Class: Sleeper::Schedule
- Inherits:
-
Object
- Object
- Sleeper::Schedule
- Defined in:
- lib/sleeper/schedule.rb
Defined Under Namespace
Classes: LoopableRange
Instance Method Summary collapse
- #current ⇒ Object
- #index ⇒ Object
-
#initialize(values, recycle = false) ⇒ Schedule
constructor
A new instance of Schedule.
- #last ⇒ Object
- #next ⇒ Object
- #reset ⇒ Object
Constructor Details
#initialize(values, recycle = false) ⇒ Schedule
Returns a new instance of Schedule.
3 4 5 6 |
# File 'lib/sleeper/schedule.rb', line 3 def initialize(values, recycle=false) @values = values @index = LoopableRange.new(0, values.length - 1, cyclic: recycle) end |
Instance Method Details
#current ⇒ Object
12 13 14 |
# File 'lib/sleeper/schedule.rb', line 12 def current @values[index] end |
#index ⇒ Object
22 23 24 |
# File 'lib/sleeper/schedule.rb', line 22 def index @index.position end |
#last ⇒ Object
16 17 18 19 20 |
# File 'lib/sleeper/schedule.rb', line 16 def last index == 0 ? prev = 0 : prev = index - 1 @values[prev] end |
#next ⇒ Object
8 9 10 |
# File 'lib/sleeper/schedule.rb', line 8 def next @values[@index.succ] end |
#reset ⇒ Object
26 27 28 |
# File 'lib/sleeper/schedule.rb', line 26 def reset @index.reset end |