class ActiveSupport::CachingKeyGenerator

CachingKeyGenerator is a wrapper around KeyGenerator which allows users to avoid re-executing the key generation process when it's called using the same salt and key_size.

Public Class Methods

new(key_generator) click to toggle source
# File lib/active_support/key_generator.rb, line 31
def initialize(key_generator)
  @key_generator = key_generator
  @cache_keys = Concurrent::Map.new
end

Public Instance Methods

generate_key(*args) click to toggle source

Returns a derived key suitable for use.

# File lib/active_support/key_generator.rb, line 37
def generate_key(*args)
  @cache_keys[args.join] ||= @key_generator.generate_key(*args)
end