class Rampart::Auth

Public Class Methods

new(app, strategies: {}, serializer: Proc.new{|u| u.id}, session_key: "rampart_session_id") click to toggle source
# File lib/rampart/auth.rb, line 8
def initialize(app, strategies: {}, serializer: Proc.new{|u| u.id}, session_key: "rampart_session_id")
  @app = app
  @strategies = strategies
  @serializer = serializer
  @session_key = session_key
end

Public Instance Methods

call(env) click to toggle source
# File lib/rampart/auth.rb, line 15
def call(env)
  strategy_manager = StrategyManager.new(env)
  @strategies.each { |k,v| strategy_manager.register(k,v) }
  proxy = Proxy.new(strategy_manager, Session.new(env), UserStore.new(Session.new(env), @serializer))

  env["rampart"] = proxy

  catch(:rampart) do
    @app.call(env)
  end
end