StackDeck::ExceptionSupport

Public Instance Methods

append_to_stack_deck(frames) click to toggle source
# File lib/stackdeck/exception.rb, line 5
def append_to_stack_deck(frames)
  higher_stack_deck.concat(frames)
  set_backtrace_from_stack_deck!
end
copy_ruby_stack_to_deck(ignored_part=caller) click to toggle source
# File lib/stackdeck/exception.rb, line 19
def copy_ruby_stack_to_deck(ignored_part=caller)
  @stack_deck_backtrace_remaining ||= backtrace
  upper_backtrace, lower_backtrace = StackDeck.split_list(@stack_deck_backtrace_remaining, ignored_part)
  higher_stack_deck.concat StackDeck::Frame::Ruby.extract(upper_backtrace)
  @stack_deck_backtrace_remaining = lower_backtrace
  set_backtrace_from_stack_deck!
end
higher_stack_deck() click to toggle source
# File lib/stackdeck/exception.rb, line 4
def higher_stack_deck; @higher_stack_deck ||= []; end
set_backtrace_from_stack_deck!() click to toggle source
# File lib/stackdeck/exception.rb, line 26
def set_backtrace_from_stack_deck!
  @stack_deck_backtrace_remaining ||= backtrace
  set_backtrace_without_stack_deck stack_deck(false).map {|fr| fr.to_s }
end
set_backtrace_with_stack_deck(frames) click to toggle source
# File lib/stackdeck/exception.rb, line 30
def set_backtrace_with_stack_deck(frames)
  @stack_deck_backtrace_remaining = nil
  @higher_stack_deck = []
  set_backtrace_without_stack_deck frames
end
stack_deck(stop_at_boundary=true) click to toggle source
# File lib/stackdeck/exception.rb, line 9
def stack_deck(stop_at_boundary=true)
  deck = []
  deck.concat(internal_stack_deck || []) if respond_to? :internal_stack_deck
  deck.concat higher_stack_deck
  remainder = @stack_deck_backtrace_remaining || backtrace
  deck.concat StackDeck::Frame::Ruby.extract(remainder) if remainder
  deck.compact!
  StackDeck.apply_boundary!(deck) if stop_at_boundary
  deck
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.