class RubyEventStore::Mappers::InMemoryEncryptionKeyRepository

Constants

DEFAULT_CIPHER

Public Class Methods

new() click to toggle source
# File lib/ruby_event_store/mappers/in_memory_encryption_key_repository.rb, line 8
def initialize
  @keys = {}
end

Public Instance Methods

create(identifier, cipher: DEFAULT_CIPHER) click to toggle source
# File lib/ruby_event_store/mappers/in_memory_encryption_key_repository.rb, line 16
def create(identifier, cipher: DEFAULT_CIPHER)
  crypto = prepare_encrypt(cipher)
  @keys[[identifier, cipher]] = EncryptionKey.new(cipher: cipher, key: crypto.random_key)
end
forget(identifier) click to toggle source
# File lib/ruby_event_store/mappers/in_memory_encryption_key_repository.rb, line 21
def forget(identifier)
  @keys = @keys.reject { |(id, _)| id.eql?(identifier) }
end
key_of(identifier, cipher: DEFAULT_CIPHER) click to toggle source
# File lib/ruby_event_store/mappers/in_memory_encryption_key_repository.rb, line 12
def key_of(identifier, cipher: DEFAULT_CIPHER)
  @keys[[identifier, cipher]]
end

Private Instance Methods

prepare_encrypt(cipher) click to toggle source
# File lib/ruby_event_store/mappers/in_memory_encryption_key_repository.rb, line 27
def prepare_encrypt(cipher)
  crypto = OpenSSL::Cipher.new(cipher)
  crypto.encrypt
  crypto
end