如果我有一个宝石'foo'(这是基于引擎的),我怎么能说包含在其中的所有文件在'需要'时需要'foo /'前缀?
例如,如果在我的'foo'gem中我有一个'bar.rb'文件,我希望能够强制包含这个文件是这样的:
require 'foo/bar'
而不是通常的
require 'bar'
我希望此行为适用于任何包含上下文(来自APP,来自另一个gem等)......
我知道这是可行的,因为大多数rails文件都是通过'rails'前缀包含的:
require 'rails/something'
答案 0 :(得分:0)
除了在需要文件时手动指定前缀之外,您不能以编程方式执行此操作。如果你说的话,Ruby除了知道之外别无他法。
答案 1 :(得分:0)
这个怎么样:
Dir["/path/to/directory/*.rb"].each {|file| require file }
只需确保您的根目录中有foo
,子目录中的其他文件(否则它将包含在内)