class ActiveSupport::CachingKeyGenerator - activesupport-4.2.4 Documentation

# 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 29
    def initialize(key_generator)
      @key_generator = key_generator
      @cache_keys = ThreadSafe::Cache.new
    end

### Public Instance Methods

generate_key(salt, key_size=64) click to toggle source

Returns a derived key suitable for use. The default key_size is chosen to be compatible with the default settings of ActiveSupport::MessageVerifier. i.e. OpenSSL::Digest::SHA1#block_length

    # File lib/active_support/key_generator.rb, line 37
    def generate_key(salt, key_size=64)
      @cache_keys["#{salt}#{key_size}"] ||= @key_generator.generate_key(salt, key_size)
    end