diff options
Diffstat (limited to 'lib/puppet/util/external_iterator.rb')
-rw-r--r-- | lib/puppet/util/external_iterator.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/puppet/util/external_iterator.rb b/lib/puppet/util/external_iterator.rb new file mode 100644 index 0000000..67b3375 --- /dev/null +++ b/lib/puppet/util/external_iterator.rb @@ -0,0 +1,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 |