Memoizing root_ancestor in Namespace

The root_ancestor method is heavily used in EE for the group_saml
feature. Having this memoization implemented in CE would eliminate
the need of overriding the root_ancestor method in EE.
This commit is contained in:
Adam Hegyi 2019-07-02 08:19:46 +00:00 committed by Thong Kuah
parent ebf289fded
commit b8563dadc0

View file

@ -250,7 +250,9 @@ class Namespace < ApplicationRecord
end
def root_ancestor
self_and_ancestors.reorder(nil).find_by(parent_id: nil)
strong_memoize(:root_ancestor) do
self_and_ancestors.reorder(nil).find_by(parent_id: nil)
end
end
def subgroup?