From 8e7666a488dd1bed415e0a384b044a6f832333cc Mon Sep 17 00:00:00 2001 From: Sean McGivern Date: Mon, 4 Sep 2017 10:53:01 +0100 Subject: Memoize issuable counts in helper This prevents queries being run, even if they do hit AR's query cache. --- app/helpers/issuables_helper.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb index d81ba2c06eb..0748e748738 100644 --- a/app/helpers/issuables_helper.rb +++ b/app/helpers/issuables_helper.rb @@ -240,7 +240,10 @@ module IssuablesHelper def issuables_count_for_state(issuable_type, state) finder = public_send("#{issuable_type}_finder") # rubocop:disable GitlabSecurity/PublicSend - finder.count_by_state[state] + + @counts ||= {} + @counts[issuable_type] ||= finder.count_by_state + @counts[issuable_type][state] end def close_issuable_url(issuable) -- cgit v1.2.1