hook methods
class A
def a
p :_a
end
def b
p :_b
end
end
A.class_eval {
public_instance_methods(false).each { |name|
old = instance_method(name)
define_method(name) { |*a, &b|
p __callee__
old.bind(self).call(*a, &b)
}
}
}
A.new.aINFO