2012-09-17 59 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 
相关问题