В Capistrano с использованием расширения Multi-stage у меня есть две среды: prod и testing .
Мне нужно несколько переменных в testing.rb, которые не нужны в prod.rb, и я хочу, чтобы некоторые из моих задач могли проверять, определена ли переменная, и использовать ее, если она есть, но игнорировать ее, если она not set.
Итак, в test.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?