Мне нужно преобразовать переданный аргумент (отдельный объект или коллекцию) в массив. Я не знаю, что такое аргумент. Если это уже массив, я хочу оставить его, иначе создайте из него одноэлементный массив. Я ищу разрешить как method(:objs => obj)
, так и method(:objs => [obj1, obj2])
Кажется, это лучший способ (Array # to_a возвращает self):
arg = arg.to_a
Но рубиновые документы говорят, что Object#to_a
скоро будет устаревшим. Есть ли удобная замена?
Что-нибудь более сжатое, чем это?
arg = arg.respond_to?(:to_a) ? arg.to_a : [arg]