Чёрная магия ActiveResource

Натолкнулся только что на одну неприятную особенность ActiveResource. Как известно ActiveResource позволяет прозрачно подменять ActiveRecord на клиенте и транслировать запросы отправленные ему на сервер при помощи REST где уже и происходит обращение к БД через ActiveRecord. Такое поведение накладывает ряд ограничений на ActiveResource и заставляет его, в некоторых случаях, вести себя иначе чем ActiveRecord.
Методы update_attribute и update_attributes в ActiveResource
Пока разработчики ActiveResource который месяц пытаются совладать с diff-файлами здесь и здесь и наложить патч который позволит использовать методы ActiveResource#update_attribute и ActiveResource#update_attributes можно воспользоваться немного переработанным мной патчем:
module ActiveResource
class Base
def update_attribute(name, value)
update_attributes(name => value)
end
def update_attributes(attributes)
load(attributes) && save
end
end
end
который нужно положить в каталог <app-root>/config/initializers.
Время не властно над ActiveResource

С ещё одной проблемы связанной с ActiveResource начался сегодня день. Оказывается ActiveResource не поддерживает работу с часовыми поясами (временными зонами) т.е. значение которое находиться в config.time_zone не влияет на формат времени в полях класса ActiveResource. При этом REST-запросы возвращают дату с учётом часового пояса установленного на сервере, но судя по всему, при десериализации значение часового пояса теряется и возвращается дата в формате UTC.

