Требовать рубиновый файл без расширения .rb?

У меня есть рубиновый файл, у которого нет расширения .rb, и вместо этого он идентифицируется как ruby-код с shebang в начале файла: #!/usr/bin/env ruby. Я хочу require код в этом файле в другом рубиновом файле, но у него, похоже, проблема, потому что require автоматически добавляет расширение .rb к файлам, которые он ищет. Есть ли способ подавить это поведение и заставить требовать только поиск файла по имени?

Ответ 1

Вместо этого используйте load:

load 'file-name'

Ответ 2

У нас есть сценарии, которым пользователи могут звонить, к которым обращаются с помощью символических ссылок. Символы существуют в нашем каталоге /usr/local/bin, который автоматически включается в их путь через незначительную настройку в /etc/profile.

Наши реальные скрипты существуют в отдельном каталоге, используя обычное имя Ruby, заканчивающееся на ".rb". Мы можем получить доступ к тем, кто использует require, если это необходимо.

/usr/local/bin/foo --> /usr/local/share/app_name/foo.rb