我正在尝试按照最佳实践构建我的ruby项目。我现在有这样的事情:
test_project/
bin/
test_project # My Executable
lib/
test_project/
my_module.rb
test_project.rb # Loads my_module.rb
我是根据我在网络上找到的建议以这种方式设置的。
我的问题是我有一些资源文件,“resouce1.txt”和“resouce2.txt”。我的可执行文件需要打开文件“resource1.txt”。 my_module.rb需要能够打开文件“resource2.txt”。我在哪里将这些计划文本资源文件放在这个目录结构中,以及如何从相应的ruby文件中打开它们(File.open)。
先谢谢,
Corsen
答案 0 :(得分:1)
由于/lib
与专门为您的宝石提供支持的Ruby有关,因此我会将其放在宝石中以其主题命名的顶级目录中。如果它们是带有物种清单的文件,我会称之为/species
。
如果您有很多外部资源,例如/assets
,您也可以使用Rails方式并将其放在/assets/species
文件夹中。无论哪种方式,我都不会将它们放在/lib
中。
答案 1 :(得分:0)
我认为这些不存在标准位置,因为大多数情况下它依赖于操作系统(/var
和/etc
vs Program Files
vs Application Bundle)。但你最好的选择(我认为)是将它们放在层次结构的根目录中,将它们放在lib/
中,或者如果它们确实是静态文本文件,则将它们放在脚本中。