# Delegation class that delegates even methods defined in super class, # which can not be covered with normal method_missing hack. # # Delegator is the abstract delegation class. Need to redefine # `__getobj__' method in the subclass. SimpleDelegator is the # concrete subclass for simple delegation. # # Usage: # foo = Object.new # foo2 = SimpleDelegator.new(foo) # foo.hash == foo2.hash # => true # # Foo = DelegateClass(Array) # # class ExtArray true foo.test # raise error! end