Namespace
- CLASS ActiveSupport::EncryptedFile::InvalidKeyLengthError
- CLASS ActiveSupport::EncryptedFile::MissingContentError
- CLASS ActiveSupport::EncryptedFile::MissingKeyError
Methods
Constants
| CIPHER | = | "aes-128-gcm" |
Attributes
| [R] | content_path | |
| [R] | env_key | |
| [R] | key_path | |
| [R] | raise_if_missing_key |
Class Public methods
generate_key() Link
new(content_path:, key_path:, env_key:, raise_if_missing_key:) Link
# File activesupport/lib/active_support/encrypted_file.rb, line 42 def initialize(content_path:, key_path:, env_key:, raise_if_missing_key:) @content_path = Pathname.new(content_path).yield_self { |path| path.symlink? ? path.realpath : path } @key_path = Pathname.new(key_path) @env_key, @raise_if_missing_key = env_key, raise_if_missing_key end
Instance Public methods
change(&block) Link
key() Link
Returns the encryption key, first trying the environment variable specified by env_key, then trying the key file specified by key_path. If raise_if_missing_key is true, raises MissingKeyError if the environment variable is not set and the key file does not exist.
read() Link
Reads the file and returns the decrypted content.
Raises:
-
MissingKeyErrorif the key is missing andraise_if_missing_keyis true. -
MissingContentErrorif the encrypted file does not exist or otherwise if the key is missing. -
ActiveSupport::MessageEncryptor::InvalidMessageif the content cannot be decrypted or verified.