我想知道在我的ruby gem中运行代码的好方法(而不仅仅是通过测试)。
这意味着我想在终端上运行ruby lib/{gemname}.rb
并能够看到一些输出
所以我在我的基本文件中有这一行:
$LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
然后我通过在基本文件的底部要求它来加载名为debugger.rb
的文件。然后这个文件给了我需要的输出。
这样可行,但这种混乱使我的代码混乱,我不想意外地提交它并观察它在生产中断。
那么这样做的好方法是什么?
答案 0 :(得分:1)
我开发和调试gem的方法有两个部分:
1)始终使用require_relative来包含所需的"内部"宝石相关文件。这允许gem作为gem安装时正常加载,也可以在我的开发环境中加载(忽略可能已经安装的任何gem版本。)
2)然后在主文件底部使用以下代码片段(通常),以便在命令行上显式运行基本my_gem.rb文件时激活调试功能。
if __FILE__ == $0
#debugging code goes here!
end
通过这种策略,在发布gem之前无需担心调试代码。