2016-12-17 57 views
1

我想知道在我的ruby gem中运行代码的好方法(而不仅仅是通过测试)。从我的宝石宝石中看到输出的好方法是什么?

这意味着我要运行在终端上ruby lib/{gemname}.rb,并能看到一些输出

所以我此行中我基本文件:

$LOAD_PATH.unshift File.expand_path("../../lib", __FILE__) 

,然后我打开一个叫debugger.rb文件通过要求它在基本文件的底部。这个文件然后给我我需要的输出。

这样的工作,但这种杂乱我的代码,我不想意外提交它,看着它在生产中断。

那么这样做的好方法是什么?

+1

也许有帮助http://stackoverflow.com/questions/8545553/best-way-to-debug-third-party-gems-in-ruby –

+1

你有没有考虑创建一个可执行文件来运行你的宝石?这将是一种在命令行上运行它的简单方法。 –

+0

所以是的 - 我这样做,但我需要建立它,每当我想调试的东西。同时在rails应用程序中运行gem,但每当我改变某些东西时,我都会重新启动服务器 –

回答

1

我的开发和调试宝石的方法主要有两个部分:

1)始终使用require_relative包括需要“内部”创业板相关的文件。这允许在安装为宝石时以及在我的开发环境中正常加载宝石(忽略可能已经安装的任何版本的宝石)。

2)然后使用下面的代码片段(通常)在主文件的底部,在基本my_gem.rb文件在命令行上显式运行时激活调试功能。

if __FILE__ == $0 
    #debugging code goes here! 
end 

使用此策略有没有必要担心释放宝石猛拉前调试代码。