diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-03-24 16:41:48 +0100 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-04-01 11:13:30 +0200 |
commit | e7849b0b25390a96881d1f8affd1eadab4e9de62 (patch) | |
tree | 1520ff521f9c885f4987747b167e3be7b8182aad /app/models/snippet.rb | |
parent | 82539cff700931532b22b6a8e3d6832137fc5d55 (diff) | |
download | gitlab-ce-e7849b0b25390a96881d1f8affd1eadab4e9de62.tar.gz |
Memoize reference_pattern/link_reference_patternmemoize-pattern-methods
These methods are called quite often in loops so by memoizing their
output we can reduce timings a bit.
Diffstat (limited to 'app/models/snippet.rb')
-rw-r--r-- | app/models/snippet.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/app/models/snippet.rb b/app/models/snippet.rb index b9e835a4486..b96e3937281 100644 --- a/app/models/snippet.rb +++ b/app/models/snippet.rb @@ -56,14 +56,14 @@ class Snippet < ActiveRecord::Base # # This pattern supports cross-project references. def self.reference_pattern - %r{ + @reference_pattern ||= %r{ (#{Project.reference_pattern})? #{Regexp.escape(reference_prefix)}(?<snippet>\d+) }x end def self.link_reference_pattern - super("snippets", /(?<snippet>\d+)/) + @link_reference_pattern ||= super("snippets", /(?<snippet>\d+)/) end def to_reference(from_project = nil) |