Sha256: d24c534e195d114e8e1bc46db3500502c7378a4d36ffc3e5c170c3fef08058a9

Contents?: true

Size: 1.31 KB

Versions: 17

Compression:

Stored size: 1.31 KB

Contents

module Rack::Insight
  class TemplatesPanel < Panel
    require "rack/insight/panels/templates_panel/stats"

    def request_start(env, start)
      @stats = Rack::Insight::TemplatesPanel::Stats.new("root")
    end

    def request_finish(env, status, headers, body, timing)
      @stats.finish!
      store(env, @stats)
      @stats = nil
    end

    def before_detect(method_call, args)
      template_name = method_call.object.virtual_path
      rendering = Rendering.new(template_name)
      @stats.begin_record!(rendering)
    end

    def after_detect(method_call, timing, args, result)
      @stats.finish_record!(timing.duration)
    end

    def heading_for_request(number)
      "Templates: #{heading_time(number)}"
    end

    def heading_time(number)
      stat = retrieve(number).first
      if stat.respond_to?(:root)
        if stat.root.respond_to?(:_human_time)
          stat.root._human_time
        end
      end
    end

    def content_for_request(number)
      stat = retrieve(number).first
      rendering_root = stat.root if stat.respond_to?(:root)
      if rendering_root
        render_template 'magic_panel', :magic_insights => rendering_root.children, :name => "Templates: #{(rendering_root._human_time)}"
      else
        render_template 'no_data', :name => self.camelized_name
      end
    end

  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
rack-insight-0.6.4 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.6.3 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.6.2 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.30 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.29 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.28 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.27 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.26 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.25 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.24 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.23 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.22 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.21 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.20 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.19 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.18 lib/rack/insight/panels/templates_panel.rb
rack-insight-0.5.17 lib/rack/insight/panels/templates_panel.rb