diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2016-03-29 11:58:05 +0200 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2016-04-04 10:44:35 +0200 |
commit | 9fa94326dba11ca3b9197a4f084ba2883c29bdff (patch) | |
tree | 71cbd5083c56fc69ce9bd48d1d8e2a1115f3e611 /lib/banzai | |
parent | 8c49eaa937ed3d4332c54e8b0929c328a85d7fe4 (diff) | |
download | gitlab-ce-9fa94326dba11ca3b9197a4f084ba2883c29bdff.tar.gz |
Memoize object class titles
For an issue with around 200 notes this cuts down timings by around 150
milliseconds.
Diffstat (limited to 'lib/banzai')
-rw-r--r-- | lib/banzai/filter/abstract_reference_filter.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/banzai/filter/abstract_reference_filter.rb b/lib/banzai/filter/abstract_reference_filter.rb index 051b94f9ce1..02ef27cf577 100644 --- a/lib/banzai/filter/abstract_reference_filter.rb +++ b/lib/banzai/filter/abstract_reference_filter.rb @@ -22,6 +22,10 @@ module Banzai @data_reference ||= "data-#{object_name.dasherize}" end + def self.object_class_title + @object_title ||= object_class.name.titleize + end + # Public: Find references in text (like `!123` for merge requests) # # AnyReferenceFilter.references_in(text) do |match, id, project_ref, matches| @@ -53,6 +57,10 @@ module Banzai self.class.object_sym end + def object_class_title + self.class.object_class_title + end + def references_in(*args, &block) self.class.references_in(*args, &block) end @@ -206,7 +214,7 @@ module Banzai end def object_link_title(object) - "#{object_class.name.titleize}: #{object.title}" + "#{object_class_title}: #{object.title}" end def object_link_text(object, matches) |