Sha256: 28174e14b6d2c6601c41d7b994b7fd6b4878e98d8454622d2c0789c308a5ebb9
Contents?: true
Size: 952 Bytes
Versions: 22
Compression:
Stored size: 952 Bytes
Contents
require "active_support/concern" module Rodauth module Rails module Test module Controller extend ActiveSupport::Concern included do setup :setup_rodauth end def process(*) catch_rodauth { super } end ruby2_keywords(:process) if respond_to?(:ruby2_keywords, true) private def setup_rodauth Rodauth::Rails.app.opts[:rodauths].each do |name, auth_class| scope = auth_class.roda_class.new(request.env) request.env[["rodauth", *name].join(".")] = auth_class.new(scope) end end def catch_rodauth(&block) result = catch(:halt, &block) if result.is_a?(Array) # rodauth response response.status = result[0] response.headers.merge! result[1] response.body = result[2] end response end end end end end
Version data entries
22 entries across 22 versions & 1 rubygems