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.
462
463
464
465
466
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 462
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
519
520
521
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 519
def accept_found(key, value)
@current.found(key, value)
end
|
#accept_found_in_defaults(key, value) ⇒ Object
515
516
517
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 515
def accept_found_in_defaults(key, value)
@current.found_in_defaults(key, value)
end
|
#accept_found_in_overrides(key, value) ⇒ Object
511
512
513
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 511
def accept_found_in_overrides(key, value)
@current.found_in_overrides(key, value)
end
|
#accept_location_not_found ⇒ Object
531
532
533
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 531
def accept_location_not_found
@current.location_not_found
end
|
#accept_merge_source(merge_source) ⇒ Object
523
524
525
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 523
def accept_merge_source(merge_source)
@current.branches << ExplainMergeSource.new(merge_source)
end
|
#accept_module_not_found(module_name) ⇒ Object
535
536
537
538
539
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 535
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
541
542
543
544
545
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 541
def accept_module_provider_not_found(module_name)
push(:module, module_name)
@current.module_provider_not_found
pop
end
|
#accept_not_found(key) ⇒ Object
527
528
529
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 527
def accept_not_found(key)
@current.not_found(key)
end
|
#accept_result(result) ⇒ Object
547
548
549
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 547
def accept_result(result)
@current.result(result)
end
|
#accept_text(text) ⇒ Object
551
552
553
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 551
def accept_text(text)
@current.text(text)
end
|
#dump_on(io, indent, first_indent) ⇒ Object
555
556
557
558
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 555
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
503
504
505
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 503
def explain_options?
@explain_options
end
|
#only_explain_options? ⇒ Boolean
499
500
501
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 499
def only_explain_options?
@only_explain_options
end
|
507
508
509
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 507
def pop
@current = @current.parent unless @current.parent.nil?
end
|
#push(qualifier_type, qualifier) ⇒ Object
468
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
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 468
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
|
560
561
562
|
# File 'lib/puppet/pops/lookup/explainer.rb', line 560
def to_hash
branches.size == 1 ? branches[0].to_hash : super
end
|