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.
465 466 467 468 469 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 465 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.
523 524 525 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 523 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.
519 520 521 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 519 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.
515 516 517 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 515 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.
535 536 537 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 535 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.
527 528 529 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 527 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.
539 540 541 542 543 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 539 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.
545 546 547 548 549 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 545 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.
531 532 533 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 531 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.
551 552 553 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 551 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.
555 556 557 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 555 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.
559 560 561 562 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 559 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.
507 508 509 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 507 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.
503 504 505 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 503 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.
511 512 513 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 511 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.
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 500 501 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 471 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.
564 565 566 |
# File 'lib/puppet/pops/lookup/explainer.rb', line 564 def to_hash branches.size == 1 ? branches[0].to_hash : super end |