Class: Puppet::Pops::Lookup::Explainer Private
- Inherits:
-
ExplainNode
- Object
- ExplainNode
- Puppet::Pops::Lookup::Explainer
- Defined in:
- lib/puppet/pops/lookup/explainer.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Direct Known Subclasses
Instance Method Summary collapse
- #accept_found(key, value) ⇒ Object private
- #accept_found_in_defaults(key, value) ⇒ Object private
- #accept_found_in_overrides(key, value) ⇒ Object private
- #accept_location_not_found ⇒ Object private
- #accept_merge_source(merge_source) ⇒ Object private
- #accept_module_not_found(module_name) ⇒ Object private
- #accept_module_provider_not_found(module_name) ⇒ Object private
- #accept_not_found(key) ⇒ Object private
- #accept_result(result) ⇒ Object private
- #accept_text(text) ⇒ Object private
- #dump_on(io, indent, first_indent) ⇒ Object private
- #explain_options? ⇒ Boolean private
-
#initialize(explain_options = false, only_explain_options = false) ⇒ Explainer
constructor
private
A new instance of Explainer.
- #only_explain_options? ⇒ Boolean private
- #pop ⇒ Object private
- #push(qualifier_type, qualifier) ⇒ Object private
- #to_hash ⇒ Object private
Methods inherited from ExplainNode
#branches, #dump_texts, #explain, #inspect, #text, #to_s
Constructor Details
#initialize(explain_options = false, only_explain_options = false) ⇒ Explainer
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Explainer.
463 464 465 466 467 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 463 def initialize( = false, = false) @current = self @explain_options = @only_explain_options = end |
Instance Method Details
#accept_found(key, value) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
549 550 551 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 549 def accept_result(result) @current.result(result) end |
#accept_text(text) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
505 506 507 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 505 def @explain_options end |
#only_explain_options? ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
501 502 503 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 501 def @only_explain_options end |
#pop ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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 #TRANSLATORS 'Explain' is referring to the 'Explainer' class and should not be translated raise ArgumentError, _("Unknown Explain type %{qualifier_type}") % { qualifier_type: qualifier_type } end @current.branches << node @current = node end |
#to_hash ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
562 563 564 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 562 def to_hash branches.size == 1 ? branches[0].to_hash : super end |