Sha256: 6bec3912af1ed94dfdc5393d5518d5854de0381528fc91efad7956467ae9ea59

Contents?: true

Size: 1 KB

Versions: 43

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

module ActiveRecord
  module Encryption
    # An encryption context configures the different entities used to perform encryption:
    #
    # * A key provider
    # * A key generator
    # * An encryptor, the facade to encrypt data
    # * A cipher, the encryption algorithm
    # * A message serializer
    class Context
      PROPERTIES = %i[ key_provider key_generator cipher message_serializer encryptor frozen_encryption ]

      PROPERTIES.each do |name|
        attr_accessor name
      end

      def initialize
        set_defaults
      end

      alias frozen_encryption? frozen_encryption

      private
        def set_defaults
          self.frozen_encryption = false
          self.key_generator = ActiveRecord::Encryption::KeyGenerator.new
          self.cipher = ActiveRecord::Encryption::Cipher.new
          self.encryptor = ActiveRecord::Encryption::Encryptor.new
          self.message_serializer = ActiveRecord::Encryption::MessageSerializer.new
        end
    end
  end
end

Version data entries

43 entries across 41 versions & 6 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.8.7/lib/active_record/encryption/context.rb
activerecord-7.0.8.7 lib/active_record/encryption/context.rb
activerecord-7.0.8.6 lib/active_record/encryption/context.rb
activerecord-7.0.8.5 lib/active_record/encryption/context.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/activerecord-7.0.8.4/lib/active_record/encryption/context.rb
cm-admin-1.5.22 vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.5.1/lib/active_record/encryption/context.rb
cm-admin-1.5.21 vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.5.1/lib/active_record/encryption/context.rb
cm-admin-1.5.20 vendor/bundle/ruby/3.3.0/gems/activerecord-7.0.5.1/lib/active_record/encryption/context.rb
activerecord-7.0.8.4 lib/active_record/encryption/context.rb
activerecord-7.0.8.1 lib/active_record/encryption/context.rb
scrapbook-0.3.2 vendor/ruby/2.7.0/gems/activerecord-7.0.2.3/lib/active_record/encryption/context.rb
scrapbook-0.3.2 vendor/ruby/2.7.0/gems/activerecord-7.0.3.1/lib/active_record/encryption/context.rb
activerecord-7.0.8 lib/active_record/encryption/context.rb
activerecord-7.0.7.2 lib/active_record/encryption/context.rb
activerecord-7.0.7.1 lib/active_record/encryption/context.rb
activerecord-7.0.7 lib/active_record/encryption/context.rb
activerecord-7.0.6 lib/active_record/encryption/context.rb
activerecord-7.0.5.1 lib/active_record/encryption/context.rb
scrapbook-0.3.1 vendor/ruby/2.7.0/gems/activerecord-7.0.2.3/lib/active_record/encryption/context.rb
scrapbook-0.3.1 vendor/ruby/2.7.0/gems/activerecord-7.0.3.1/lib/active_record/encryption/context.rb