Я бы, вероятно, переписал метод примерно так:
def check_header
required_headers = %w[key2 key2 key3]
required_headers.all? { |key| request.headers[key] }
end
Обратите внимание, что вышеприведенная версия имеет то же поведение, что и ваш пример. Если вам действительно нужно проверить наличие значений (пустая строка все еще верна), то вам также нужно проверить present?
.
def check_header
required_headers = %w[key2 key2 key3]
required_headers.all? { |key| request.headers[key].present? }
end
И я бы подумал об использовании константы вместо локальной переменной required_headers
.