Class: BrainzLab::DevTools::Renderers::DebugPanelRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/brainzlab/devtools/renderers/debug_panel_renderer.rb

Instance Method Summary collapse

Constructor Details

#initializeDebugPanelRenderer

Returns a new instance of DebugPanelRenderer.



11
12
13
14
15
16
# File 'lib/brainzlab/devtools/renderers/debug_panel_renderer.rb', line 11

def initialize
  @template_path = File.join(DevTools::ASSETS_PATH, 'templates', 'debug_panel.html.erb')
  # Cache compiled ERB template to avoid file I/O on every request
  @cached_erb = nil
  @template_mtime = nil
end

Instance Method Details

#render(data) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/brainzlab/devtools/renderers/debug_panel_renderer.rb', line 18

def render(data)
  erb = cached_erb

  # Make data available to template
  @data = data
  @timing = data[:timing] || {}
  @request = data[:request] || {}
  @controller = data[:controller] || {}
  @response = data[:response] || {}
  @database = data[:database] || {}
  @views = data[:views] || {}
  @logs = data[:logs] || []
  @memory = data[:memory] || {}
  @user = data[:user]
  @breadcrumbs = data[:breadcrumbs] || []
  @expand_by_default = DevTools.expand_by_default?
  @panel_position = DevTools.panel_position

  erb.result(binding)
end