加载类时的回调

是否有一个可以在加载类时执行的回调。 我在想这样的事情。

register_callback('Foo', :debug_message) def debug_message puts "Foo has been loaded" end require 'foo' 

不,那里没有。 并且不可能 ,因为Ruby中的类是开放的简单原因:它们永远不会完全“加载”,您可以随时添加,删除,重命名和覆盖方法。

例如,以下类何时“已加载”?

 # foo.rb class Foo def some_method end end # bar.rb class Foo def some_other_method end end # baz.rb class Foo def some_method end end require 'foo' require 'bar' require 'baz' if rand > 0.5