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 !~ /^(__|instance_eval$|instance_exec$|equal\?$|\=\=$)/ end