我正在研究一個命令行實用程序的某人的寶石分支。這裏的目錄結構的總體概述:Gem開發工作流程
bin/
bin/foo
lib/
lib/foo.rb
lib/foo/bar.rb (etc)
爲了測試它,我常做這樣的事情:
cd bin/
./foo <args>
但我希望能夠用它從任何目錄(像它會一次安裝)。我的問題是,如果可以實現這一點,而無需每次在我的系統上安裝gem。
我在這第一次嘗試創建符號鏈接foo腳本,這是對我的路徑,但這個食堂在腳本中的require 'foo'
線以來File.dirname(__FILE__)
現指到哪裏符號鏈接創建。
有沒有這樣做的常見方法?
(哦,這裏是從foo
腳本中的相關行)
#!/usr/bin/env ruby
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
require 'rubygems'
require 'foo'
(EDIT)
我所知道的測試庫的正常方式(即rake test
等) - - 我特別感興趣的是使用任何目錄中的腳本,而不必在每次更改時重新安裝gem(如果可能)。
爲了測試你有rspec/test :: unit/cucumber/etc。一旦這些測試是「綠色」,安裝寶石並測試你自己。如果你堅持自己的方式,可以將文件的位置添加到路徑中,而不是符號鏈接。 – Jakobinsky
(看丹尼斯的回答評論) – mportiz08
@ mportiz08你們每個人都找到了一種方法來做到這一點? – blackjid