diff options
-rw-r--r-- | config/initializers/10-patches.rb | 19 | ||||
-rw-r--r-- | lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb | 2 |
2 files changed, 19 insertions, 2 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 diff --git a/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb b/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb index 81ecbc6b3..c831c48fc 100644 --- a/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb +++ b/lib/plugins/awesome_nested_set/lib/awesome_nested_set/awesome_nested_set.rb @@ -593,8 +593,6 @@ module CollectiveIdea #:nodoc: ["#{quoted_right_column_name} = (#{quoted_right_column_name} - ?)", diff] ) - # Reload is needed because children may have updated their parent (self) during deletion. - reload # Don't allow multiple calls to destroy to corrupt the set self.skip_before_destroy = true end |