Hi!

I've written a library (for the sake of this email, let's call it 
Mylib). The directory structure for it is like this:

lib/
  |- mylib/
  |     |- bar.rb
  |     \- foo.rb
  |
  \- mylib.rb

Now, in the applications, I do "require 'lib/mylib.rb'" or similar. Then 
mylib.rb does "require 'mylib/foo.rb'" and "require 'mylib/bar.rb'". 
This works fine when I use the __FILE__-idiom (to check if you run 
mylib.rb directly), but from another file, this fails. (Because it looks 
for mylib/foo.rb relative to the cwd of the application requiring 
mylib.rb, which is wrong)

What's the best approach to solve this?

I could either change $LOAD_PATH in the library, adding 
File.dirname(__FILE__) to it, or using File.dirname(__FILE__) as a part 
of *every* includepath. (require File.dirname(__FILE__) + '...')

Other suggestions also welcome. :-)

-- 
Kindest regards / Med vennlig hilsen,
  J°˛gen P. Tjern  <jorgen / devsoft.no>