【发布时间】:2012-07-23 17:44:17
【问题描述】:
我知道我可以使用目录中的所有文件
Dir['path/to/files/**/*.rb'].each { |file| require file }
但是,我正在尝试对 gem 设置文件执行此操作,如下所示:
class MyGem
module NS; end
end
Dir['lib/my_gem/files/**/*.rb'].each { |file| require file }
(lib/my_gem/files 中的所有文件都在 MyGem::NS 下命名)。目录结构如下所示:
lib
|-- my_gem
| |-- files
| | |-- file1.rb
| | |-- file2.rb
| | |-- file3.rb
| | `-- ... (many more)
`-- my_gem.rb
my_gem.gemspec
而且,当我在另一个文件中需要我的 gem 时,Dir 命令似乎不起作用,因为它似乎在运行时在我的项目根目录中查找文件路径(无论我有什么项目需要我的宝石)。
如何在lib/my_gem.rb 中要求lib/my_gem/files 中的所有文件?
【问题讨论】: