From 586dfcc795b463fdcf2df7043892e0f17e5ee2e6 Mon Sep 17 00:00:00 2001 From: Sam Saffron <sam.saffron@gmail.com> Date: Tue, 8 Oct 2019 13:43:54 +1100 Subject: [PATCH] PERF: avoid regex for hot path Camelize is called quite a lot in zeitwerk, avoid using a regex here which is far slower than using ends_with? --- lib/freedom_patches/zeitwerk.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/freedom_patches/zeitwerk.rb b/lib/freedom_patches/zeitwerk.rb index 4c68ede4e5d..9cd102aac00 100644 --- a/lib/freedom_patches/zeitwerk.rb +++ b/lib/freedom_patches/zeitwerk.rb @@ -18,8 +18,8 @@ module ActiveSupport::Dependencies::ZeitwerkIntegration::Inflector } def self.camelize(basename, abspath) - return basename.camelize if abspath =~ /onceoff\.rb$/ - return 'Jobs' if abspath =~ /jobs\/base\.rb$/ + return basename.camelize if abspath.ends_with?("onceoff.rb") + return 'Jobs' if abspath.ends_with?("jobs/base.rb") CUSTOM_PATHS.fetch(basename, basename.camelize) end end