Простой ответ: результат должен быть String, а не массив.
Причиной может быть изменение рубина с 1,8 на 1,9.
Возьмите этот пример кода:
puts ['a', 'b']
puts ['a', 'b'].to_s
puts "#{['a', 'b']}"
С ruby 1.8 вы получаете:
a
b
ab
ab
(Надеюсь, я прав. У меня нет версии ruby 1.8).
С ruby 1.9 вы получаете:
a
b
["a", "b"]
["a", "b"]
Array#to_s
равно Array#inspect
, так как ruby 1.9. Если вам нужно «читаемое», не техническое представление String, вам следует использовать Array#join
.