Class: SimpleIterator::Plain

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_iterator/plain.rb

Direct Known Subclasses

File

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Plain

Returns a new instance of Plain.



3
4
5
6
7
# File 'lib/simple_iterator/plain.rb', line 3

def initialize(args)
  @next_cb          = args[:next_cb]          || raise('next_cb is required')
  @increment_offset = args[:increment_offset] || raise('increment_offset is required')
  @current_offset   = args[:offset]           || 0
end

Instance Method Details

#indexObject



15
16
17
18
19
20
21
# File 'lib/simple_iterator/plain.rb', line 15

def index
  if @current_offset > @increment_offset
    (@current_offset / @increment_offset).to_i
  else
    1
  end
end

#nextObject



9
10
11
12
13
# File 'lib/simple_iterator/plain.rb', line 9

def next
  res = @next_cb.call(@current_offset)
  @current_offset += @increment_offset
  res
end