class WebConsole::Testing::FakeMiddleware
Constants
- DEFAULT_HEADERS
Public Class Methods
new(opts)
click to toggle source
# File lib/web_console/testing/fake_middleware.rb, line 15 def initialize(opts) @headers = opts.fetch(:headers, DEFAULT_HEADERS) @req_path_regex = opts[:req_path_regex] @view_path = opts[:view_path] end
Public Instance Methods
call(env)
click to toggle source
# File lib/web_console/testing/fake_middleware.rb, line 21 def call(env) body = render(req_path(env)) @headers[Rack::CONTENT_LENGTH] = body.bytesize.to_s [ 200, @headers, [ body ] ] end
view()
click to toggle source
# File lib/web_console/testing/fake_middleware.rb, line 28 def view @view = View.with_empty_template_cache.with_view_paths(@view_path) end
Private Instance Methods
render(template)
click to toggle source
# File lib/web_console/testing/fake_middleware.rb, line 39 def render(template) view.render(template: template, layout: nil) end
req_path(env)
click to toggle source
extract target path from REQUEST_PATH
# File lib/web_console/testing/fake_middleware.rb, line 35 def req_path(env) File.basename(env["REQUEST_PATH"].match(@req_path_regex)[1], ".*") end