This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# Gem::Specification.method_missing (from ruby core) ### Implementation from BasicObject --- obj.method_missing(symbol [, *args] ) -> result --- Invoked by Ruby when *obj* is sent a message it cannot handle. *symbol* is the symbol for the method called, and *args* are any arguments that were passed to it. By default, the interpreter raises an error when this method is called. However, it is possible to override the method to provide more dynamic behavior. If it is decided that a particular method should not be handled, then *super* should be called, so that ancestors can pick up the missing method. The example below creates a class `Roman`, which responds to methods with names consisting of roman numerals, returning the corresponding integer values. class Roman def roman_to_int(str) # ... end def method_missing(symbol, *args) str = symbol.id2name begin roman_to_int(str) rescue super(symbol, *args) end end end r = Roman.new r.iv #=> 4 r.xxiii #=> 23 r.mm #=> 2000 r.foo #=> NoMethodError
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.