Only_if с Loop в Ruby_block для передачи Foodcritic FC022 - PullRequest
0 голосов
/ 08 сентября 2018

Я пытался выяснить, как лучше использовать условие внутри 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.

...