Module: Rails::Auth::Principals

Included in:
Rails::Auth
Defined in:
lib/rails/auth/principals.rb

Overview

Functionality for storing principals in the Rack environment

Instance Method Summary collapse

Instance Method Details

#add_principal(env, type, principal) ⇒ Object

Add a principal to the Rack environment

Parameters:

  • :env (Hash)

    Rack environment

  • :type (String)

    principal type to add to the environment

  • :principal (Object)

    principal object to add to the environment



25
26
27
28
29
30
# File 'lib/rails/auth/principals.rb', line 25

def add_principal(env, type, principal)
  principals = env[PRINCIPALS_ENV_KEY] ||= {}

  fail ArgumentError, "principal #{type} already added to request" if principals.key?(type)
  principals[type] = principal
end

#principals(env) ⇒ Object

Obtain principals from a Rack environment

Parameters:

  • :env (Hash)

    Rack environment



15
16
17
# File 'lib/rails/auth/principals.rb', line 15

def principals(env)
  env.fetch(PRINCIPALS_ENV_KEY, {})
end