Каков наилучший способ управления требуемыми путями в рубиновой программе?
Позвольте мне привести базовый пример, рассмотрим структуру типа:
\MyProgram
\MyProgram\src\myclass.rb
\MyProgram\test\mytest.rb
Если в моем тесте я использую require '../src/myclass'
, тогда я могу только вызывать тест из папки \MyProgram\test
, но я хочу иметь возможность называть его по любому пути!
Решение, с которым я столкнулся, - это определить во всех исходных файлах следующую строку:
ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(ROOT)
, а затем всегда используйте require "#{ROOT}/src/myclass"
Есть ли лучший способ сделать это?