Project

General

Profile

Feature #9887

Updated by nobu (Nobuyoshi Nakada) almost 10 years ago

Hi! 

 I would like to have a way to cleanly uninclude a module. 

 Consider: 

 ```ruby 
 ` 
   module Foo 
   
     TEST = '123' 
 
   end 
 
   class Bar 
   
     include Foo 
 
   end 
 ``` ` 

 Now I would like to uninclude Foo. I can remove constants and methods already, 
 i.e. via `remove_method` remove_method or `undef`* undef* and constants can be removed as well but 
 I would like to have something like: 

 ~~~ruby 
 class Bar 
   
 uninclude Foo 
 end 
 ~~~ 

 or 

 ~~~ruby 
  

 Bar.uninclude Foo 
 Bar.remove_ancestors Foo 
 ~~~ 

 Would this be possible? It might be useful but perhaps there is a 
  
 reason why this can not be added. 

Back