Compreendendo method_added para métodos de classe
Eu gostaria de fazer um pouco de mágica no momento, e os métodos de classe são adicionados a alguma classe. Portanto, tentei o seguinte:
module Magic
def self.included(base)
base.extend ClassMethods
end
module ClassMethods
def method_added(name)
puts "class method '#{name}' added"
end
def some_class_method
puts "some class method"
end
end
end
class Foo
include Magic
def self.method_added(name)
puts "instance method #{name} added"
end
end
Essa abordagem funciona bem, por exemplo, métodos, falha nos métodos de classe. Como posso resolver isso? Alguma sugestão?