BasicObject provides an abstract base class
with no predefined methods (except for __send__
and
__id__
). BlankSlate is useful as a base class when writing
classes that depend upon method_missing
(e.g. dynamic
proxies).
Hide the method named name
in the BlankSlate class. Don't
hide instance_eval
or any method beginning with "__".
According to 1.9.1 it should have only these methods:
#__send__
instance_eval
instance_exec
equal?
#==
#!
#!=
Seems to me it should have #__id__ too.
# File lib/more/facets/basicobject.rb, line 32 def hide(name) undef_method name if instance_methods.include?(name.to_s) and name !~ %r^(__|instance_eval$|instance_exec$|equal\?$|\=\=$)/ end