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
520
521
522
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 520
def accept_found(key, value)
@current.found(key, value)
end
|
#accept_found_in_defaults(key, value) ⇒ Object
516
517
518
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 516
def accept_found_in_defaults(key, value)
@current.found_in_defaults(key, value)
end
|
#accept_found_in_overrides(key, value) ⇒ Object
512
513
514
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 512
def accept_found_in_overrides(key, value)
@current.found_in_overrides(key, value)
end
|
#accept_location_not_found ⇒ Object
532
533
534
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 532
def accept_location_not_found
@current.location_not_found
end
|
#accept_merge_source(merge_source) ⇒ Object
524
525
526
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 524
def accept_merge_source(merge_source)
@current.branches << ExplainMergeSource.new(merge_source)
end
|
#accept_module_not_found(module_name) ⇒ Object
536
537
538
539
540
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 536
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
542
543
544
545
546
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 542
def accept_module_provider_not_found(module_name)
push(:module, module_name)
@current.module_provider_not_found
pop
end
|
#accept_not_found(key) ⇒ Object
528
529
530
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 528
def accept_not_found(key)
@current.not_found(key)
end
|
#accept_result(result) ⇒ Object
548
549
550
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 548
def accept_result(result)
@current.result(result)
end
|
#accept_text(text) ⇒ Object
552
553
554
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 552
def accept_text(text)
@current.text(text)
end
|
#dump_on(io, indent, first_indent) ⇒ Object
556
557
558
559
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 556
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
504
505
506
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 504
def explain_options?
@explain_options
end
|
#only_explain_options? ⇒ Boolean
500
501
502
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 500
def only_explain_options?
@only_explain_options
end
|
508
509
510
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 508
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
|
# 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}"
end
@current.branches << node
@current = node
end
|
561
562
563
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 561
def to_hash
branches.size == 1 ? branches[0].to_hash : super
end
|