Requiring multiple files

Hi all!
I was wonder how one goes about requireing multiple files.
I have the follow file structure:
Project/
run.rb
sub/
go.rb
require_me.rb

now in run.rb
require ‘sub/go’
in go.rb
require ‘require_me’

but when i execute run.rb, it says it can’t find require_me.rb

what are the best ways to set up files and include then in ruby?

thankx!

rNuby wrote:

require ‘sub/go’
in go.rb
require ‘require_me’

but when i execute run.rb, it says it can’t find require_me.rb
try:

require ‘sub/require_me’

what are the best ways to set up files and include then in ruby?
I usually do something like this:

$app_dir = File.expand_path(File.join(File.dirname(FILE), ‘…’))
$:.unshift($app_dir)

Assuming a layout like this:

bin/
launcher (<- here’s where the above goes)
lib/
a.rb
b.rb

That way I know I can consistently use:

require ‘lib/b’

from anywhere in the app.

run.rb is a directory higher than require_me.rb, so you’re require line
would be

require ‘sub/require_me.rb’

This is also true for some of the standard library stuff. For
instance if you wanted the ftp library

require ‘net/ftp’

Hope that helps,
Kyle

On 7/25/07, rNuby [email protected] wrote:

now in run.rb

To clarify on Alex’s response, I think that this has something to do
with
the load path. If it’s being set to the Project directory, then trying
to
require ‘require_me’ in go.rb won’t work, even though the files are
sitting
in the same directory. If your load path only points to the Project
directory, it doesn’t find require_me in there and bombs.
Chris