class Rake::InvocationChain
InvocationChain tracks the chain of task invocations to detect circular dependencies.
Constants
- EMPTY
Public Class Methods
          append(invocation, chain)
          
          click to toggle source
          
        
        
        Class level append.
# File lib/rake/invocation_chain.rb, line 27 def self.append(invocation, chain) chain.append(invocation) end
Public Instance Methods
          append(invocation)
          
          click to toggle source
          
        
        
        Append an invocation to the chain of invocations. It is an error if the invocation already listed.
# File lib/rake/invocation_chain.rb, line 14 def append(invocation) if member?(invocation) fail RuntimeError, "Circular dependency detected: #{to_s} => #{invocation}" end conj(invocation) end
          member?(invocation)
          
          click to toggle source
          
        
        
        Is the invocation already in the chain?
# File lib/rake/invocation_chain.rb, line 8 def member?(invocation) head == invocation || tail.member?(invocation) end
          to_s()
          
          click to toggle source
          
        
        
        Convert to string, ie: TOP => invocation => invocation
# File lib/rake/invocation_chain.rb, line 22 def to_s "#{prefix}#{head}" end
Private Instance Methods
          prefix()
          
          click to toggle source
          
        
        
        # File lib/rake/invocation_chain.rb, line 33 def prefix "#{tail} => " end