From ded15dfc802dec165784949d75ce70987cf5e409 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 7 Jan 2015 20:37:06 +0000 Subject: Moved Project#hierarchy to NestedSet::Traversing. git-svn-id: http://svn.redmine.org/redmine/trunk@13843 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/nested_set/traversing.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/redmine') diff --git a/lib/redmine/nested_set/traversing.rb b/lib/redmine/nested_set/traversing.rb index f1684c00b..5c58f60d6 100644 --- a/lib/redmine/nested_set/traversing.rb +++ b/lib/redmine/nested_set/traversing.rb @@ -111,6 +111,14 @@ module Redmine def is_or_is_descendant_of?(other) other == self || is_descendant_of?(other) end + + # Returns the ancestors, the element and its descendants + def hierarchy + nested_set_scope.where( + "#{self.class.table_name}.lft >= :lft AND #{self.class.table_name}.rgt <= :rgt" + + " OR #{self.class.table_name}.lft < :lft AND #{self.class.table_name}.rgt > :rgt", + {:lft => lft, :rgt => rgt}) + end end end end -- cgit v1.2.3