module WebConsole::ControllerHelpers
Public Instance Methods
console(binding = nil)
click to toggle source
Helper for capturing a controller binding to prepare for console rendering.
# File lib/web_console/controller_helpers.rb, line 17 def console(binding = nil) @_console_binding = binding || ::Kernel.binding.of_caller(1) end
Private Instance Methods
can_render_console?()
click to toggle source
# File lib/web_console/controller_helpers.rb, line 34 def can_render_console? console_binding && !console_already_rendered && html_format? && whitelisted_ip? end
html_format?()
click to toggle source
# File lib/web_console/controller_helpers.rb, line 38 def html_format? content_type == Mime::HTML end
inject_console_into_view()
click to toggle source
Attempt to inject an interactive console to a view.
# File lib/web_console/controller_helpers.rb, line 24 def inject_console_into_view return unless can_render_console? console_html = ActionView::Base.new(ActionController::Base.view_paths, console_session: REPLSession.create(binding: @_console_binding) ).render(partial: 'rescues/web_console') response.body = response.body + console_html end
whitelisted_ip?()
click to toggle source
# File lib/web_console/controller_helpers.rb, line 42 def whitelisted_ip? request.remote_ip.in?(WebConsole.config.whitelisted_ips) end