Наилучшим подходом, вероятно, является подготовка вашего пути загрузки, поэтому вам не нужно делать все это. Для вашего основного модуля или файла инициализации не составляет особого труда представить несколько других мест.
На это также влияют переменная среды RUBYLIB и параметр командной строки -I.
$: << File.expand_path(File.join('..', 'lib'), File.dirname(__FILE__))