Вы можете найти нарушение в документах RuboCop, например, Style / SymbolProc - обычно показывает «плохой» и «хороший» пример:
# bad
something.map { |s| s.upcase }
# good
something.map(&:upcase)
Если это не поможет, вы можете иметь RuboCop с автокоррекцией нападение (для полицейских, поддерживающих автокоррекцию, подобных этой).
Данный файл test.rb
:
# frozen_string_literal: true
File.open(file_name, 'r') { |file| file.read }
Выполнить rubocop -a
: (фактический вывод зависит от вашей конфигурации)
$ rubocop -a test.rb
Inspecting 1 file
C
Offenses:
test.rb:3:27: C: [Corrected] Style/SymbolProc: Pass &:read as an argument to open instead of a block.
File.open(file_name, 'r') { |file| file.read }
^^^^^^^^^^^^^^^^^^^^
1 file inspected, 1 offense detected, 1 offense corrected
И test.rb
станет:
# frozen_string_literal: true
File.open(file_name, 'r', &:read)