class Puppet::Pops::Types::StepIterator

@api private

Public Class Methods

new(element_type, enumeration, step_size) click to toggle source
Calls superclass method Puppet::Pops::Types::Iterator::new
    # File lib/puppet/pops/types/iterable.rb
282 def initialize(element_type, enumeration, step_size)
283   super(element_type, enumeration)
284   raise ArgumentError if step_size <= 0
285   @step_size = step_size
286 end

Public Instance Methods

next() click to toggle source
    # File lib/puppet/pops/types/iterable.rb
288 def next
289   result = @enumeration.next
290   skip = @step_size - 1
291   if skip > 0
292     begin
293       skip.times { @enumeration.next }
294     rescue StopIteration
295     end
296   end
297   result
298 end
reverse_each(&block) click to toggle source
    # File lib/puppet/pops/types/iterable.rb
300 def reverse_each(&block)
301   r = Iterator.new(@element_type, to_a.reverse_each)
302   block_given? ? r.each(&block) : r
303 end
size() click to toggle source
Calls superclass method Puppet::Pops::Types::Iterator#size
    # File lib/puppet/pops/types/iterable.rb
305 def size
306   super / @step_size
307 end