= SuperCaller
A Kernel#caller enhancement
Documentation:
http://seattlerb.org/SuperCaller
File Bugs:
http://rubyforge.org/tracker/?func=add&group_id=1513&atid=5921
== DESCRIPTION:
SuperCaller adds a beefed-up version of Kernel#caller and a beefed up
version of Exception#backtrace.
== FEATURES/PROBLEMS:
* Can cause Ruby to crash when an Exception with SuperCaller's
backtrace reaches the top level.
== SYNOPSIS:
Regular old Kernel#super_caller:
require 'super_caller'
def something() super_caller end
stack = something
p stack.first.file # => "-"
p stack.first.line # => 4
p stack.first.method_name # => nil
p stack.first.self # => main
p stack.first.sexp # => [:vcall, :super_caller]
p stack.first.source # => "def something\n super_caller\nend"
Fancy Exception#backtrace:
require 'super_caller/exception'
def raiser() raise end
def raisee
raiser
rescue => e
p e.backtrace.first.sexp
end
raiser # => [:vcall, :raise]
== INSTALL:
sudo gem install SuperCaller
A Kernel#caller enhancement
Documentation:
http://seattlerb.org/SuperCaller
File Bugs:
http://rubyforge.org/tracker/?func=add&group_id=1513&atid=5921
== DESCRIPTION:
SuperCaller adds a beefed-up version of Kernel#caller and a beefed up
version of Exception#backtrace.
== FEATURES/PROBLEMS:
* Can cause Ruby to crash when an Exception with SuperCaller's
backtrace reaches the top level.
== SYNOPSIS:
Regular old Kernel#super_caller:
require 'super_caller'
def something() super_caller end
stack = something
p stack.first.file # => "-"
p stack.first.line # => 4
p stack.first.method_name # => nil
p stack.first.self # => main
p stack.first.sexp # => [:vcall, :super_caller]
p stack.first.source # => "def something\n super_caller\nend"
Fancy Exception#backtrace:
require 'super_caller/exception'
def raiser() raise end
def raisee
raiser
rescue => e
p e.backtrace.first.sexp
end
raiser # => [:vcall, :raise]
== INSTALL:
sudo gem install SuperCaller