On Sunday 28 November 2004 06:26 pm, Sam Stephenson wrote:
| On Mon, 29 Nov 2004 07:56:27 +0900, trans.  (T. Onoma)
|
| <transami / runbox.com> wrote:
| > Is there a simple way to include a module such that all the included
| > methods are private?
|
| If you can change the module definition itself, just add ``private''
| before defining any methods.

Nope. It's FileUtils that I want to include.

| If not, perhaps this would work:
| | class Module
| |   def privately_include(mod)
| |     self.class_eval {include(mod)}
| |     mod.instance_methods.each do |m|
| |       self.class_eval {private m.to_sym}
| |     end
| |     nil
| |   end
| | end
|

Thanks. 

| Note that this won't make future public methods defined in the module
| private in the including class.

Right. Hmm... Module#method_added could do it.

T.