Ruby - 将 lib 中的模块所依赖的资源文件放在哪里?

标签 ruby rubygems ruby-1.9.3

我正在尝试按照最佳实践构建我的 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)。

最佳答案

由于 /lib 必须专门与为您的 gem 提供支持的 Ruby 相关,因此我会将其放在您的 gem 中以其主题命名的顶级目录中。如果它们是包含物种列表的文件,我会将其命名为 /species

如果您有很多外部 Assets ,例如 /assets/species,您也可以按照 Rails 的方式将其放在 /assets 文件夹中。无论哪种方式,我都不会倾向于将它们放在 /lib 中。

关于Ruby - 将 lib 中的模块所依赖的资源文件放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9655601/

相关文章:

ruby - Heroku 数据库 :pull Taps Load Error: no such file to load -- pg

ruby-on-rails - 无法在 Windows 上的 Rails 中安装 libv8 3.11.8.17

ruby - RSpec:模拟、 stub 和验证

ruby - RVM 和具有可执行文件的 gem 的问题

ruby:模块可以自动执行初始化代码吗?

ruby - 如果源无法访问,请忽略 Gemfile `source`

html - 如何忽略 roadie gem 中覆盖桌面样式的媒体查询样式?

ruby-on-rails-3 - 加载错误 : cannot load such file -- test/unit/error

ruby - 将散列转换为名称-值对的字符串

ruby-on-rails - 测试与 rspec-rails 3.0.1 和 shoulda 的关联不起作用