Как упоминалось в предыдущем ответе, скобки ... они также делают его более читабельным. Несмотря на это, это ужасное условие для одной строки ..
если вы хотите сократить его, вы можете изменить его на:
unless (parameter.values & ["", 0]).any? || [0, nil, []].include?(parameter[:num_units])
(массив [0, nil, []]
предполагает, что пустое значение parameter[:num_units]
, которое вы проверяете, является массивом - если вместо этого используется хеш, тогда, очевидно, переключите массив сравнения на [0, nil, {}]