Sha256: 7bef033e9709ce093e9abe58c2f11831a8719d012019779d1036f09e37a4336a
Contents?: true
Size: 437 Bytes
Versions: 83
Compression:
Stored size: 437 Bytes
Contents
# Allow for safe recursive lookup of values during variable interpolation. # # @api private class Hiera::InterpolationLoop < StandardError; end class Hiera::RecursiveGuard def initialize @seen = [] end def check(value, &block) if @seen.include?(value) raise Hiera::InterpolationLoop, "Lookup recursion detected in [#{@seen.join(', ')}]" end @seen.push(value) ret = yield @seen.pop ret end end
Version data entries
83 entries across 83 versions & 2 rubygems