-----Original Message-----
From: Robert Klemme [mailto:shortcutter / googlemail.com]=20
Sent: 17 February 2011 12:24
To: ruby-talk ML
Subject: Re: question about modules

On Thu, Feb 17, 2011 at 12:53 PM, James French
<James.French / naturalmotion.com> wrote:
> Hi group,
>
> I have a main.rb file which is the entry point for a system. It loads a l=
ot of other ruby files using 'require'. I would like to put this whole syst=
em inside a module 'X' basically for namespacing purposes.
>
> My question is: is it possible to just place the whole of main.rb in modu=
le X and then expect all classes and methods etc that get created via requi=
re to be automatically imported into that module (ie just specify the modul=
e once in main.rb)?

No.

> It would be great if this was possible as I wouldn't have to wrap every s=
ingle file in module X statements (and wouldn't that create a nested module=
 X inside the outer module X??)

No.  You have to explicitly nest every individual file unless you want
to start using eval or other tricks to save the work of typing.

Actually for the typing you may be able to do something like this (untested=
):

find lib/x -type f -name \*.rb -print0 | xargs -r0 -n 1 ruby -p '-i~'
-e 'BEGIN { puts "module X" }; END { puts "end"}'

Kind regards

robert

--=20
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

OK. Thank Robert - much appreciated.