使用Ruby gem打包只读数据文件

前端之家收集整理的这篇文章主要介绍了使用Ruby gem打包只读数据文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个部署为gem的 Ruby应用程序.我想在gem中包含一个只读数据文件,并且不确定应该如何/在哪里打包

对于一些背景知识,这个应用程序处理MIDI规范,其中包括数百个常量值.例如,控制器“通道音量”总是由值7标识.“维持”由64等标识等…过去,人们已经将这些值作为一大组常量包含在其代码中.这很好,但似乎更适合用语言无关的格式包括yaml

使用GEM_PATH定位yaml文件很难看,并且在非gem部署中使用库时也不起作用.

谢谢您的帮助

解决方法

我不认为RubyGems会对你应该存储这样的文件做出任何断言.我会把它放在lib /下,就像@mkrmr说的那样.我会使用File.expand_path,因为它更少输入并修复了符号链接和移动文件的偶然问题:YAML.load_file(File.expand_path(‘../../ midi_codes.yml’,__ FILE__))

猜你在找的Ruby相关文章