Class: Puppet::Pops::Lookup::Explainer
Instance Method Summary
collapse
Methods inherited from ExplainNode
#branches, #dump_texts, #explain, #inspect, #text, #to_s
Constructor Details
#initialize(explain_options = false, only_explain_options = false) ⇒ Explainer
Returns a new instance of Explainer.
463
464
465
466
467
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 463
def initialize(explain_options = false, only_explain_options = false)
@current = self
@explain_options = explain_options
@only_explain_options = only_explain_options
end
|
Instance Method Details
#accept_found(key, value) ⇒ Object
521
522
523
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 521
def accept_found(key, value)
@current.found(key, value)
end
|
#accept_found_in_defaults(key, value) ⇒ Object
517
518
519
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 517
def accept_found_in_defaults(key, value)
@current.found_in_defaults(key, value)
end
|
#accept_found_in_overrides(key, value) ⇒ Object
513
514
515
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 513
def accept_found_in_overrides(key, value)
@current.found_in_overrides(key, value)
end
|
#accept_location_not_found ⇒ Object
533
534
535
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 533
def accept_location_not_found
@current.location_not_found
end
|
#accept_merge_source(merge_source) ⇒ Object
525
526
527
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 525
def accept_merge_source(merge_source)
@current.branches << ExplainMergeSource.new(merge_source)
end
|
#accept_module_not_found(module_name) ⇒ Object
537
538
539
540
541
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 537
def accept_module_not_found(module_name)
push(:module, module_name)
@current.module_not_found
pop
end
|
#accept_module_provider_not_found(module_name) ⇒ Object
543
544
545
546
547
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 543
def accept_module_provider_not_found(module_name)
push(:module, module_name)
@current.module_provider_not_found
pop
end
|
#accept_not_found(key) ⇒ Object
529
530
531
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 529
def accept_not_found(key)
@current.not_found(key)
end
|
#accept_result(result) ⇒ Object
549
550
551
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 549
def accept_result(result)
@current.result(result)
end
|
#accept_text(text) ⇒ Object
553
554
555
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 553
def accept_text(text)
@current.text(text)
end
|
#dump_on(io, indent, first_indent) ⇒ Object
557
558
559
560
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 557
def dump_on(io, indent, first_indent)
branches.each { |b| b.dump_on(io, indent, first_indent) }
dump_texts(io, indent)
end
|
#explain_options? ⇒ Boolean
505
506
507
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 505
def explain_options?
@explain_options
end
|
#only_explain_options? ⇒ Boolean
501
502
503
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 501
def only_explain_options?
@only_explain_options
end
|
509
510
511
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 509
def pop
@current = @current.parent unless @current.parent.nil?
end
|
#push(qualifier_type, qualifier) ⇒ Object
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 469
def push(qualifier_type, qualifier)
node = case (qualifier_type)
when :global
ExplainGlobal.new(@current, qualifier)
when :location
ExplainLocation.new(@current, qualifier)
when :interpolate
ExplainInterpolate.new(@current, qualifier)
when :data_provider
ExplainDataProvider.new(@current, qualifier)
when :merge
ExplainMerge.new(@current, qualifier)
when :module
ExplainModule.new(@current, qualifier)
when :scope
ExplainScope.new(@current, qualifier)
when :sub_lookup
ExplainSubLookup.new(@current, qualifier)
when :segment
ExplainKeySegment.new(@current, qualifier)
when :meta, :data
ExplainTop.new(@current, qualifier_type, qualifier)
when :invalid_key
ExplainInvalidKey.new(@current, qualifier)
else
raise ArgumentError, _("Unknown Explain type %{qualifier_type}") % { qualifier_type: qualifier_type }
end
@current.branches << node
@current = node
end
|
562
563
564
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 562
def to_hash
branches.size == 1 ? branches[0].to_hash : super
end
|