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 rake-13.0.6/lib/rake/invocation_chain.rb, line 28 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 rake-13.0.6/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
                              member?(invocation)
                              click to toggle source
                            
                            Is the invocation already in the chain?
# File rake-13.0.6/lib/rake/invocation_chain.rb, line 9 def member?(invocation) head == invocation || tail.member?(invocation) end
                              to_s()
                              click to toggle source
                            
                            Convert to string, ie: TOP => invocation => invocation
# File rake-13.0.6/lib/rake/invocation_chain.rb, line 23 def to_s "#{prefix}#{head}" end
Private Instance Methods
                              prefix()
                              click to toggle source
                            
                            # File rake-13.0.6/lib/rake/invocation_chain.rb, line 34 def prefix "#{tail} => " end