class Hiera::RecursiveGuard
Public Class Methods
new()
click to toggle source
# File lib/hiera/recursive_guard.rb, line 7 def initialize @seen = [] end
Public Instance Methods
check(value) { || ... }
click to toggle source
# File lib/hiera/recursive_guard.rb, line 11 def check(value, &block) if @seen.include?(value) raise Hiera::InterpolationLoop, "Detected in [#{@seen.join(', ')}]" end @seen.push(value) ret = yield @seen.pop ret end