From b361b43836231896188ee5d39dffe4af5a5858a8 Mon Sep 17 00:00:00 2001 From: Thorsten Eckel Date: Sat, 22 Dec 2018 15:43:03 +0100 Subject: [PATCH] Refactoring: Improving performance by memorizing app_model string generation. --- lib/core_ext/class.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/core_ext/class.rb b/lib/core_ext/class.rb index f46fcee9c..be4a97a5e 100644 --- a/lib/core_ext/class.rb +++ b/lib/core_ext/class.rb @@ -1,15 +1,15 @@ class Class def to_app_model_url - camel_cased_word = to_s - camel_cased_word.gsub(/::/, '_') - .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') - .gsub(/([a-z\d])([A-Z])/, '\1_\2') - .tr('-', '_') - .downcase + @to_app_model_url ||= begin + to_s.gsub(/::/, '_') + .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2') + .gsub(/([a-z\d])([A-Z])/, '\1_\2') + .tr('-', '_') + .downcase + end end def to_app_model - camel_cased_word = to_s - camel_cased_word.gsub(/::/, '').to_sym + @to_app_model ||= to_s.gsub(/::/, '').to_sym end end