0

gem 'foo' (エンジンベース) がある場合、そこに含まれるすべてのファイルを 'require' するときに 'foo/' プレフィックスが必要であるとどのように言えますか?

たとえば、「foo」gem に「bar.rb」ファイルがある場合、このファイルのインクルードを次のように強制できるようにしたいと考えています。

require 'foo/bar'

いつもの代わりに

require 'bar'

インクルージョンコンテキストが何であれ(APPから、別のgemからなど)この動作を適用したい...

Railsファイルのほとんどは「rails」プレフィックスを介して含まれているため、実行可能であることはわかっています。

require 'rails/something'
4

2 に答える 2

0

ファイルが必要なときにプレフィックスを手動で指定する以外に、プログラムでそれを行うことはできません。あなたがそれを伝える以外にRubyが知る方法はありません。

于 2011-04-13T21:54:45.913 に答える
0

これはどう:

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

あなたがfooルートディレクトリにあり、残りのファイルがサブディレクトリにあることを確認してください(そうでなければ、それ自体が含まれます)

于 2011-04-13T21:59:42.983 に答える