Encrypted Configuration
Provides convenience methods on top of EncryptedFile to access values stored as encrypted YAML.
Values can be accessed via Hash methods, such as fetch and dig, or via dynamic accessor methods, similar to OrderedOptions.
my_config = ActiveSupport::EncryptedConfiguration.new(...)
my_config.read # => "some_secret: 123\nsome_namespace:\n another_secret: 456"
my_config[:some_secret]
# => 123
my_config.some_secret
# => 123
my_config.dig(:some_namespace, :another_secret)
# => 456
my_config.some_namespace.another_secret
# => 456
my_config.fetch(:foo)
# => KeyError
my_config.foo!
# => KeyError
Namespace
Class
Methods
Class Public methods
new(config_path:, key_path:, env_key:, raise_if_missing_key:)
📝 Source code
# File activesupport/lib/active_support/encrypted_configuration.rb, line 48
def initialize(config_path:, key_path:, env_key:, raise_if_missing_key:)
super content_path: config_path, key_path: key_path,
env_key: env_key, raise_if_missing_key: raise_if_missing_key
@config = nil
@options = nil
end
🔎 See on GitHub
Instance Public methods
config()
Returns the decrypted content as a Hash with symbolized keys.
my_config = ActiveSupport::EncryptedConfiguration.new(...)
my_config.read # => "some_secret: 123\nsome_namespace:\n another_secret: 456"
my_config.config
# => { some_secret: 123, some_namespace: { another_secret: 789 } }
📝 Source code
# File activesupport/lib/active_support/encrypted_configuration.rb, line 75
def config
@config ||= deserialize(read).deep_symbolize_keys
end
🔎 See on GitHub
read()
Reads the file and returns the decrypted content. See EncryptedFile#read.
📝 Source code
# File activesupport/lib/active_support/encrypted_configuration.rb, line 56
def read
super
rescue ActiveSupport::EncryptedFile::MissingContentError
# Allow a config to be started without a file present
""
end
🔎 See on GitHub