This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# Module.const_missing (from ruby core) --- mod.const_missing(sym) -> obj --- Invoked when a reference is made to an undefined constant in *mod*. It is passed a symbol for the undefined constant, and returns a value to be used for that constant. The following code is an example of the same: def Foo.const_missing(name) name # return the constant name as Symbol end Foo::UNDEFINED_CONST #=> :UNDEFINED_CONST: symbol returned In the next example when a reference is made to an undefined constant, it attempts to load a file whose name is the lowercase version of the constant (thus class `Fred` is assumed to be in file `fred.rb`). If found, it returns the loaded class. It therefore implements an autoload feature similar to Kernel#autoload and Module#autoload. def Object.const_missing(name) @looked_for ||= {} str_name = name.to_s raise "Class not found: #{name}" if @looked_for[str_name] @looked_for[str_name] = 1 file = str_name.downcase require file klass = const_get(name) return klass if klass raise "Class not found: #{name}" end
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.