Rather than explicitly requiring the path that assumes the current project directory, it tries to add the necessary directory to the load path and requiring the library after. This maintains previous behavior,
but takes advantage of everything available in the load path in case the lib directory is not in the stated location, but is nonetheless known in the load path.
For example, this happens in the aptitude package manager on Debian, where bin files might be located in the /usr/bin directory but the lib/parity files are located in /usr/lib/ruby directory
Rather than explicitly requiring the path that assumes the current project directory, it tries to add the necessary directory to the load path and requiring the library after. This maintains previous behavior, but takes advantage of everything available in the load path in case the lib directory is not in the stated location, but is nonetheless known in the load path.
For example, this happens in the aptitude package manager on Debian, where bin files might be located in the
/usr/bin
directory but thelib/parity
files are located in/usr/lib/ruby
directory