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