summaryrefslogtreecommitdiffstats
path: root/config/initializers/10-patches.rb
diff options
context:
space:
mode:
Diffstat (limited to 'config/initializers/10-patches.rb')
-rw-r--r--config/initializers/10-patches.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/config/initializers/10-patches.rb b/config/initializers/10-patches.rb
index 0ddbcdd06..881206c9e 100644
--- a/config/initializers/10-patches.rb
+++ b/config/initializers/10-patches.rb
@@ -203,6 +203,8 @@ module ActionController
end
end
+require 'awesome_nested_set/version'
+
module CollectiveIdea
module Acts
module NestedSet
@@ -211,6 +213,23 @@ module CollectiveIdea
new_record? || leaf_without_new_record?
end
alias_method_chain :leaf?, :new_record
+ # Reload is needed because children may have updated
+ # their parent (self) during deletion.
+ if ::AwesomeNestedSet::VERSION > "2.1.6"
+ module Prunable
+ def destroy_descendants_with_reload
+ destroy_descendants_without_reload
+ reload
+ end
+ alias_method_chain :destroy_descendants, :reload
+ end
+ else
+ def destroy_descendants_with_reload
+ destroy_descendants_without_reload
+ reload
+ end
+ alias_method_chain :destroy_descendants, :reload
+ end
end
end
end