summaryrefslogtreecommitdiff
path: root/lib/puppet/util/external_iterator.rb
blob: 67b3375cba39b4fb99394808b084eb798f635200 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
module Puppet
module Util
  class ExternalIterator
    def initialize(coll)
      @coll = coll
      @cur_index = 0
    end

    def next
      @cur_index = @cur_index + 1
      item_at(@cur_index)
    end

    def peek
      item_at(@cur_index + 1)
    end

    private
    def item_at(index)
      [@coll[index], index]
    end
  end
end
end