ActiveSupport::EncryptedConfiguration (original) (raw)
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 ActiveSupport::EncryptedConfiguration::InvalidContentError
- CLASS ActiveSupport::EncryptedConfiguration::InvalidKeyError
Methods
C
N
R
Class Public methods
new(config_path:, key_path:, env_key:, raise_if_missing_key:)Link
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
Instance Public methods
config()Link
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 } }
def config @config ||= deep_symbolize_keys(deserialize(read)) end
read()Link
Reads the file and returns the decrypted content. See EncryptedFile#read.
def read super rescue ActiveSupport::EncryptedFile::MissingContentError
"" end