> # Returns the Method that was active, if any, when the binding was created > def method() ...???... > > # Returns the Proc that was active, if any, when the binding was created > def proc() ... ??? ... > > # Returns the call stack, same format as Kernel##caller() > def caller( skip = 0 ); eval( "caller( #{skip})") end What whould also be nice, is that caller in this context return an array of Bindings (i.e. Object#method) and not of string (of "file: line: ...").