class Pry::Command::Wtf

Public Instance Methods

options(opt) click to toggle source
# File lib/pry/commands/wtf.rb, line 22
def options(opt)
  opt.on :v, :verbose, "Show the full backtrace"
end
process() click to toggle source
# File lib/pry/commands/wtf.rb, line 26
def process
  raise Pry::CommandError, "No most-recent exception" unless exception

  output.puts "#{text.bold('Exception:')} #{exception.class}: #{exception}\n--"
  if opts.verbose?
    output.puts with_line_numbers(backtrace)
  else
    output.puts with_line_numbers(backtrace.first(size_of_backtrace))
  end
end

Private Instance Methods

backtrace() click to toggle source
# File lib/pry/commands/wtf.rb, line 47
def backtrace
  exception.backtrace
end
exception() click to toggle source
# File lib/pry/commands/wtf.rb, line 39
def exception
  _pry_.last_exception
end
size_of_backtrace() click to toggle source
# File lib/pry/commands/wtf.rb, line 51
def size_of_backtrace
  [captures[0].size, 0.5].max * 10
end
with_line_numbers(bt) click to toggle source
# File lib/pry/commands/wtf.rb, line 43
def with_line_numbers(bt)
  Pry::Code.new(bt, 0, :text).with_line_numbers.to_s
end