# Used for compression require 'zlib' # Used to coerce data types between string and their actual types require 'coercible' require 'symmetric_encryption/version' require 'symmetric_encryption/cipher' require 'symmetric_encryption/symmetric_encryption' require 'symmetric_encryption/exception' #@formatter:off module SymmetricEncryption autoload :Coerce, 'symmetric_encryption/coerce' autoload :Config, 'symmetric_encryption/config' autoload :Encoder, 'symmetric_encryption/encoder' autoload :Generator, 'symmetric_encryption/generator' autoload :Header, 'symmetric_encryption/header' autoload :Key, 'symmetric_encryption/key' autoload :Reader, 'symmetric_encryption/reader' autoload :RSAKey, 'symmetric_encryption/rsa_key' autoload :Writer, 'symmetric_encryption/writer' autoload :CLI, 'symmetric_encryption/cli' autoload :Keystore, 'symmetric_encryption/keystore' module Utils autoload :Generate, 'symmetric_encryption/utils/generate' autoload :ReEncryptFiles, 'symmetric_encryption/utils/re_encrypt_files' end end #@formatter:on # Add support for other libraries only if they have already been loaded require 'symmetric_encryption/railtie' if defined?(Rails) if defined?(ActiveRecord::Base) && !defined?(AttrEncrypted::Version) require 'symmetric_encryption/extensions/active_record/base' end require 'symmetric_encryption/railties/symmetric_encryption_validator' if defined?(ActiveModel) require 'symmetric_encryption/extensions/mongoid/encrypted' if defined?(Mongoid) if defined?(MongoMapper) warn 'MongoMapper support is deprecated. Upgrade to Mongoid.' require 'symmetric_encryption/extensions/mongo_mapper/plugins/encrypted_key' end