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>