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
283 def initialize(element_type, enumeration, step_size)
284   super(element_type, enumeration)
285   raise ArgumentError if step_size <= 0
286   @step_size = step_size
287 end

Public Instance Methods

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