2016-12-17 33 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 

使用此策略有沒有必要擔心釋放寶石猛拉前調試代碼。