Capistrano 3设置可选变量 - exists()方法不起作用

时间:2014-08-20 13:40:59

标签: ruby capistrano3

我正在写一个Capistrano部署lib任务,并且我正在尝试设置一个可选变量..即一个默认值,只有在用户的deploy.rb中没有设置时才设置。

我为Capistrano 2找到了以下内容:

if !exists?(fetch(:optional_var))
  set :optional_var, 'optional value'
end

但是在Capistrano 3中,我在运行时遇到NoMethodError: undefined method 'exists?' for main:Object错误。

我已经尝试了defined(),但似乎总是回归真实。

1 个答案:

答案 0 :(得分:2)

您可以查看capistrano-rbenv插件的执行情况here

以下是您的情况:

set :optional_var, fetch(:optional_var, 'optional value')

fetch方法的第二个参数是默认值。