summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/liquid-4.0.4/lib/liquid/profiler/hooks.rb
blob: cb11cd7e9a99a288e65843ccda0248949a44febc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
module Liquid
  class BlockBody
    def render_node_with_profiling(node, output, context, skip_output = false)
      Profiler.profile_node_render(node) do
        render_node_without_profiling(node, output, context, skip_output)
      end
    end

    alias_method :render_node_without_profiling, :render_node_to_output
    alias_method :render_node_to_output, :render_node_with_profiling
  end

  class Include < Tag
    def render_with_profiling(context)
      Profiler.profile_children(context.evaluate(@template_name_expr).to_s) do
        render_without_profiling(context)
      end
    end

    alias_method :render_without_profiling, :render
    alias_method :render, :render_with_profiling
  end
end