class Cryptor::SymmetricEncryption::Keyring

Stores multiple keys for the purposes of key rotation

Public Class Methods

new(*keys) click to toggle source
# File lib/cryptor/symmetric_encryption/keyring.rb, line 7
def initialize(*keys)
  @keys = {}
  keys.each do |key|
    key = SecretKey.new(key) if key.is_a? String
    fail TypeError, "not a valid secret key: #{key.inspect}" unless key.is_a? SecretKey
    @keys[key.fingerprint] = key
  end
end

Public Instance Methods

[](fingerprint)
Alias for: find
find(fingerprint) click to toggle source
# File lib/cryptor/symmetric_encryption/keyring.rb, line 16
def find(fingerprint)
  @keys[fingerprint] || fail(KeyNotFoundError, "no key for fingerprint: #{fingerprint}")
end
Also aliased as: []