diff --git a/config/initializers/10-patches.rb b/config/initializers/10-patches.rb index d186bcdc4..0ddbcdd06 100644 --- a/config/initializers/10-patches.rb +++ b/config/initializers/10-patches.rb @@ -202,3 +202,16 @@ module ActionController end end end + +module CollectiveIdea + module Acts + module NestedSet + module Model + def leaf_with_new_record? + new_record? || leaf_without_new_record? + end + alias_method_chain :leaf?, :new_record + 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 1a7ceae15..9832a655b 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 @@ -310,7 +310,7 @@ module CollectiveIdea #:nodoc: # Returns true if this is the end of a branch. def leaf? - new_record? || (persisted? && right.to_i - left.to_i == 1) + persisted? && right.to_i - left.to_i == 1 end # Returns true is this is a child node diff --git a/test/unit/issue_nested_set_test.rb b/test/unit/issue_nested_set_test.rb index 3c611be28..899344937 100644 --- a/test/unit/issue_nested_set_test.rb +++ b/test/unit/issue_nested_set_test.rb @@ -24,6 +24,11 @@ class IssueNestedSetTest < ActiveSupport::TestCase :enumerations, :issues + def test_new_record_is_leaf + i = Issue.new + assert i.leaf? + end + def test_create_root_issue issue1 = Issue.generate! issue2 = Issue.generate!