Lazily load profiler hooks

This commit is contained in:
Justin Li
2014-11-12 00:05:01 -05:00
parent 3321cffe08
commit c0aab820ed
4 changed files with 16 additions and 1 deletions
+4 -1
View File
@@ -41,6 +41,10 @@ module Liquid
singleton_class.send(:attr_accessor, :cache_classes)
self.cache_classes = true
def self.load_profiler_hooks
require 'liquid/profiler/hooks'
end
end
require "liquid/version"
@@ -75,4 +79,3 @@ require 'liquid/token'
Dir[File.dirname(__FILE__) + '/liquid/tags/*.rb'].each { |f| require f }
require 'liquid/profiler'
require 'liquid/profiler/hooks'
+4
View File
@@ -70,6 +70,10 @@ module Liquid
end
end
def self.hooks_loaded
false
end
def self.profile_token_render(token)
if Profiler.current_profile && token.respond_to?(:render)
Profiler.current_profile.start_token(token)
+6
View File
@@ -1,4 +1,10 @@
module Liquid
class Profiler
def self.hooks_loaded
true
end
end
class BlockBody
def render_token_with_profiling(token, context)
Profiler.profile_token_render(token) do
+2
View File
@@ -250,6 +250,8 @@ module Liquid
def with_profiling
if @profiling && !@options[:included]
Liquid.load_profiler_hooks unless Profiler.hooks_loaded
@profiler = Profiler.new
@profiler.start