【发布时间】:2011-06-23 01:10:50
【问题描述】:
在使用多阶段扩展的 Capistrano 中,我有两个环境:prod 和 testing。
我在 testing.rb 中需要一些 prod.rb 中不需要的变量,并且我希望我的一些任务能够检查变量是否已定义并在已定义时使用它,但如果已定义则忽略它未设置。
所以,在 testing.rb 中我会有类似的内容:
set :foo, 'bar'
prod.rb 不会有任何对 :foo 的引用,因为它不需要它。在我的一项任务中,我想做类似的事情:
if defined?(foo)
# do something with foo
else
# do something without foo
end
但我不断收到错误消息:
undefined local variable or method 'foo'
有没有办法测试任务中未定义的全局变量?还是我必须做类似的事情:
set :foo, ''
在我所有不需要 :foo 变量的环境中?
【问题讨论】:
标签: ruby capistrano