diff --git a/activerecord/lib/active_record/mixins/list.rb b/activerecord/lib/active_record/mixins/list.rb index a35731210569d..b75d3d9ca1523 100644 --- a/activerecord/lib/active_record/mixins/list.rb +++ b/activerecord/lib/active_record/mixins/list.rb @@ -28,11 +28,9 @@ module Mixins # todo_list.last.move_higher module List def self.append_features(base) - super - base.class_eval do - before_destroy :remove_from_list - after_create :add_to_list_bottom - end + super + base.before_destroy :remove_from_list + base.after_create :add_to_list_bottom end # Moving around on the list diff --git a/activerecord/lib/active_record/mixins/touch.rb b/activerecord/lib/active_record/mixins/touch.rb index 74a1737caba83..eef041650b8ba 100644 --- a/activerecord/lib/active_record/mixins/touch.rb +++ b/activerecord/lib/active_record/mixins/touch.rb @@ -17,12 +17,13 @@ module Mixins module Touch def self.append_features(base) super - base.class_eval do - before_create :touch_on_create - before_update :touch_on_update + base.before_create :touch_on_create + base.before_update :touch_on_update + + base.class_eval do def touch_on_create - self.created_at = self.updated_at = Time.now + self.updated_at = (self.created_at ||= Time.now) end def touch_on_update