Принятие параметра либо как отдельного объекта, либо как массива объектов

У меня есть набор функций, которые принимают либо массив объектов, либо один объект, предназначенный для обработки как массив, содержащий один объект, и я ищу более чистый способ сделать это. По сути, я хочу знать, как я могу сделать часть , если только в следующей функции не будет более краткой:

def foo(bar_or_bars)
  unless bar_or_bars.is_a?(Array)
    bar_or_bars = [bar_or_bars]
  end
  bar_or_bars.each { |baz| ... }
end

Любая помощь будет принята с благодарностью! Спасибо.

10
задан user2398029 28 February 2012 в 02:53
поделиться