From 56ab0f1a9d3c6fec10a67fe3c57399e7f4b5a6dc Mon Sep 17 00:00:00 2001 From: Yehuda Katz Date: Mon, 19 Jan 2009 00:53:42 -0700 Subject: [PATCH] merb_datamapper should hack around a bug in set_timestamps --- merb_datamapper/lib/merb_datamapper.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/merb_datamapper/lib/merb_datamapper.rb b/merb_datamapper/lib/merb_datamapper.rb index 6f771408..088f46be 100644 --- a/merb_datamapper/lib/merb_datamapper.rb +++ b/merb_datamapper/lib/merb_datamapper.rb @@ -68,4 +68,22 @@ def _call_action(*) Merb.add_generators generators / 'data_mapper_model' Merb.add_generators generators / 'data_mapper_resource_controller' Merb.add_generators generators / 'data_mapper_migration' + + # Override bug in DM::Timestamps + Merb::BootLoader.after_app_loads do + module DataMapper + module Timestamp + private + + def set_timestamps + return unless dirty? || new_record? + TIMESTAMP_PROPERTIES.each do |name,(_type,proc)| + if model.properties.has_property?(name) + model.properties[name].set(self, proc.call(self, model.properties[name])) unless attribute_dirty?(name) + end + end + end + end + end + end end