Class: Puppet::Pops::Lookup::ExplainLocation Private

Inherits:
ExplainTreeNode show all
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.

Instance Attribute Summary

Attributes inherited from ExplainTreeNode

#event, #key, #parent, #value

Instance Method Summary collapse

Methods inherited from ExplainTreeNode

#dump_outcome, #dump_value, #found, #found_in_defaults, #found_in_overrides, #increase_indent, #location_not_found, #not_found, #result, #to_s

Methods inherited from ExplainNode

#branches, #dump_texts, #explain, #inspect, #text, #to_s

Constructor Details

#initialize(parent, location) ⇒ ExplainLocation

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 ExplainLocation.


371
372
373
374
# File 'lib/puppet/pops/lookup/explainer.rb', line 371

def initialize(parent, location)
  super(parent)
  @location = location
end

Instance Method Details

#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.


376
377
378
379
380
381
382
383
384
385
# File 'lib/puppet/pops/lookup/explainer.rb', line 376

def dump_on(io, indent, first_indent)
  location = @location.location
  type_name = type == :path ? 'Path' : 'URI'
  io << indent << type_name << ' "' << location.to_s << "\"\n"
  indent = increase_indent(indent)
  io << indent << 'Original ' << type_name.downcase << ': "' << @location.original_location << "\"\n"
  branches.each {|b| b.dump_on(io, indent, indent)}
  io << indent << type_name << " not found\n" if @event == :location_not_found
  dump_outcome(io, indent)
end

#to_hashObject

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.


387
388
389
390
391
392
393
394
395
396
397
398
# File 'lib/puppet/pops/lookup/explainer.rb', line 387

def to_hash
  hash = super
  location = @location.location
  if type == :path
    hash[:original_path] = @location.original_location
    hash[:path] = location.to_s
  else
    hash[:original_uri] = @location.original_location
    hash[:uri] = location.to_s
  end
  hash
end

#typeObject

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.


400
401
402
# File 'lib/puppet/pops/lookup/explainer.rb', line 400

def type
  @location.location.is_a?(Pathname) ? :path : :uri
end