>>51
require前後でObject.constants比べてみたりClass#inherited書き換えてみるとか?
全然完全じゃないけど

class Class
 def inherited(sub)
  puts "#{sub} < #{self}"
 end
end

before = Object.constants
require 'date'
p Object.constants - before

Dateの方は元々定義されてるしどちらの方法でも検出できないなぁ
Module#method_addedとかも見ておけば一応いけそう?