Это зависит от того, известно ли условие во время компиляции.Если условие известно во время компиляции, вы можете написать что-то вроде:
test 'Testing the action' do
if ::File.exists?('/tmp/action_exist.txt')
action [:A1, :A2]
else
action [:A2]
end
end
Но это только , если ваши рецепты не играют с /tmp/action_exist.txt
во время выполнения.Если во время конвергенции статус /tmp/action_exist.txt
может измениться, возможно, вам придется заняться чем-то более необычным.Например, вы могли бы уведомить ресурс о немедленном выполнении :A1
в каком-то ресурсе, предшествующем ресурсу.Это не то, что я сделал, поэтому вам, вероятно, нужно будет поэкспериментировать.