class Puppet::Pops::Lookup::ExplainTreeNode
Attributes
event[R]
key[RW]
parent[R]
value[R]
Public Class Methods
new(parent)
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 55 def initialize(parent) 56 @parent = parent 57 @event = nil 58 end
Public Instance Methods
dump_outcome(io, indent)
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 110 def dump_outcome(io, indent) 111 case @event 112 when :not_found 113 io << indent << 'No such key: "' << @key << "\"\n" 114 when :found, :found_in_overrides, :found_in_defaults 115 io << indent << 'Found key: "' << @key << '" value: ' 116 dump_value(io, indent, @value) 117 io << ' in overrides' if @event == :found_in_overrides 118 io << ' in defaults' if @event == :found_in_defaults 119 io << "\n" 120 end 121 dump_texts(io, indent) 122 end
dump_value(io, indent, value)
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 124 def dump_value(io, indent, value) 125 case value 126 when Hash 127 io << '{' 128 unless value.empty? 129 inner_indent = increase_indent(indent) 130 value.reduce("\n") do |sep, (k, v)| 131 io << sep << inner_indent 132 dump_value(io, inner_indent, k) 133 io << ' => ' 134 dump_value(io, inner_indent, v) 135 ",\n" 136 end 137 io << "\n" << indent 138 end 139 io << '}' 140 when Array 141 io << '[' 142 unless value.empty? 143 inner_indent = increase_indent(indent) 144 value.reduce("\n") do |sep, v| 145 io << sep << inner_indent 146 dump_value(io, inner_indent, v) 147 ",\n" 148 end 149 io << "\n" << indent 150 end 151 io << ']' 152 else 153 io << value.inspect 154 end 155 end
found(key, value)
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 72 def found(key, value) 73 @key = key.to_s 74 @value = value 75 @event = :found 76 end
found_in_defaults(key, value)
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 66 def found_in_defaults(key, value) 67 @key = key.to_s 68 @value = value 69 @event = :found_in_defaults 70 end
found_in_overrides(key, value)
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 60 def found_in_overrides(key, value) 61 @key = key.to_s 62 @value = value 63 @event = :found_in_overrides 64 end
increase_indent(indent)
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 92 def increase_indent(indent) 93 indent + ' ' 94 end
location_not_found()
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 88 def location_not_found 89 @event = :location_not_found 90 end
not_found(key)
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 83 def not_found(key) 84 @key = key.to_s 85 @event = :not_found 86 end
result(value)
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 78 def result(value) 79 @value = value 80 @event = :result 81 end
to_hash()
click to toggle source
Calls superclass method
Puppet::Pops::Lookup::ExplainNode#to_hash
# File lib/puppet/pops/lookup/explainer.rb 96 def to_hash 97 hash = super 98 hash[:key] = @key unless @key.nil? 99 hash[:value] = @value if [:found, :found_in_defaults, :found_in_overrides, :result].include?(@event) 100 hash[:event] = @event unless @event.nil? 101 hash[:texts] = @texts unless @texts.nil? 102 hash[:type] = type 103 hash 104 end
to_s()
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 157 def to_s 158 "#{self.class.name}: #{@key}, #{@event}" 159 end
type()
click to toggle source
# File lib/puppet/pops/lookup/explainer.rb 106 def type 107 :root 108 end