Class: Puppet::Pops::Lookup::ExplainTreeNode
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from ExplainNode
#branches, #dump_on, #to_s
Constructor Details
Returns a new instance of ExplainTreeNode.
34
35
36
37
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 34
def initialize(parent)
@parent = parent
@event = nil
end
|
Instance Attribute Details
31
32
33
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 31
def event
@event
end
|
32
33
34
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 32
def key
@key
end
|
31
32
33
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 31
def parent
@parent
end
|
31
32
33
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 31
def value
@value
end
|
Instance Method Details
#dump_outcome(io, indent) ⇒ Object
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 92
def dump_outcome(io, indent)
io << indent << 'No such key: "' << @key << "\"\n" if @event == :not_found
if [:found, :found_in_overrides, :found_in_defaults].include?(@event)
io << indent << 'Found key: "' << @key << '" value: '
dump_value(io, indent, @value)
io << ' in overrides' if @event == :found_in_overrides
io << ' in defaults' if @event == :found_in_defaults
io << "\n"
end
end
|
#dump_value(io, indent, value) ⇒ Object
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 103
def dump_value(io, indent, value)
case value
when Hash
io << '{'
unless value.empty?
inner_indent = increase_indent(indent)
value.reduce("\n") do |sep, (k, v)|
io << sep << inner_indent
dump_value(io, inner_indent, k)
io << ' => '
dump_value(io, inner_indent, v)
",\n"
end
io << "\n" << indent
end
io << '}'
when Array
io << '['
unless value.empty?
inner_indent = increase_indent(indent)
value.reduce("\n") do |sep, v|
io << sep << inner_indent
dump_value(io, inner_indent, v)
",\n"
end
io << "\n" << indent
end
io << ']'
else
io << value.inspect
end
end
|
#found(key, value) ⇒ Object
51
52
53
54
55
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 51
def found(key, value)
@key = key
@value = value
@event = :found
end
|
#found_in_defaults(key, value) ⇒ Object
45
46
47
48
49
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 45
def found_in_defaults(key, value)
@key = key
@value = value
@event = :found_in_defaults
end
|
#found_in_overrides(key, value) ⇒ Object
39
40
41
42
43
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 39
def found_in_overrides(key, value)
@key = key
@value = value
@event = :found_in_overrides
end
|
#increase_indent(indent) ⇒ Object
75
76
77
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 75
def increase_indent(indent)
indent + ' '
end
|
#module_not_found ⇒ Object
71
72
73
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 71
def module_not_found
@event = :module_not_found
end
|
#not_found(key) ⇒ Object
62
63
64
65
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 62
def not_found(key)
@key = key
@event = :not_found
end
|
#path_not_found ⇒ Object
67
68
69
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 67
def path_not_found
@event = :path_not_found
end
|
#result(value) ⇒ Object
57
58
59
60
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 57
def result(value)
@value = value
@event = :result
end
|
79
80
81
82
83
84
85
86
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 79
def to_hash
hash = super
hash[:key] = @key unless @key.nil?
hash[:value] = @value if [:found, :found_in_defaults, :found_in_overrides, :result].include?(@event)
hash[:event] = @event unless @event.nil?
hash[:type] = type
hash
end
|
88
89
90
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 88
def type
:root
end
|