Kudos! I had worked on something similar although I didn't use the block binding which is a better way to go. I alias_method_chained require and was using the caller stack to figure out the correct file path. But I kept running into the problem of having to require it everywhere... Like I would be in a test file and you'd have to have, require 'elreq' # name of mine require '../../test_helper' So I largely gave up b/c while it was cleaner, adding the extra require everywhere seemed to negate the benefits. If only it was globally available - like in core. :) A suggestion, if you are concerned with portability you may want to use File.join to concatenate the end result together. Also, you probably want to stick it in the Kernel module, but that may just be a design pet peeve of mine. Glad something like this is out there. Cheers, Kevin