class WebConsole::View

Public Instance Methods

only_on_error_page(*args) { || ... } click to toggle source

Execute a block only on error pages.

The error pages are special, because they are the only pages that currently require multiple bindings. We get those from exceptions.

# File lib/web_console/view.rb, line 7
def only_on_error_page(*args)
  yield if Thread.current[:__web_console_exception].present?
end
render(*) click to toggle source

Custom ActionView::Base#render wrapper which silences all the log printings.

Helps to keep the Rails logs clean during errors.

Calls superclass method
# File lib/web_console/view.rb, line 33
def render(*)
  if logger = WebConsole.logger and logger.respond_to?(:silence)
    WebConsole.logger.silence { super }
  else
    super
  end
end
render_inlined_string(template) click to toggle source

Render inlined string to be used inside of JavaScript code.

The inlined string is returned as an actual JavaScript string. You don't need to wrap the result yourself.

# File lib/web_console/view.rb, line 25
def render_inlined_string(template)
  render(template: template, layout: 'layouts/inlined_string')
end
render_javascript(template) click to toggle source

Render JavaScript inside a script tag and a closure.

This one lets write JavaScript that will automatically get wrapped in a script tag and enclosed in a closure, so you don't have to worry for leaking globals, unless you explicitly want to.

# File lib/web_console/view.rb, line 16
def render_javascript(template)
  assign(template: template)
  render(template: template, layout: 'layouts/javascript')
end
t(key, options = {}) click to toggle source

Override method for ActionView::Helpers::TranslationHelper#t.

This method escapes the original return value for JavaScript, since the method returns a HTML tag with some attributes when the key is not found, so it could cause a syntax error if we use the value in the string literals.

Calls superclass method
# File lib/web_console/view.rb, line 46
def t(key, options = {})
  j super
end