This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# UnboundMethod < Object --- # Includes: (from gem method_source-1.0.0) MethodSource::SourceLocation::UnboundMethodExtensions MethodSource::MethodExtensions (from ruby core) --- Ruby supports two forms of objectified methods. Class Method is used to represent methods that are associated with a particular object: these method objects are bound to that object. Bound method objects for an object can be created using Object#method. Ruby also supports unbound methods; methods objects that are not associated with a particular object. These can be created either by calling Module#instance_method or by calling #unbind on a bound method object. The result of both of these is an UnboundMethod object. Unbound methods can only be called after they are bound to an object. That object must be a kind_of? the method's original class. class Square def area @side * @side end def initialize(side) @side = side end end area_un = Square.instance_method(:area) s = Square.new(12) area = area_un.bind(s) area.call #=> 144 Unbound methods are a reference to the method at the time it was objectified: subsequent changes to the underlying class will not affect the unbound method. class Test def test :original end end um = Test.instance_method(:test) class Test def test :modified end end t = Test.new t.test #=> :modified um.bind(t).call #=> :original --- # Instance methods: == arity bind bind_call clone eql? hash inspect name original_name owner parameters private? protected? public? source_location super_method to_s (from gem debug-1.7.1) --- # Instance methods: bind_call --- Also found in: gem method_source-1.0.0
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.