This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# Module.const_defined? (from ruby core) --- mod.const_defined?(sym, inherit=true) -> true or false mod.const_defined?(str, inherit=true) -> true or false --- Says whether *mod* or its ancestors have a constant with the given name: Float.const_defined?(:EPSILON) #=> true, found in Float itself Float.const_defined?("String") #=> true, found in Object (ancestor) BasicObject.const_defined?(:Hash) #=> false If *mod* is a `Module`, additionally `Object` and its ancestors are checked: Math.const_defined?(:String) #=> true, found in Object In each of the checked classes or modules, if the constant is not present but there is an autoload for it, `true` is returned directly without autoloading: module Admin autoload :User, 'admin/user' end Admin.const_defined?(:User) #=> true If the constant is not found the callback `const_missing` is **not** called and the method returns `false`. If `inherit` is false, the lookup only checks the constants in the receiver: IO.const_defined?(:SYNC) #=> true, found in File::Constants (ancestor) IO.const_defined?(:SYNC, false) #=> false, not found in IO itself In this case, the same logic for autoloading applies. If the argument is not a valid constant name a `NameError` is raised with the message "wrong constant name *name*": Hash.const_defined? 'foobar' #=> NameError: wrong constant name foobar
This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.