Я пытался выяснить, как лучше использовать условие внутри ruby_block
, чтобы избежать правила FC022 , когда код проверяется Foodcritic.
FC022: состояние ресурса в цикле может работать не так, как ожидалось
Мой код выглядит следующим образом
ruby_block 'file configuration' do
block do
files = [
'/etc/file01.conf',
'/etc/file02.conf',
]
files.each do |f|
file = Chef::Util:FileEdit.new(f)
file.insert_line_if_no_match('something', 'something')
file.write_file
only_if { ::File.exist?(f) }
end
end
Удаление only_if
пройдет правило FC022 в Footcritic.