class Rake::InvocationChain
InvocationChain tracks the chain of task invocations to detect circular dependencies.
Constants
- EMPTY
Public Class Methods
          append(value, chain)
          
          click to toggle source
          
        
        
        # File lib/rake/invocation_chain.rb, line 27 def self.append(value, chain) chain.append(value) end
          new(value, tail)
          
          click to toggle source
          
        
        
        # File lib/rake/invocation_chain.rb, line 7 def initialize(value, tail) @value = value @tail = tail end
Public Instance Methods
          append(value)
          
          click to toggle source
          
        
        
        # File lib/rake/invocation_chain.rb, line 16 def append(value) if member?(value) fail RuntimeError, "Circular dependency detected: #{to_s} => #{value}" end self.class.new(value, self) end
          member?(obj)
          
          click to toggle source
          
        
        
        # File lib/rake/invocation_chain.rb, line 12 def member?(obj) @value == obj || @tail.member?(obj) end
          to_s()
          
          click to toggle source
          
        
        
        # File lib/rake/invocation_chain.rb, line 23 def to_s "#{prefix}#{@value}" end
Private Instance Methods
          prefix()
          
          click to toggle source
          
        
        
        # File lib/rake/invocation_chain.rb, line 33 def prefix "#{@tail.to_s} => " end