The Enumeration class provides default Enumerable::Enumerator creation for Puppet Programming Language runtime objects that supports the concept of enumeration.
Produces an Enumerator for Array, Hash, Integer, Integer Range, and String.
# File lib/puppet/pops/types/enumeration.rb, line 14 def enumerator(o) case o when String x = o.chars # Ruby 1.8.7 returns Enumerable::Enumerator, Ruby 1.8.9 Enumerator, and 2.0.0 an Array x.is_a?(Array) ? x.each : x when Integer o.times when Array o.each when Hash o.each when Puppet::Pops::Types::PIntegerType # Not enumerable if representing an infinite range return nil if o.to.nil? || o.from.nil? o.each else nil end end