LinkedList
InvocationChain
tracks the chain of task invocations to detect circular dependencies.
Append an invocation to the chain of invocations. It is an error if the invocation already listed.
# File rake-13.0.1/lib/rake/invocation_chain.rb, line 15 def append(invocation) if member?(invocation) fail RuntimeError, "Circular dependency detected: #{to_s} => #{invocation}" end conj(invocation) end