rubyjrubyload-path

Use Ruby Class In A Different Directory


I have written a few ruby classes. However, when trying to access one from another directory I am getting the following error:

uninitialized constant Main::AppVersion

This is what the directory structure looks like:

home --> a --> app_version.rb
home --> b --> c --> lib --> main.rb (and other classes)

Everything within "lib" can see each other. However, when trying to access app_version, it fails. I added the path to app version (home/a) to the $LOAD_PATH. So it should be available from there. I have also tried "requiring" my other class, but when I do that I get the following error:

LoadError: no such file to load -- AppVersion

Any idea on what I could be doing wrong here would be highly appreciated. Thanks!


Solution

  • Can try using require_relative:

    require_relative '../../../a/app_version'