使用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__))

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...