From e7849b0b25390a96881d1f8affd1eadab4e9de62 Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Thu, 24 Mar 2016 16:41:48 +0100 Subject: Memoize reference_pattern/link_reference_pattern These methods are called quite often in loops so by memoizing their output we can reduce timings a bit. --- app/models/merge_request.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/models/merge_request.rb') diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 1245cc16d6a..45c3b0a3a66 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -149,14 +149,14 @@ class MergeRequest < ActiveRecord::Base # # This pattern supports cross-project references. def self.reference_pattern - %r{ + @reference_pattern ||= %r{ (#{Project.reference_pattern})? #{Regexp.escape(reference_prefix)}(?\d+) }x end def self.link_reference_pattern - super("merge_requests", /(?\d+)/) + @link_reference_pattern ||= super("merge_requests", /(?\d+)/) end # Returns all the merge requests from an ActiveRecord:Relation. -- cgit v1.2.1