Префикс 'require' для движка Rails - PullRequest
0 голосов
/ 14 апреля 2011

Если у меня есть гем 'foo' (который основан на движке), как я могу сказать, что все включенные в него файлы будут нуждаться в префиксе 'foo /', когда они требуются?

Например, если в моем геме 'foo' есть файл 'bar.rb', я бы хотел, чтобы включение этого файла было сделано так:

require 'foo/bar'

вместо обычного

require 'bar'

я хочу, чтобы это поведение применялось независимо от контекста включения (из приложения, из другого драгоценного камня и т. Д.) ...

я знаю, что это выполнимо, так как большинство файлов rails включены через префикс 'rails':

require 'rails/something'

Ответы [ 2 ]

0 голосов
/ 14 апреля 2011

Как насчет этого:

Dir["/path/to/directory/*.rb"].each {|file| require file }

Просто убедитесь, что у вас есть foo в корневом каталоге, а остальные файлы в подкаталоге (в противном случае он будет включать себя)

0 голосов
/ 14 апреля 2011

Вы не можете сделать это программно, кроме как вручную указав префикс, когда требуются файлы.У Руби нет другого способа узнать, кроме как, если ты скажешь это.

...