Is there a way to intercept method defines, so that i can setup a callback whenever a new method is defined for a class? I'm looking for something that works with the def keyword, and doesn't require any extensions.
-Ben
Is there a way to intercept method defines, so that i can setup a callback whenever a new method is defined for a class? I'm looking for something that works with the def keyword, and doesn't require any extensions.
-Ben
Yep. Module#method_added
If you do this:
class Example
def self.method_added(meth)
p meth
end
end
After that, this code:
class Example;def foo(baz);5;end;end
..will print out: :foo
On 9/14/07, Ben Burkert <ben@benburkert.com> wrote:
Is there a way to intercept method defines, so that i can setup a
callback whenever a new method is defined for a class? I'm looking
for something that works with the def keyword, and doesn't require
any extensions.
Is there a way to intercept method defines, so that i can setup a
callback whenever a new method is defined for a class?
class Module
def method_added(method_name)
p [caller[0], self, method_name]
end
end
class Foo
def bar
end
end
gegroet,
Erik V.
great, thanks.
On Sep 14, 2007, at 4:54 PM, Wilson Bilkovich wrote:
On 9/14/07, Ben Burkert <ben@benburkert.com> wrote:
Is there a way to intercept method defines, so that i can setup a
callback whenever a new method is defined for a class? I'm looking
for something that works with the def keyword, and doesn't require
any extensions.Yep. Module#method_added
If you do this:class Example
def self.method_added(meth)
p meth
end
endAfter that, this code:
class Example;def foo(baz);5;end;end..will print out: :foo