diff --git a/lib/freedom_patches/performance_fixes.rb b/lib/freedom_patches/performance_fixes.rb new file mode 100644 index 00000000000..62e7495bd8a --- /dev/null +++ b/lib/freedom_patches/performance_fixes.rb @@ -0,0 +1,25 @@ +# perf fixes, review for each rails upgrade. + +class ActionView::Helpers::AssetTagHelper::AssetIncludeTag +private + + # pluralization is fairly expensive, and pluralizing the word javascript 400 times is pointless + + def path_to_asset(source, options = {}) + asset_paths.compute_public_path(source, pluralize_asset_name(asset_name), options.merge(:ext => extension)) + end + + + def path_to_asset_source(source) + asset_paths.compute_source_path(source, pluralize_asset_name(asset_name), extension) + end + + + def pluralize_asset_name(asset_name) + @@pluralization_cache ||= {} + plural = @@pluralization_cache[asset_name] ||= asset_name.to_s.pluralize + end + + +end +