From 61e20cb29dda5dc5d624ad8b1a34f6033599ee30 Mon Sep 17 00:00:00 2001 From: Gregor Schmidt Date: Mon, 7 Mar 2011 16:32:16 +0100 Subject: [PATCH] Fixing monkey patching of rubytree to be more robust --- lib/redmine/menu_manager.rb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/redmine/menu_manager.rb b/lib/redmine/menu_manager.rb index 996b1c5b..51f8ed64 100644 --- a/lib/redmine/menu_manager.rb +++ b/lib/redmine/menu_manager.rb @@ -23,12 +23,13 @@ module TreeNodePatch base.class_eval do attr_reader :last_items_count - alias :old_initilize :initialize - def initialize(name, content = nil) - old_initilize(name, content) + def initialize_with_redmine(name, content = nil) + extend InstanceMethods @last_items_count = 0 - extend(InstanceMethods) + + initialize_without_redmine(name, content) end + alias_method_chain :initialize, :redmine end end @@ -99,7 +100,9 @@ module TreeNodePatch end end end -Tree::TreeNode.send(:include, TreeNodePatch) +unless Tree::TreeNode.included_modules.include?(TreeNodePatch) + Tree::TreeNode.send(:include, TreeNodePatch) +end module Redmine module MenuManager