Class: Rack::WebProfiler::View

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/web_profiler/view.rb

Overview

View

Direct Known Subclasses

Collector::View

Defined Under Namespace

Modules: Helpers Classes: Context

Instance Method Summary collapse

Constructor Details

#initialize(template, layout: nil, context: nil) ⇒ View

Initialize a new view.

Parameters:

  • template (String)

    template file path or content

  • layout (Hash) (defaults to: nil)

    a customizable set of options

  • context (Hash) (defaults to: nil)

    a customizable set of options

Options Hash (layout:):

  • layout (String, nil)

    file path or content

Options Hash (context:):



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rack/web_profiler/view.rb', line 13

def initialize(template, layout: nil, context: nil)
  @template  = template
  @layout    = layout
  @context   = context

  @erb_options = {
    safe_level: nil,
    trim_mode:  "<>-",
    eoutvar:    "@_erbout",
  }
end

Instance Method Details

#contextRack::WebProfiler::View::Context

Get the context.



44
45
46
# File 'lib/rack/web_profiler/view.rb', line 44

def context
  @context ||= Context.new
end

#result(variables = {}) ⇒ String

Get the result of view rendering.

Parameters:

  • variables (Hash, Binding) (defaults to: {})

    view variables

Returns:

  • (String)


30
31
32
33
34
35
36
37
38
39
# File 'lib/rack/web_profiler/view.rb', line 30

def result(variables = {})
  unless @template.nil?
    templates = [read_template(@template)]
    templates << read_template(@layout) unless @layout.nil?

    templates.inject(nil) do |prev, temp|
      render(temp, variables) { prev }
    end
  end
end