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