Bah ignore this! I had thought I tested this, and that was the behavior, 
but my test was flawed....

undef_method does work the way that Csaba implies.. my bad.

Zach

Zach Dennis wrote:
> Csaba Henk wrote:
> 
>>> There is also : what do you do is someone write ?
>>>
>>>   class C
>>>      uninclude Kernel
>>>   end
>>
>>
>>
>> Is there any danger to let this? You can undef all methods one by one 
>> now as well (leave "undef_method" for last :) ). If its problematic,
>> raise an error.
>>
> 
> This is pulled from the documentation for undef_method:
> 
>    class Parent
>      def hello
>        puts "In parent"
>      end
>    end
>    class Child < Parent
>      def hello
>        puts "In child"
>      end
>    end
> 
>    c = Child.new
>    c.hello
> 
>    class Child
>      remove_method :hello  # remove from child, still in parent
>    end
>    c.hello
> 
>    class Child
>      undef_method :hello   # prevent any calls to 'hello'
>    end
>    c.hello
> 
> 
> How do you know if the user truly wants to block all calls to "hello", 
> or if they are just trying to remove the "hello" method on the Child 
> class? Perhaps it still should go up to the next "hello" method in the 
> ancestor chain...but undef_method doesn't work like that.
> 
> Zach
> 
> 
>