如果我有一个gem 'foo'(这是基于引擎的),我怎么能说它包含的所有文件都需要'foo/'前缀当'需要'它们?
例如,如果在我的'foo' gem中有一个'bar '。
require 'foo/bar'
而不是通常的
require 'bar'
我希望这个行为适用于任何包含上下文(从一个APP,从另一个gem,等等)…
我知道这是可行的,因为大多数rails文件都是通过'rails'前缀包含的:
require 'rails/something'
除了在需要文件时手动指定前缀之外,您不能以编程方式做到这一点。如果你不告诉Ruby,它是不会知道的。
这个怎么样:
Dir["/path/to/directory/*.rb"].each {|file| require file }
确保您的foo
在根目录中,其余文件在子目录中(否则它将包含自己)