2012-09-17 65 views
2

我正在爲一些工具構建一個web界面,我希望能夠在Bundler上下文中運行命令或gems,就像'bundle exec'命令一樣,除了在我的代碼中。是否可以使用代碼中的「bundle exec」功能?

所以通常情況下,我會在命令行上寫:

bundle exec rspec 

有沒有一種方法,我可以做到同樣的事情,但編程?

回答

2

如果你想運行一些紅寶石捆綁寶石可以只需要「捆綁/設置」:

require 'bundler/setup' 
require 'rspec' # loads the version specified in Gemfile 
+0

所以,如果我設置$ BUNDLE_GEMFILE作爲工具的Gemfile(像捆紮機--binstubs選項),這將在這種情況下運行它? – xiy

+0

是的,它應該。 Binstub就是一個很好的例子。 –

+0

太棒了,謝謝! – xiy

0

你可以在Ruby中用反引號(`)封裝shell命令。

def run_specs 
    `bundle exec rspec | grep foo` 
end 
相關問題