Class: Rails::SessionCookie::Env

Inherits:
Object
  • Object
show all
Defined in:
lib/rails/session_cookie/env.rb

Overview

This merges proper key generator if SECRET_KEY_BASE is explicit and generates additional request env

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(env = nil) ⇒ Env

Returns a new instance of Env.



15
16
17
# File 'lib/rails/session_cookie/env.rb', line 15

def initialize(env = nil)
  @env = env || {}
end

Class Method Details

.rails_key_generator(secret_key_base) ⇒ Object



11
12
13
# File 'lib/rails/session_cookie/env.rb', line 11

def self.rails_key_generator(secret_key_base)
  ActiveSupport::CachingKeyGenerator.new(ActiveSupport::KeyGenerator.new(secret_key_base, iterations: 1000))
end

Instance Method Details

#envObject



19
20
21
22
23
24
25
26
# File 'lib/rails/session_cookie/env.rb', line 19

def env
  return @env unless secret_key_base

  @env.merge(
    ActionDispatch::Cookies::SECRET_KEY_BASE => secret_key_base,
    ActionDispatch::Cookies::GENERATOR_KEY => key_generator
  )
end