Class: Puppet::Pops::Lookup::ExplainNode Private
- Defined in:
- lib/puppet/pops/lookup/explainer.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
The ExplainNode contains information of a specific node in a tree traversed during lookup. The tree can be traversed using the parent and branches attributes of each node.
Each leaf node contains information about what happened when the leaf of the branch was traversed.
Direct Known Subclasses
Instance Method Summary collapse
- #branches ⇒ Object private
- #dump_on(io, indent, first_indent) ⇒ Object private
- #dump_texts(io, indent) ⇒ Object private
- #explain ⇒ Object private
- #inspect ⇒ Object private
- #text(text) ⇒ Object private
- #to_hash ⇒ Object private
- #to_s ⇒ Object private
Instance Method Details
#branches ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
12 13 14 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 12 def branches @branches ||= [] end |
#dump_on(io, indent, first_indent) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
43 44 45 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 43 def dump_on(io, indent, first_indent) dump_texts(io, indent) end |
#dump_texts(io, indent) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
47 48 49 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 47 def dump_texts(io, indent) @texts.each { |text| io << indent << text << "\n" } if instance_variable_defined?(:@texts) end |
#explain ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
22 23 24 25 26 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 22 def explain io = ''.dup dump_on(io, '', '') io end |
#inspect ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
28 29 30 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 28 def inspect to_s end |
#text(text) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
38 39 40 41 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 38 def text(text) @texts ||= [] @texts << text end |
#to_hash ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
16 17 18 19 20 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 16 def to_hash hash = {} hash[:branches] = @branches.map {|b| b.to_hash} unless @branches.nil? || @branches.empty? hash end |
#to_s ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
32 33 34 35 36 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 32 def to_s s = self.class.name s = "#{s} with #{@branches.size} branches" unless @branches.nil? s end |