Which Method Called current Method
I really wanted a way to determine, which method has called current method, for aiding in debugging purpose. Here is the way to do it in correct way finally:
def caller_method_name
parse_caller(caller(2).first).last
end
def parse_caller(at)
if /^(.+?):(\d+)(?::in `(.*)')?/ =~ at
file = Regexp.last_match[1]
line = Regexp.last_match[2].to_i
method = Regexp.last_match[3]
[file, line, method]
end
end