Need makes ruby relative requires just work. Simply need a file with a
relative path
and the file will always be required correctly, regardless of what file
your application is
being launched through. Typically, ruby projects would unshift lib onto
$PATH or use the
File.dirname(__FILE__) trick. Using need means you don't have to worry
about either of these.

Assume you have two files, one directly in lib and the other in
lib/extensions. Let's assume that file_a in lib requires file_b, in
lib/extensions. Previously, you would doing some crazy load path
unshifting or use the __FILE__ trick to make these requires flexible
enough to work when your app is being accessed by rake, through a test
suite, or required as a gem. Now, just use need.

  In file_a:
  need{"extensions/file_b"}

Note that the block syntax is necessary. Need uses the binding of the
block to determine the
location of your file and correct perform your relative require for you.

== INSTALL:

* sudo gem install need

Hope you enjoy it!

- Drew
-- 
Posted via http://www.ruby-forum.com/.