# File lib/backports/basic_object.rb, line 32 def === (cmp) true end
Let's try to keep things clean, in case methods have been added to Object either directly or through an included module. We'll do this whenever a class is derived from BasicObject Ideally, we'd do this by trapping Object.method_added and M.method_added for any module M included in Object or a submodule Seems really though to get right, but pull requests welcome ;-)
# File lib/backports/basic_object.rb, line 42 def inherited(sub) BasicObject.class_eval do (instance_methods - KEEP).each do |method| if Object.method_defined?(method) && instance_method(method).owner == Object.instance_method(method).owner undef_method method end end end end