我一直在尝试找到一种更好的方法来使用ruby_block
中的条件,以避免在Foodcritic对代码进行评估时避免使用 FC022 规则。
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
将通过Footcritic中的 FC022 规则。