metaprogramming/const_added_top_level_parens.rb
tests/_examples/metaprogramming/const_added_top_level_parens.rb in the metorex repository.
class Module
def const_added(name)
puts("added #{name} to #{self.name || self.inspect}")
end
end
module TopLevelModule
end
class TopLevelClass
end
TopLevelConstant = 1
module Outer
Inner = 2
module Nested
end
end
AnonymousBound = Module.new
puts(AnonymousBound.name)
Output:
added TopLevelModule to Object
added TopLevelClass to Object
added TopLevelConstant to Object
added Outer to Object
added Inner to Outer
added Nested to Outer
added AnonymousBound to Object
AnonymousBound