Method: Puppet::Util.format_backtrace_array

Defined in:
lib/puppet/util.rb

.format_backtrace_array(primary_stack, puppetstack = []) ⇒ Object

arguments may be a Ruby stack, with an optional Puppet stack argument, or just a Puppet stack. stacks may be an Array of Strings “/foo.rb:0 in ‘blah’” or an Array of Arrays that represent a frame: [“/foo.pp”, 0]



587
588
589
590
591
592
593
594
595
596
597
598
599
# File 'lib/puppet/util.rb', line 587

def self.format_backtrace_array(primary_stack, puppetstack = [])
  primary_stack.flat_map do |frame|
    frame = format_puppetstack_frame(frame) if frame.is_a?(Array)
    primary_frame = resolve_stackframe(frame)

    if primary_frame =~ PUPPET_STACK_INSERTION_FRAME && !puppetstack.empty?
      [resolve_stackframe(format_puppetstack_frame(puppetstack.shift)),
       primary_frame]
    else
      primary_frame
    end
  end
end