class Module
def local_constants
previous versions it may miss some constants if their definition in some
not in an ancestor. This method is exact if running under Ruby 1.9. In
Returns the constants that have been defined locally by this object and
def local_constants inherited = {} ancestors.each do |anc| next if anc == self anc.constants.each { |const| inherited[const] = anc.const_get(const) } end constants.select do |const| !inherited.key?(const) || inherited[const].object_id != const_get(const).object_id end end