Class: Puppet::Pops::Lookup::DebugExplainer

Inherits:
Explainer show all
Defined in:
lib/puppet/pops/lookup/explainer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Explainer

#accept_found, #accept_found_in_defaults, #accept_found_in_overrides, #accept_location_not_found, #accept_merge_source, #accept_module_not_found, #accept_module_provider_not_found, #accept_not_found, #accept_result, #accept_text, #explain_options?, #only_explain_options?, #pop, #push, #to_hash

Methods inherited from ExplainNode

#branches, #dump_texts, #explain, #inspect, #text, #to_hash, #to_s

Constructor Details

#initialize(wrapped_explainer) ⇒ DebugExplainer

Returns a new instance of DebugExplainer.



569
570
571
572
573
574
575
576
577
578
579
580
# File 'lib/puppet/pops/lookup/explainer.rb', line 569

def initialize(wrapped_explainer)
  @wrapped_explainer = wrapped_explainer
  if wrapped_explainer.nil?
    @current = self
    @explain_options = false
    @only_explain_options = false
  else
    @current = wrapped_explainer
    @explain_options = wrapped_explainer.explain_options?
    @only_explain_options = wrapped_explainer.only_explain_options?
  end
end

Instance Attribute Details

#wrapped_explainerObject (readonly)

Returns the value of attribute wrapped_explainer.



567
568
569
# File 'lib/puppet/pops/lookup/explainer.rb', line 567

def wrapped_explainer
  @wrapped_explainer
end

Instance Method Details

#dump_on(io, indent, first_indent) ⇒ Object



582
583
584
# File 'lib/puppet/pops/lookup/explainer.rb', line 582

def dump_on(io, indent, first_indent)
  @current.equal?(self) ? super : @current.dump_on(io, indent, first_indent)
end

#emit_debug_info(preamble) ⇒ Object



586
587
588
589
590
591
# File 'lib/puppet/pops/lookup/explainer.rb', line 586

def emit_debug_info(preamble)
  io = ''
  io << preamble << "\n"
  dump_on(io, '  ', '  ')
  Puppet.debug(io.chomp!)
end