From 9fa94326dba11ca3b9197a4f084ba2883c29bdff Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Tue, 29 Mar 2016 11:58:05 +0200 Subject: Memoize object class titles For an issue with around 200 notes this cuts down timings by around 150 milliseconds. --- lib/banzai/filter/abstract_reference_filter.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'lib') 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) -- cgit v1.2.1