Поддержка вложенных массивов, массивов с числами и символами в ActiveResource
Илья • 2 апреля 2009 г.
Делая API для Бинстолка, столкнулся с большой тупостью ActiveResource, после которой даже подумал перейти на RestClient. Оказалось что ARes не умеет принимать вложенные массивы, или массивы, в которых содержатся символы или цифры. Он умеет загружать только плоские массивы со строками и ничего больше.
Например такой код выбросит исключение:
# changeset объект класса ActiveResource
changeset.load {:files => [["/trunk/bla", "add"], ["/trunk/ble", "delete"]]}
# => ArgumentError: expected an attributes Hash, got ["/trunk/bla", "add"]
То же самое с символами и числами. Простой массив с числами передать ARes не получится.
Абсурд полный! Особенно для библиотеки, которая вроде как перевалила за вторую версию.
В общем я запостил два пачта (под одним тикетом) на лайтхаус: Support for loading nested arrays, numbers and symbols in ActiveResource.
Буду благодарен за плюсики. Сделаем мир лучше, спасём бегемотов в Африке.
2 комментария:
Извините, но комментарии для этой статьи уже закрыты.

Спасибо за интересный пост. Я тоже когда разбирался с ARes заметил немало странностей в нем. Теперь я знаю ещё одну :)
Скорее всего сложившаяся ситуация связано с тем что его не так часто используют, иначе бы уже ко 2 версии его «отшлифовали» и исправили такие нелепые ошибки.
Угу. До сих пор нету поддержки singular resources. Вообще никакой. А патчи отсылать толку нет, никто на них внимания не обращает.