From: Matthew Harris Date: 2006-06-16T21:30:33+09:00 Subject: Re: Libraries and requiring other files. I also use the `-I' option when I need to test scripts. As Jim said, when you deploy your application, make it install into a directory that Ruby will automatically search. A good way to deploy applications is to use `setup.rb' (just Google for it) or build a gem. On 6/16/06, "J�rgen P. Tjern�" wrote: > 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�rgen P. Tjern� > > > -- Matt